From fee61c16949e751364c81846e8ec0dab8b7551e0 Mon Sep 17 00:00:00 2001 From: "U-garnet\\tamada" Date: Fri, 7 May 2010 20:26:59 +0900 Subject: [PATCH] update --- cflib/pom.xml | 2 +- .../stigmata/birthmarks/ControlFlowGraph.java | 1 - .../birthmarks/ControlFlowGraphExtractVisitor.java | 18 ++++++++++++++---- .../stigmata/birthmarks/OpcodeExtractListener.java | 2 +- .../birthmarks/OpcodeExtractMethodVisitor.java | 2 +- .../wsp/StackPatternBasedBirthmarkExtractor.java | 6 +++--- .../wsp/StackPatternBasedBirthmarkService.java | 8 ++++---- 7 files changed, 24 insertions(+), 15 deletions(-) diff --git a/cflib/pom.xml b/cflib/pom.xml index eafc650..fc1aa28 100644 --- a/cflib/pom.xml +++ b/cflib/pom.xml @@ -8,7 +8,7 @@ jp.sourceforge.stigmata.plugins cflib - 1.0.1-SNAPSHOT + 1.0.0 cflib http://stigmata.sourceforge.jp/stigmata/plugins/cflib/ diff --git a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraph.java b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraph.java index d70f507..d2be811 100644 --- a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraph.java +++ b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraph.java @@ -19,7 +19,6 @@ import org.objectweb.asm.tree.TryCatchBlockNode; /** * コントロールフローを表すクラス. * @author tamada - * */ public class ControlFlowGraph { private BasicBlock[] blocks; diff --git a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraphExtractVisitor.java b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraphExtractVisitor.java index 4a22861..2057dd4 100644 --- a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraphExtractVisitor.java +++ b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/ControlFlowGraphExtractVisitor.java @@ -4,7 +4,9 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; -import org.objectweb.asm.ClassAdapter; +import jp.sourceforge.stigmata.Birthmark; +import jp.sourceforge.stigmata.BirthmarkContext; + import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.tree.MethodNode; @@ -14,11 +16,19 @@ import org.objectweb.asm.tree.MethodNode; * * @author tamada */ -public class ControlFlowGraphExtractVisitor extends ClassAdapter{ +public class ControlFlowGraphExtractVisitor extends BirthmarkExtractVisitor{ private Map opcodesMap = new LinkedHashMap(); - public ControlFlowGraphExtractVisitor(ClassVisitor visitor){ - super(visitor); + public ControlFlowGraphExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkContext context){ + super(visitor, birthmark, context); + } + + /** + * テストのためのコンストラクタ. + * @param visitor + */ + ControlFlowGraphExtractVisitor(ClassVisitor visitor){ + super(visitor, null, null); } public Iterator getMethodNames(){ diff --git a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractListener.java b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractListener.java index 3474912..be945ef 100644 --- a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractListener.java +++ b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractListener.java @@ -12,5 +12,5 @@ import java.util.List; * @version $Revision$ */ public interface OpcodeExtractListener{ - public void extractOpcodesFinished(List opcodes); + public void opcodesExtracted(List opcodes); } diff --git a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractMethodVisitor.java b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractMethodVisitor.java index 3b919f8..7e7254b 100644 --- a/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractMethodVisitor.java +++ b/cflib/src/main/java/jp/sourceforge/stigmata/birthmarks/OpcodeExtractMethodVisitor.java @@ -164,7 +164,7 @@ public class OpcodeExtractMethodVisitor extends MethodAdapter{ @Override public void visitEnd(){ for(OpcodeExtractListener listener: listeners){ - listener.extractOpcodesFinished(opcodes); + listener.opcodesExtracted(opcodes); } } } diff --git a/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkExtractor.java b/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkExtractor.java index db88032..af08551 100644 --- a/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkExtractor.java +++ b/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkExtractor.java @@ -21,7 +21,7 @@ import jp.sourceforge.stigmata.birthmarks.Opcode; import jp.sourceforge.stigmata.birthmarks.OpcodeExtractVisitor; import jp.sourceforge.stigmata.spi.BirthmarkSpi; -import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.Label; /** @@ -35,8 +35,8 @@ public class StackPatternBasedBirthmarkExtractor extends ASMBirthmarkExtractor{ } @Override - public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkContext context){ - return new OpcodeExtractVisitor(writer, birthmark, context, new WSPBirthmarkElementBuilder()); + public BirthmarkExtractVisitor createExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkContext context){ + return new OpcodeExtractVisitor(visitor, birthmark, context, new WSPBirthmarkElementBuilder()); } @Override diff --git a/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkService.java b/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkService.java index 70231af..60aeb1b 100644 --- a/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkService.java +++ b/wsp/src/main/java/jp/sourceforge/stigmata/birthmarks/wsp/StackPatternBasedBirthmarkService.java @@ -12,7 +12,7 @@ import jp.sourceforge.stigmata.birthmarks.AbstractBirthmarkService; /** * Weighted Stack Pattern based birthmark. - * + * * this birthmark is proposed by LIM et al. in following papers. *
    *
  • Hyun-il Lim, Heewan Park, Seokwoo Choi, Taisook Han, ``Detecting Theft @@ -23,7 +23,7 @@ import jp.sourceforge.stigmata.birthmarks.AbstractBirthmarkService; * Birthmark Based on Operand Stack Behaviors,'' In Proc. of 2008 International * Conference on Information Security and Assurance, pp.133-136, April 2008.
  • *
- * + * * @author Haruaki Tamada * @version $Revision$ */ @@ -43,8 +43,8 @@ public class StackPatternBasedBirthmarkService extends AbstractBirthmarkService{ } @Override - public boolean isExpert(){ - return false; + public boolean isExperimental(){ + return true; } @Override -- 2.11.0