SandMark version 2.0


sandmark.obfuscate.classsplitter
Class FalseRefactor

java.lang.Object
  |
  +--sandmark.Algorithm
        |
        +--sandmark.obfuscate.GeneralObfuscator
              |
              +--sandmark.obfuscate.AppObfuscator
                    |
                    +--sandmark.obfuscate.classsplitter.FalseRefactor

public class FalseRefactor
extends AppObfuscator


Field Summary
(package private)  java.lang.String baseClassName
           
(package private)  java.lang.String baseClassName1
           
(package private)  EDU.purdue.cs.bloat.editor.ClassEditor classEditor
           
(package private) static EDU.purdue.cs.bloat.editor.ClassEditor classEditor1
           
(package private) static EDU.purdue.cs.bloat.editor.ClassEditor classEditor2
           
(package private)  EDU.purdue.cs.bloat.file.ClassFile classFile
           
(package private) static EDU.purdue.cs.bloat.file.ClassFile classFile1
           
(package private) static EDU.purdue.cs.bloat.file.ClassFile classFile2
           
(package private)  java.lang.String classname1
           
(package private)  java.lang.String classname2
           
(package private) static EDU.purdue.cs.bloat.editor.ConstantPool constantPool1
           
(package private) static EDU.purdue.cs.bloat.editor.ConstantPool constantPool2
           
(package private) static EDU.purdue.cs.bloat.reflect.Constant[] constants1
           
(package private) static EDU.purdue.cs.bloat.reflect.Constant[] constants2
           
(package private)  TempDir dir
           
(package private) static EDU.purdue.cs.bloat.editor.FieldEditor fe1
           
(package private) static EDU.purdue.cs.bloat.editor.FieldEditor fe2
           
(package private)  EDU.purdue.cs.bloat.reflect.ClassInfo info
           
(package private) static EDU.purdue.cs.bloat.reflect.ClassInfo info1
           
(package private) static EDU.purdue.cs.bloat.reflect.ClassInfo info2
           
(package private)  boolean interface_flag
           
(package private)  EDU.purdue.cs.bloat.file.ClassFileLoader loader
           
(package private) static EDU.purdue.cs.bloat.file.ClassFileLoader loader1
           
(package private) static EDU.purdue.cs.bloat.file.ClassFileLoader loader2
           
(package private)  EDU.purdue.cs.bloat.file.Method[] methods1
           
(package private)  EDU.purdue.cs.bloat.file.Method[] methods2
           
 
Constructor Summary
FalseRefactor()
           
 
Method Summary
 void addempty(java.lang.String str)
           
 void addMethod(java.lang.String file1, java.lang.String file2)
           
 void adjustSubClass(int s)
          In the second class file under consideration , the corresponding victim * field's declaration & refs should be changed according to the name present* in the super class *
 void apply(ClassFileCollection cfc)
          Applies this obfuscation to a program contained in a ClassFileCollection.
 void createClass(EDU.purdue.cs.bloat.editor.FieldEditor fieldEditor1, EDU.purdue.cs.bloat.editor.FieldEditor fieldEditor2)
          Creates the super class with the first classFile's field included in the * super class ; the corresponding field entry is deleted from the first class *
 void doRefactoring(java.lang.String file1, java.lang.String file2)
           
 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.
 boolean getInterfaceFlag()
           
 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 FalseRefactor
 
Methods inherited from class sandmark.obfuscate.AppObfuscator
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

classFile1

static EDU.purdue.cs.bloat.file.ClassFile classFile1

classFile2

static EDU.purdue.cs.bloat.file.ClassFile classFile2

loader1

static EDU.purdue.cs.bloat.file.ClassFileLoader loader1

loader2

static EDU.purdue.cs.bloat.file.ClassFileLoader loader2

classEditor1

static EDU.purdue.cs.bloat.editor.ClassEditor classEditor1

classEditor2

static EDU.purdue.cs.bloat.editor.ClassEditor classEditor2

info1

static EDU.purdue.cs.bloat.reflect.ClassInfo info1

info2

static EDU.purdue.cs.bloat.reflect.ClassInfo info2

constantPool1

static EDU.purdue.cs.bloat.editor.ConstantPool constantPool1

constantPool2

static EDU.purdue.cs.bloat.editor.ConstantPool constantPool2

constants1

static EDU.purdue.cs.bloat.reflect.Constant[] constants1

constants2

static EDU.purdue.cs.bloat.reflect.Constant[] constants2

fe2

static EDU.purdue.cs.bloat.editor.FieldEditor fe2

fe1

static EDU.purdue.cs.bloat.editor.FieldEditor fe1

classEditor

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

loader

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

classFile

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

info

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

methods1

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

methods2

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

interface_flag

boolean interface_flag

baseClassName

java.lang.String baseClassName

baseClassName1

java.lang.String baseClassName1

dir

TempDir dir

classname1

java.lang.String classname1

classname2

java.lang.String classname2
Constructor Detail

FalseRefactor

public FalseRefactor()
Method Detail

apply

public void apply(ClassFileCollection cfc)
Description copied from class: AppObfuscator
Applies this obfuscation to a program contained in a ClassFileCollection.

Specified by:
apply in class AppObfuscator
Parameters:
cfc -

addMethod

public void addMethod(java.lang.String file1,
                      java.lang.String file2)

getInterfaceFlag

public boolean getInterfaceFlag()

doRefactoring

public void doRefactoring(java.lang.String file1,
                          java.lang.String file2)

adjustSubClass

public void adjustSubClass(int s)
In the second class file under consideration , the corresponding victim * field's declaration & refs should be changed according to the name present* in the super class *


createClass

public void createClass(EDU.purdue.cs.bloat.editor.FieldEditor fieldEditor1,
                        EDU.purdue.cs.bloat.editor.FieldEditor fieldEditor2)
Creates the super class with the first classFile's field included in the * super class ; the corresponding field entry is deleted from the first class *


addempty

public void addempty(java.lang.String str)

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 FalseRefactor

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

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002