sandmark.watermark.objectwm
Class Insertion
java.lang.Object
|
+--sandmark.watermark.objectwm.Insertion
- public class Insertion
- extends java.lang.Object
Field Summary |
(package private) static de.fub.bytecode.generic.Instruction |
bipushObj
|
(package private) static de.fub.bytecode.generic.InstructionHandle[] |
branchInstrHandles
|
(package private) static de.fub.bytecode.generic.ClassGen |
cgObj
|
(package private) static java.lang.String |
className
|
(package private) static de.fub.bytecode.generic.ConstantPoolGen |
cpgObj
|
(package private) static de.fub.bytecode.classfile.ConstantPool |
cpObj
|
(package private) static boolean[] |
firstOpaq1insert
|
(package private) static de.fub.bytecode.generic.FieldInstruction |
getstaticObj
|
(package private) static de.fub.bytecode.generic.InstructionHandle |
ihEmbedStartObj
|
(package private) static int |
incrVector
|
(package private) static de.fub.bytecode.generic.InstructionList |
instrListObj
|
(package private) static de.fub.bytecode.classfile.JavaClass |
jcObj
|
(package private) static int |
localIndexObj
|
(package private) static int[] |
mark
|
(package private) static int |
methodNameSuffix
|
(package private) static de.fub.bytecode.generic.MethodGen |
mgObj
|
(package private) static de.fub.bytecode.generic.NEWARRAY |
naObj
|
(package private) int |
numClasses
|
(package private) static int |
numEmbedOptions
|
(package private) static int[][] |
numInstr
|
(package private) static java.util.Vector |
numMethods
|
(package private) static int |
numOpaquePredOptions
|
(package private) static de.fub.bytecode.classfile.Method |
oldmethod
|
(package private) static int[] |
opaq1varW
|
(package private) static int[] |
opaq1varX
|
(package private) static int[] |
opaq1varY
|
(package private) static int[] |
opaq1varZ
|
(package private) static de.fub.bytecode.classfile.ClassParser |
pObj
|
(package private) static de.fub.bytecode.generic.FieldInstruction |
putstaticObj
|
(package private) static int |
statVarSuffix
|
(package private) static de.fub.bytecode.generic.InstructionHandle |
targetHandleObj
|
(package private) static int[] |
vecfreq
|
Constructor Summary |
(package private) |
Insertion()
|
Method Summary |
(package private) boolean |
checkSplitVectorGrp(int instrIndex,
de.fub.bytecode.generic.InstructionHandle[] instrHandles)
|
(package private) int |
codeMatch(java.lang.String[] str1,
java.lang.String[] str2,
int numInstr)
|
de.fub.bytecode.generic.Instruction |
extractInstrType(java.lang.String instr)
|
(package private) de.fub.bytecode.generic.InstructionHandle |
getCodeSubstPoint(java.lang.String[] instrGrp,
int numInstr,
java.lang.String[] origCodeStr)
|
void |
getInsertLocation(java.lang.Integer[] index)
|
(package private) int |
getLocalVarIndex_CreateIndex()
|
(package private) int |
getOpaqueDeclPoint(int mIndex)
|
int |
getRandomValue(int low,
int high)
|
static void |
init_Opaqs()
|
(package private) void |
insertOpaque0(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
|
(package private) void |
insertOpaque1(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget,
int mIndex)
|
(package private) void |
insertOpaque2(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
|
(package private) void |
insertOpaque3(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
|
void |
modifyCode(java.util.Vector wmVector)
Entry procedure for this 'Insertion' class |
int |
newcopyMethod_Embed(java.lang.String[] instrGrpInstr,
int numInstr,
int numVectors,
int currVecIndex)
|
void |
newsubstituteInstruction_Embed(java.lang.String[] substInstr,
int numInstr)
|
(package private) int |
remVecfreqUpdatesInThreshold(int numVectors,
int currVecIndex)
|
void |
substituteCode(de.fub.bytecode.generic.InstructionHandle insertih,
java.lang.String[] subInstr,
int numInstr)
|
void |
substituteNewCode(de.fub.bytecode.generic.InstructionHandle insertih,
java.lang.String[] subInstr,
int numInstr)
|
(package private) java.lang.String |
transformCode(java.lang.String subInstr)
|
(package private) int |
varTypeIsInt(int varIndex)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
incrVector
static int incrVector
methodNameSuffix
static int methodNameSuffix
statVarSuffix
static int statVarSuffix
className
static java.lang.String className
numEmbedOptions
static int numEmbedOptions
numOpaquePredOptions
static int numOpaquePredOptions
pObj
static de.fub.bytecode.classfile.ClassParser pObj
jcObj
static de.fub.bytecode.classfile.JavaClass jcObj
cgObj
static de.fub.bytecode.generic.ClassGen cgObj
cpObj
static de.fub.bytecode.classfile.ConstantPool cpObj
cpgObj
static de.fub.bytecode.generic.ConstantPoolGen cpgObj
mgObj
static de.fub.bytecode.generic.MethodGen mgObj
instrListObj
static de.fub.bytecode.generic.InstructionList instrListObj
putstaticObj
static de.fub.bytecode.generic.FieldInstruction putstaticObj
getstaticObj
static de.fub.bytecode.generic.FieldInstruction getstaticObj
naObj
static de.fub.bytecode.generic.NEWARRAY naObj
bipushObj
static de.fub.bytecode.generic.Instruction bipushObj
localIndexObj
static int localIndexObj
targetHandleObj
static de.fub.bytecode.generic.InstructionHandle targetHandleObj
oldmethod
static de.fub.bytecode.classfile.Method oldmethod
ihEmbedStartObj
static de.fub.bytecode.generic.InstructionHandle ihEmbedStartObj
branchInstrHandles
static de.fub.bytecode.generic.InstructionHandle[] branchInstrHandles
vecfreq
static int[] vecfreq
numClasses
int numClasses
numMethods
static java.util.Vector numMethods
numInstr
static int[][] numInstr
mark
static int[] mark
opaq1varW
static int[] opaq1varW
opaq1varX
static int[] opaq1varX
opaq1varY
static int[] opaq1varY
opaq1varZ
static int[] opaq1varZ
firstOpaq1insert
static boolean[] firstOpaq1insert
Insertion
Insertion()
init_Opaqs
public static void init_Opaqs()
getRandomValue
public int getRandomValue(int low,
int high)
getInsertLocation
public void getInsertLocation(java.lang.Integer[] index)
extractInstrType
public de.fub.bytecode.generic.Instruction extractInstrType(java.lang.String instr)
insertOpaque0
void insertOpaque0(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
insertOpaque1
void insertOpaque1(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget,
int mIndex)
insertOpaque2
void insertOpaque2(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
insertOpaque3
void insertOpaque3(de.fub.bytecode.generic.InstructionList iListOpaque,
de.fub.bytecode.generic.InstructionHandle ihStart,
de.fub.bytecode.generic.InstructionHandle ihOpaque,
de.fub.bytecode.generic.InstructionHandle ihJumpTarget)
codeMatch
int codeMatch(java.lang.String[] str1,
java.lang.String[] str2,
int numInstr)
getCodeSubstPoint
de.fub.bytecode.generic.InstructionHandle getCodeSubstPoint(java.lang.String[] instrGrp,
int numInstr,
java.lang.String[] origCodeStr)
throws WatermarkingException,
java.io.IOException,
de.fub.bytecode.generic.TargetLostException
WatermarkingException
java.io.IOException
de.fub.bytecode.generic.TargetLostException
substituteCode
public void substituteCode(de.fub.bytecode.generic.InstructionHandle insertih,
java.lang.String[] subInstr,
int numInstr)
varTypeIsInt
int varTypeIsInt(int varIndex)
getLocalVarIndex_CreateIndex
int getLocalVarIndex_CreateIndex()
transformCode
java.lang.String transformCode(java.lang.String subInstr)
substituteNewCode
public void substituteNewCode(de.fub.bytecode.generic.InstructionHandle insertih,
java.lang.String[] subInstr,
int numInstr)
getOpaqueDeclPoint
int getOpaqueDeclPoint(int mIndex)
checkSplitVectorGrp
boolean checkSplitVectorGrp(int instrIndex,
de.fub.bytecode.generic.InstructionHandle[] instrHandles)
newsubstituteInstruction_Embed
public void newsubstituteInstruction_Embed(java.lang.String[] substInstr,
int numInstr)
throws java.io.IOException
java.io.IOException
remVecfreqUpdatesInThreshold
int remVecfreqUpdatesInThreshold(int numVectors,
int currVecIndex)
newcopyMethod_Embed
public int newcopyMethod_Embed(java.lang.String[] instrGrpInstr,
int numInstr,
int numVectors,
int currVecIndex)
throws java.io.IOException
java.io.IOException
modifyCode
public void modifyCode(java.util.Vector wmVector)
throws java.io.IOException,
WatermarkingException,
de.fub.bytecode.generic.TargetLostException
- Entry procedure for this 'Insertion' class
java.io.IOException
WatermarkingException
de.fub.bytecode.generic.TargetLostException