SandMark version 2.0


sandmark.obfuscate.boguspredicates
Class bogusPredicates

java.lang.Object
  |
  +--sandmark.Algorithm
        |
        +--sandmark.obfuscate.GeneralObfuscator
              |
              +--sandmark.obfuscate.ClassObfuscator
                    |
                    +--sandmark.obfuscate.boguspredicates.bogusPredicates

public class bogusPredicates
extends ClassObfuscator


Field Summary
(package private)  EDU.purdue.cs.bloat.context.PersistentBloatContext bloatContext
           
(package private)  EDU.purdue.cs.bloat.editor.ClassEditor classEditor
           
(package private)  EDU.purdue.cs.bloat.file.ClassFile classFile
           
(package private)  Editor editor
           
(package private)  EDU.purdue.cs.bloat.reflect.ClassInfo info
           
(package private)  EDU.purdue.cs.bloat.inline.Inline inline
           
(package private)  EDU.purdue.cs.bloat.file.ClassFileLoader loader
           
(package private)  EDU.purdue.cs.bloat.reflect.MethodInfo[] methodInfo
           
(package private)  EDU.purdue.cs.bloat.file.Method[] methods
           
(package private)  java.util.ArrayList pred_list
           
 
Constructor Summary
bogusPredicates()
           
 
Method Summary
 void addPredicates(java.lang.String filename, ClassFileCollection cfcn)
           
 void apply(ClassFileCollection cfc, java.lang.String classname)
          Applies this obfuscation to a class in a ClassFileCollection.
 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.
 ConfigProperties getConfigProperties()
          Gets the ConfigProperties object which specifies the parameters for this run of the algorithm.
 java.lang.String getLongName()
          Specifies this algorithm's long name.
 java.lang.String getShortName()
          Specifies this algorithm's short name.
 void setConfigProperties(ConfigProperties props)
          Set the properties of Bogus Predicates
 
Methods inherited from class sandmark.obfuscate.ClassObfuscator
toString
 
Methods inherited from class sandmark.Algorithm
getAuthor, getAuthorEmail, getDescription, getMutations, 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

loader

EDU.purdue.cs.bloat.file.ClassFileLoader loader

info

EDU.purdue.cs.bloat.reflect.ClassInfo info

classFile

EDU.purdue.cs.bloat.file.ClassFile classFile

methods

EDU.purdue.cs.bloat.file.Method[] methods

bloatContext

EDU.purdue.cs.bloat.context.PersistentBloatContext bloatContext

classEditor

EDU.purdue.cs.bloat.editor.ClassEditor classEditor

inline

EDU.purdue.cs.bloat.inline.Inline inline

methodInfo

EDU.purdue.cs.bloat.reflect.MethodInfo[] methodInfo

editor

Editor editor

pred_list

java.util.ArrayList pred_list
Constructor Detail

bogusPredicates

public bogusPredicates()
Method Detail

addPredicates

public void addPredicates(java.lang.String filename,
                          ClassFileCollection cfcn)

getShortName

public java.lang.String getShortName()
Description copied from class: Algorithm
Specifies this algorithm's short name. A short name should be no longer than 20 characters, and contain capitalized space delimited words (i.e. title case). For example, an obfuscation that sets all of the fields in a jar file to public scoping should have a short name like "Set Fields Public".

Specified by:
getShortName in class Algorithm
Returns:
the short name for this algorithm

getLongName

public java.lang.String getLongName()
Description copied from class: Algorithm
Specifies this algorithm's long name. There is no limit on the size of the long name, but it should be in title case.

Specified by:
getLongName in class Algorithm
Returns:
the long name for this algorithm

getConfigProperties

public ConfigProperties getConfigProperties()
Description copied from class: Algorithm
Gets the ConfigProperties object which specifies the parameters for this run of the algorithm.

Specified by:
getConfigProperties in class Algorithm
Returns:
the parameters for this run of the algorithm

setConfigProperties

public void setConfigProperties(ConfigProperties props)
Set the properties of Bogus Predicates

Specified by:
setConfigProperties in class Algorithm
Parameters:
props -

getAlgHTML

public java.lang.String getAlgHTML()
Description copied from class: Algorithm
Gives a description of what the algorithm does. This should not be a long description of what your code does, rather a brief description as to what effect it has on the program. For example, a good algorithm description would be "Set Fields Public changes the scope of all static and non-static fields to public."; a bad algorithm description would be "Set Fields Public creates a BCEL object for each class and makes modifications to it, then stores it back into the jar file."

Specified by:
getAlgHTML in class Algorithm
Returns:
an HTML formatted description of what the algorithm does.

getAlgURL

public java.lang.String getAlgURL()
Description copied from class: Algorithm
Specifies the URL of where the user can find more information about the algorithm. This URL should point to the help.html file in the doc directory where the algorithm resides, starting from the sandmark directory. For example, the URL for the static_template watermarking sample would be sandmark/watermark/static_template/doc/help.html

Specified by:
getAlgURL in class Algorithm
Returns:
a URL to the help.html file for the algorithm

apply

public void apply(ClassFileCollection cfc,
                  java.lang.String classname)
           throws java.lang.Exception
Description copied from class: ClassObfuscator
Applies this obfuscation to a class in a ClassFileCollection.

Specified by:
apply in class ClassObfuscator
Parameters:
cfc -
classname -
java.lang.Exception

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002