SandMark version 3.0


sandmark.obfuscate.loop
Class ObfuscationLoop

java.lang.Object
  |
  +--sandmark.obfuscate.loop.ObfuscationLoop
Direct Known Subclasses:
ObfuscationLoop2

public class ObfuscationLoop
extends java.lang.Object

ObfuscationLoop is an application level obfuscator that runs a random subset of the obfuscations over different pieces of the application. The set of obfuscations is determined by the dependency information provided by each algorithm, and the level of obfuscation requested for each application fragment.

Author:
Kelly Heffner

Field Summary
static boolean DEBUG
          Debugging flag used by the author.
protected  java.util.ArrayList myCandidatePool
           
 
Constructor Summary
ObfuscationLoop()
          Creates an ObfuscationLoop object.
 
Method Summary
 void apply(ClassFileCollection cfc)
          Runs a series of different obfuscation algorithms on the class file collection.
 java.lang.String getAlgHTML()
           
 java.lang.String getAlgURL()
           
 java.lang.String getAuthor()
           
 java.lang.String getAuthorEmail()
           
 ConfigProperties getConfigProperties()
           
 java.lang.String getDescription()
           
 java.lang.String getLongName()
           
 ModificationProperty[] getMutations()
           
 java.lang.String getShortName()
           
protected  void initializeAlgorithms()
           
protected  ApplicationObject[] initObjects(ClassFileCollection cfc, Stats stats)
           
static void main(java.lang.String[] args)
          A command line testing method.
 void setConfigProperties(ConfigProperties p)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
Debugging flag used by the author.

See Also:
Constant Field Values

myCandidatePool

protected java.util.ArrayList myCandidatePool
Constructor Detail

ObfuscationLoop

public ObfuscationLoop()
Creates an ObfuscationLoop object.

Method Detail

initializeAlgorithms

protected void initializeAlgorithms()

apply

public void apply(ClassFileCollection cfc)
           throws java.lang.Exception
Runs a series of different obfuscation algorithms on the class file collection.

Parameters:
cfc - the classes to obfuscate
java.lang.Exception

initObjects

protected ApplicationObject[] initObjects(ClassFileCollection cfc,
                                          Stats stats)
                                   throws java.io.IOException
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
A command line testing method.

Parameters:
args - args[0] should contain the name of the jar file to obfuscate
java.lang.Exception

getShortName

public java.lang.String getShortName()

getLongName

public java.lang.String getLongName()

getAuthor

public java.lang.String getAuthor()

getAuthorEmail

public java.lang.String getAuthorEmail()

getAlgURL

public java.lang.String getAlgURL()

getAlgHTML

public java.lang.String getAlgHTML()

getDescription

public java.lang.String getDescription()

getConfigProperties

public ConfigProperties getConfigProperties()

setConfigProperties

public void setConfigProperties(ConfigProperties p)

getMutations

public ModificationProperty[] getMutations()

SandMark version 3.0

Wed Jan 29 10:30:05 MST 2003