public class ClassObfuscator extends SimplifiedVisitor implements ClassVisitor, AttributeVisitor, InnerClassesInfoVisitor, ConstantVisitor
ClassVisitor comes up with obfuscated names for the
classes it visits, and for their class members. The actual renaming is
done afterward.ClassRenamer| Constructor and Description |
|---|
ClassObfuscator(ClassPool programClassPool,
DictionaryNameFactory classNameFactory,
DictionaryNameFactory packageNameFactory,
boolean useMixedCaseClassNames,
List keepPackageNames,
String flattenPackageHierarchy,
String repackageClasses,
boolean allowAccessModification)
Creates a new ClassObfuscator.
|
| Modifier and Type | Method and Description |
|---|---|
void |
visitAnyAttribute(Clazz clazz,
Attribute attribute)
Visit any type of attribute.
|
void |
visitClassConstant(Clazz clazz,
ClassConstant classConstant) |
void |
visitEnclosingMethodAttribute(Clazz clazz,
EnclosingMethodAttribute enclosingMethodAttribute) |
void |
visitInnerClassesAttribute(Clazz clazz,
InnerClassesAttribute innerClassesAttribute) |
void |
visitInnerClassesInfo(Clazz clazz,
InnerClassesInfo innerClassesInfo) |
void |
visitLibraryClass(LibraryClass libraryClass) |
void |
visitProgramClass(ProgramClass programClass) |
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyTargetInfo, visitAnyTypeAnnotationsAttribute, visitAnyVerificationType, visitArrayElementValue, visitBootstrapMethodsAttribute, visitBranchInstruction, visitCatchTargetInfo, visitClassElementValue, visitCodeAttribute, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEnumConstantElementValue, visitExceptionsAttribute, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFormalParameterTargetInfo, visitFullFrame, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLessZeroFrame, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTargetInfo, visitLocalVariableTypeTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodHandleConstant, visitMethodParametersAttribute, visitMethodrefConstant, visitMethodTypeConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitOffsetTargetInfo, visitProgramField, visitProgramMember, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSuperTypeTargetInfo, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitThrowsTargetInfo, visitTopType, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeArgumentTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterTargetInfo, visitTypeParameterTargetInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitAnnotationDefaultAttribute, visitBootstrapMethodsAttribute, visitCodeAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitExceptionsAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitMethodParametersAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttributevisitDoubleConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitNameAndTypeConstant, visitStringConstant, visitUtf8Constantpublic ClassObfuscator(ClassPool programClassPool, DictionaryNameFactory classNameFactory, DictionaryNameFactory packageNameFactory, boolean useMixedCaseClassNames, List keepPackageNames, String flattenPackageHierarchy, String repackageClasses, boolean allowAccessModification)
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.public void visitProgramClass(ProgramClass programClass)
visitProgramClass in interface ClassVisitorvisitProgramClass in class SimplifiedVisitorpublic void visitLibraryClass(LibraryClass libraryClass)
visitLibraryClass in interface ClassVisitorvisitLibraryClass in class SimplifiedVisitorpublic void visitAnyAttribute(Clazz clazz, Attribute attribute)
SimplifiedVisitorvisitAnyAttribute in class SimplifiedVisitorpublic void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
visitInnerClassesAttribute in interface AttributeVisitorvisitInnerClassesAttribute in class SimplifiedVisitorpublic void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)
visitEnclosingMethodAttribute in interface AttributeVisitorvisitEnclosingMethodAttribute in class SimplifiedVisitorpublic void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
visitInnerClassesInfo in interface InnerClassesInfoVisitorpublic void visitClassConstant(Clazz clazz, ClassConstant classConstant)
visitClassConstant in interface ConstantVisitorvisitClassConstant in class SimplifiedVisitorCopyright © 2015. All Rights Reserved.