|
SandMark version 3.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sandmark.Algorithm | +--sandmark.obfuscate.GeneralObfuscator | +--sandmark.obfuscate.AppObfuscator | +--sandmark.obfuscate.UltimateReorderer.ConstantPoolReorderer.CPReorderer
CPReorderer ,reorders all the constants in the constantpool. The constantpool indices are randomly assigned some unique index within the length of the constantpool, and changes should also be made to reflect w.r.to indices in the constant pool.
Field Summary | |
(package private) int |
cplen
|
(package private) int |
cur_mtd
|
(package private) boolean |
errflag
|
(package private) de.fub.bytecode.generic.Instruction[] |
in
|
(package private) int |
lvindex
|
(package private) int |
no_of_locals
|
Constructor Summary | |
CPReorderer()
Constructor |
Method Summary | |
void |
apply(ClassFileCollection cfc)
Calls the other methods to obfuscate the class file |
void |
dump(ClassFileCollection cfc)
Dump the changes back to the jar file |
int |
editIndex(int instrtype,
int k,
int newval,
de.fub.bytecode.generic.InstructionList local_il,
int[] local_pos)
|
java.lang.String |
getAlgHTML()
Gives a description of what the algorithm does. |
java.lang.String |
getAlgURL()
Specifies the URL of where the user can find more information about the algorithm. |
java.lang.String |
getAuthor()
Specifies the author of the algorithm. |
java.lang.String |
getAuthorEmail()
Specifies the email address author of the algorithm. |
ConfigProperties |
getConfigProperties()
Get the properties of NodeSplitter |
java.lang.String |
getDescription()
Specifies what this algorithm does, briefly. |
java.lang.String |
getLongName()
Specifies this algorithm's long name. |
ModificationProperty[] |
getMutations()
Specifies the types of modifications that the algorithm makes. |
java.lang.String |
getShortName()
Specifies this algorithm's short name. |
int |
initialize(ClassFileCollection cfc,
java.lang.String classname)
Gets all the BCEL bytecode editing class objects up and running |
void |
makechangestoClassGen(java.util.Hashtable ht)
|
void |
makechangestoCode(java.util.Hashtable ht,
de.fub.bytecode.generic.ConstantPoolGen newone)
|
void |
randomCPindexgen(java.lang.String classname)
The main function that coordinates the calls to all other functions which actually do the algorithm |
int |
search(int[] intf,
int index)
|
void |
setConfigProperties(ConfigProperties props)
Set the properties of NodeSplitter |
Methods inherited from class sandmark.obfuscate.AppObfuscator |
toString |
Methods inherited from class sandmark.Algorithm |
getPostprohibited, getPostrequisites, getPostsuggestions, getPreprohibited, getPrerequisites, getPresuggestions, getReferences |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
de.fub.bytecode.generic.Instruction[] in
boolean errflag
int no_of_locals
int lvindex
int cur_mtd
int cplen
Constructor Detail |
public CPReorderer()
Method Detail |
public int initialize(ClassFileCollection cfc, java.lang.String classname)
cfc
- classname
- public void makechangestoClassGen(java.util.Hashtable ht)
public int search(int[] intf, int index)
public void randomCPindexgen(java.lang.String classname)
public void makechangestoCode(java.util.Hashtable ht, de.fub.bytecode.generic.ConstantPoolGen newone)
public int editIndex(int instrtype, int k, int newval, de.fub.bytecode.generic.InstructionList local_il, int[] local_pos)
public void apply(ClassFileCollection cfc) throws java.lang.Exception
apply
in class AppObfuscator
cfc
-
java.lang.Exception
public void dump(ClassFileCollection cfc)
cfc
- public ModificationProperty[] getMutations()
Algorithm
ModificationProperty
.
getMutations
in class Algorithm
public ConfigProperties getConfigProperties()
getConfigProperties
in class Algorithm
public void setConfigProperties(ConfigProperties props)
setConfigProperties
in class Algorithm
props
- public java.lang.String getShortName()
Algorithm
getShortName
in class Algorithm
public java.lang.String getDescription()
Algorithm
getDescription
in class Algorithm
public java.lang.String getAuthor()
Algorithm
getAuthor
in class Algorithm
public java.lang.String getAuthorEmail()
Algorithm
getAuthorEmail
in class Algorithm
public java.lang.String getLongName()
Algorithm
getLongName
in class Algorithm
public java.lang.String getAlgHTML()
Algorithm
getAlgHTML
in class Algorithm
public java.lang.String getAlgURL()
Algorithm
getAlgURL
in class Algorithm
|
SandMark version 3.0 Wed Jan 29 10:30:05 MST 2003 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |