|
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.LVReorderer.LVReorderer
LVReorderer ,reorders only local variables and no parameter reordering is done. The local variables are randomly assigned some unique index within the range of maximium number of locals ,and changes should also be made to reflect w.r.to read and write references .
Field Summary | |
(package private) int |
arr_assign_end
|
(package private) int |
arr_assign_start
|
(package private) int |
arr1_lvindex
|
(package private) int |
arr2_lvindex
|
(package private) int |
arraycount
|
(package private) byte |
arraytype
|
(package private) int |
cur_mtd
|
(package private) int |
delcount
|
(package private) boolean |
errflag
|
(package private) de.fub.bytecode.generic.Instruction[] |
in
|
(package private) int |
increase
|
(package private) int |
len_of_array
|
(package private) int |
lvindex
|
(package private) int |
no_of_locals
|
(package private) int |
poscount
|
(package private) int |
returnhandle
|
Constructor Summary | |
LVReorderer()
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 |
modifyLVindices(java.lang.String classname)
The main function that coordinates the calls to all other functions which actually do the algorithm |
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 |
boolean errflag
de.fub.bytecode.generic.Instruction[] in
int arraycount
int returnhandle
int no_of_locals
int len_of_array
int arr1_lvindex
int arr2_lvindex
int arr_assign_start
int arr_assign_end
int lvindex
int poscount
int delcount
byte arraytype
int increase
int cur_mtd
Constructor Detail |
public LVReorderer()
Method Detail |
public int initialize(ClassFileCollection cfc, java.lang.String classname)
cfc
- classname
- public void modifyLVindices(java.lang.String classname)
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 |