proguard.obfuscate
Class ClassObfuscator
java.lang.Object
proguard.classfile.util.SimplifiedVisitor
proguard.obfuscate.ClassObfuscator
- All Implemented Interfaces:
- AttributeVisitor, InnerClassesInfoVisitor, ConstantVisitor, ClassVisitor
public class ClassObfuscator
- extends SimplifiedVisitor
- implements ClassVisitor, AttributeVisitor, InnerClassesInfoVisitor, ConstantVisitor
This ClassVisitor comes up with obfuscated names for the
classes it visits, and for their class members. The actual renaming is
done afterward.
- See Also:
ClassRenamer
|
Constructor Summary |
ClassObfuscator(ClassPool programClassPool,
DictionaryNameFactory classNameFactory,
DictionaryNameFactory packageNameFactory,
boolean useMixedCaseClassNames,
java.util.List keepPackageNames,
java.lang.String flattenPackageHierarchy,
java.lang.String repackageClasses,
boolean allowAccessModification)
Creates a new ClassObfuscator. |
| Methods inherited from class proguard.classfile.util.SimplifiedVisitor |
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitArrayElementValue, visitBranchInstruction, visitClassElementValue, visitCodeAttribute, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnumConstantElementValue, visitExceptionsAttribute, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFullFrame, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramField, visitProgramMember, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitTopType, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedType |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface proguard.classfile.attribute.visitor.AttributeVisitor |
visitAnnotationDefaultAttribute, visitCodeAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitExceptionsAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute |
ClassObfuscator
public ClassObfuscator(ClassPool programClassPool,
DictionaryNameFactory classNameFactory,
DictionaryNameFactory packageNameFactory,
boolean useMixedCaseClassNames,
java.util.List keepPackageNames,
java.lang.String flattenPackageHierarchy,
java.lang.String repackageClasses,
boolean allowAccessModification)
- Creates a new ClassObfuscator.
- Parameters:
programClassPool - the class pool in which class names
have to be unique.classNameFactory - the optional class obfuscation dictionary.packageNameFactory - the optional package obfuscation
dictionary.useMixedCaseClassNames - specifies whether obfuscated packages and
classes can get mixed-case names.keepPackageNames - the optional filter for which matching
package names are kept.flattenPackageHierarchy - the base package if the obfuscated package
hierarchy is to be flattened.repackageClasses - the base package if the obfuscated classes
are to be repackaged.allowAccessModification - specifies whether obfuscated classes can
be freely moved between packages.
visitProgramClass
public void visitProgramClass(ProgramClass programClass)
- Specified by:
visitProgramClass in interface ClassVisitor- Overrides:
visitProgramClass in class SimplifiedVisitor
visitAnyAttribute
public void visitAnyAttribute(Clazz clazz,
Attribute attribute)
- Description copied from class:
SimplifiedVisitor
- Visit any type of attribute.
- Overrides:
visitAnyAttribute in class SimplifiedVisitor
visitInnerClassesAttribute
public void visitInnerClassesAttribute(Clazz clazz,
InnerClassesAttribute innerClassesAttribute)
- Specified by:
visitInnerClassesAttribute in interface AttributeVisitor- Overrides:
visitInnerClassesAttribute in class SimplifiedVisitor
visitEnclosingMethodAttribute
public void visitEnclosingMethodAttribute(Clazz clazz,
EnclosingMethodAttribute enclosingMethodAttribute)
- Specified by:
visitEnclosingMethodAttribute in interface AttributeVisitor- Overrides:
visitEnclosingMethodAttribute in class SimplifiedVisitor
visitInnerClassesInfo
public void visitInnerClassesInfo(Clazz clazz,
InnerClassesInfo innerClassesInfo)
- Specified by:
visitInnerClassesInfo in interface InnerClassesInfoVisitor
visitClassConstant
public void visitClassConstant(Clazz clazz,
ClassConstant classConstant)
- Specified by:
visitClassConstant in interface ConstantVisitor- Overrides:
visitClassConstant in class SimplifiedVisitor