【例子介绍】proguard(java代码混淆器)v5.3.3官方版
proguard是一个java代码混淆工具,并提供了图形化用户界面,它也可以结合Ant或J2ME Wireless Toolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、...
【相关图片】
【源码结构】
文件清单
└── proguard5.3.3
├── bin
│ ├── proguard.bat
│ ├── proguardgui.bat
│ ├── proguardgui.sh
│ ├── proguard.sh
│ ├── retrace.bat
│ └── retrace.sh
├── buildscripts
│ ├── build.gradle
│ ├── build.properties
│ ├── build.sh
│ ├── build.xml
│ ├── makefile
│ ├── maven
│ │ ├── ant
│ │ │ └── pom.xml
│ │ ├── base
│ │ │ └── pom.xml
│ │ ├── gradle
│ │ │ └── pom.xml
│ │ ├── gui
│ │ │ └── pom.xml
│ │ ├── pom.xml
│ │ ├── retrace
│ │ │ └── pom.xml
│ │ └── wtk
│ │ └── pom.xml
│ └── README
├── docs
│ ├── android_shades.png
│ ├── checkmark.gif
│ ├── dexguard.png
│ ├── drop1.gif
│ ├── drop2.gif
│ ├── drop3.gif
│ ├── favicon.ico
│ ├── fonts
│ │ ├── OpenSans-Bold.eot
│ │ ├── OpenSans-Bold.svg
│ │ ├── OpenSans-Bold.ttf
│ │ ├── OpenSans-Bold.woff
│ │ ├── OpenSans-Italic.eot
│ │ ├── OpenSans-Italic.svg
│ │ ├── OpenSans-Italic.ttf
│ │ ├── OpenSans-Italic.woff
│ │ ├── OpenSans-Regular.eot
│ │ ├── OpenSans-Regular.svg
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Regular.woff
│ ├── guardsquare.png
│ ├── manual
│ │ ├── android_small.png
│ │ ├── attention.gif
│ │ ├── retrace
│ │ └── style.css
│ ├── proguard.appdata.xml
│ ├── screenshot_console.gif
│ ├── screenshot_console_small.gif
│ ├── screenshot_gui1.gif
│ ├── screenshot_gui2.gif
│ ├── screenshot_gui3.gif
│ ├── screenshot_gui4.gif
│ ├── screenshot_gui5.gif
│ ├── screenshot_gui6.gif
│ ├── screenshot_gui7.gif
│ ├── screenshot_gui8.gif
│ ├── screenshots_gui_small.gif
│ ├── sflogo.png
│ ├── steel.gif
│ ├── style.css
│ └── title.gif
├── examples
│ ├── android.pro
│ ├── annotations
│ │ ├── examples
│ │ │ ├── Applet.java
│ │ │ ├── Application.java
│ │ │ ├── Bean.java
│ │ │ └── NativeCallBack.java
│ │ ├── examples.pro
│ │ ├── lib
│ │ │ ├── annotations.jar
│ │ │ └── annotations.pro
│ │ └── src
│ │ └── proguard
│ │ └── annotation
│ │ ├── KeepApplication.java
│ │ ├── KeepClassMemberNames.java
│ │ ├── KeepClassMembers.java
│ │ ├── KeepGettersSetters.java
│ │ ├── KeepImplementations.java
│ │ ├── Keep.java
│ │ ├── KeepName.java
│ │ ├── KeepPublicClassMemberNames.java
│ │ ├── KeepPublicClassMembers.java
│ │ ├── KeepPublicGettersSetters.java
│ │ ├── KeepPublicImplementations.java
│ │ ├── KeepPublicProtectedClassMemberNames.java
│ │ └── KeepPublicProtectedClassMembers.java
│ ├── ant
│ │ ├── applets.xml
│ │ ├── applications1.xml
│ │ ├── applications2.xml
│ │ ├── applications3.xml
│ │ ├── library.xml
│ │ ├── midlets.xml
│ │ ├── proguard.xml
│ │ └── servlets.xml
│ ├── applets.pro
│ ├── applications.pro
│ ├── dictionaries
│ ├── gradle
│ │ ├── android.gradle
│ │ ├── applets.gradle
│ │ ├── applications.gradle
│ │ ├── library.gradle
│ │ ├── midlets.gradle
│ │ ├── proguardall.gradle
│ │ ├── proguard.gradle
│ │ ├── proguardgui.gradle
│ │ ├── retrace.gradle
│ │ ├── scala.gradle
│ │ └── servlets.gradle
│ ├── library.pro
│ ├── midlets.pro
│ ├── proguardall.pro
│ ├── proguardgui.pro
│ ├── proguard.pro
│ ├── retrace.pro
│ ├── scala.pro
│ └── servlets.pro
├── lib
│ ├── proguardgui.jar
│ ├── proguard.jar
│ └── retrace.jar
├── README
└── src
└── proguard
├── ant
│ ├── ClassPathElement.java
│ ├── ClassSpecificationElement.java
│ ├── ConfigurationElement.java
│ ├── ConfigurationTask.java
│ ├── FilterElement.java
│ ├── KeepSpecificationElement.java
│ ├── MemberSpecificationElement.java
│ ├── ProGuardTask.java
│ └── task.properties
├── ArgumentWordReader.java
├── AssumeNoSideEffectsChecker.java
├── classfile
│ ├── attribute
│ │ ├── annotation
│ │ │ ├── AnnotationDefaultAttribute.java
│ │ │ ├── AnnotationElementValue.java
│ │ │ ├── Annotation.java
│ │ │ ├── AnnotationsAttribute.java
│ │ │ ├── ArrayElementValue.java
│ │ │ ├── ClassElementValue.java
│ │ │ ├── ConstantElementValue.java
│ │ │ ├── ElementValue.java
│ │ │ ├── EnumConstantElementValue.java
│ │ │ ├── ParameterAnnotationsAttribute.java
│ │ │ ├── RuntimeInvisibleAnnotationsAttribute.java
│ │ │ ├── RuntimeInvisibleParameterAnnotationsAttribute.java
│ │ │ ├── RuntimeInvisibleTypeAnnotationsAttribute.java
│ │ │ ├── RuntimeVisibleAnnotationsAttribute.java
│ │ │ ├── RuntimeVisibleParameterAnnotationsAttribute.java
│ │ │ ├── RuntimeVisibleTypeAnnotationsAttribute.java
│ │ │ ├── target
│ │ │ │ ├── CatchTargetInfo.java
│ │ │ │ ├── EmptyTargetInfo.java
│ │ │ │ ├── FormalParameterTargetInfo.java
│ │ │ │ ├── LocalVariableTargetElement.java
│ │ │ │ ├── LocalVariableTargetInfo.java
│ │ │ │ ├── OffsetTargetInfo.java
│ │ │ │ ├── SuperTypeTargetInfo.java
│ │ │ │ ├── TargetInfo.java
│ │ │ │ ├── ThrowsTargetInfo.java
│ │ │ │ ├── TypeArgumentTargetInfo.java
│ │ │ │ ├── TypeParameterBoundTargetInfo.java
│ │ │ │ ├── TypeParameterTargetInfo.java
│ │ │ │ └── visitor
│ │ │ │ ├── LocalVariableTargetElementVisitor.java
│ │ │ │ └── TargetInfoVisitor.java
│ │ │ ├── TypeAnnotation.java
│ │ │ ├── TypeAnnotationsAttribute.java
│ │ │ ├── TypePathInfo.java
│ │ │ └── visitor
│ │ │ ├── AllAnnotationVisitor.java
│ │ │ ├── AllElementValueVisitor.java
│ │ │ ├── AnnotatedClassVisitor.java
│ │ │ ├── AnnotationToMemberVisitor.java
│ │ │ ├── AnnotationTypeFilter.java
│ │ │ ├── AnnotationVisitor.java
│ │ │ ├── ElementValueVisitor.java
│ │ │ ├── TypeAnnotationVisitor.java
│ │ │ └── TypePathInfoVisitor.java
│ │ ├── Attribute.java
│ │ ├── BootstrapMethodInfo.java
│ │ ├── BootstrapMethodsAttribute.java
│ │ ├── CodeAttribute.java
│ │ ├── ConstantValueAttribute.java
│ │ ├── DeprecatedAttribute.java
│ │ ├── EnclosingMethodAttribute.java
│ │ ├── ExceptionInfo.java
│ │ ├── ExceptionsAttribute.java
│ │ ├── ExtendedLineNumberInfo.java
│ │ ├── InnerClassesAttribute.java
│ │ ├── InnerClassesInfo.java
│ │ ├── LineNumberInfo.java
│ │ ├── LineNumberTableAttribute.java
│ │ ├── LocalVariableInfo.java
│ │ ├── LocalVariableTableAttribute.java
│ │ ├── LocalVariableTypeInfo.java
│ │ ├── LocalVariableTypeTableAttribute.java
│ │ ├── MethodParametersAttribute.java
│ │ ├── ParameterInfo.java
│ │ ├── preverification
│ │ │ ├── DoubleType.java
│ │ │ ├── FloatType.java
│ │ │ ├── FullFrame.java
│ │ │ ├── IntegerType.java
│ │ │ ├── LessZeroFrame.java
│ │ │ ├── LongType.java
│ │ │ ├── MoreZeroFrame.java
│ │ │ ├── NullType.java
│ │ │ ├── ObjectType.java
│ │ │ ├── SameOneFrame.java
│ │ │ ├── SameZeroFrame.java
│ │ │ ├── StackMapAttribute.java
│ │ │ ├── StackMapFrame.java
│ │ │ ├── StackMapTableAttribute.java
│ │ │ ├── TopType.java
│ │ │ ├── UninitializedThisType.java
│ │ │ ├── UninitializedType.java
│ │ │ ├── VerificationTypeFactory.java
│ │ │ ├── VerificationType.java
│ │ │ └── visitor
│ │ │ ├── StackMapFrameVisitor.java
│ │ │ └── VerificationTypeVisitor.java
│ │ ├── SignatureAttribute.java
│ │ ├── SourceDirAttribute.java
│ │ ├── SourceFileAttribute.java
│ │ ├── SyntheticAttribute.java
│ │ ├── UnknownAttribute.java
│ │ └── visitor
│ │ ├── AllAttributeVisitor.java
│ │ ├── AllBootstrapMethodInfoVisitor.java
│ │ ├── AllExceptionInfoVisitor.java
│ │ ├── AllInnerClassesInfoVisitor.java
│ │ ├── AllLineNumberInfoVisitor.java
│ │ ├── AttributeNameFilter.java
│ │ ├── AttributeVisitor.java
│ │ ├── BootstrapMethodInfoVisitor.java
│ │ ├── ExceptionInfoVisitor.java
│ │ ├── InnerClassesInfoVisitor.java
│ │ ├── LineNumberInfoVisitor.java
│ │ ├── LineNumberRangeFinder.java
│ │ ├── LocalVariableInfoVisitor.java
│ │ ├── LocalVariableTypeInfoVisitor.java
│ │ ├── MultiAttributeVisitor.java
│ │ ├── NonEmptyAttributeFilter.java
│ │ ├── ParameterInfoVisitor.java
│ │ ├── RequiredAttributeFilter.java
│ │ └── StackSizeComputer.java
│ ├── ClassConstants.java
│ ├── ClassPool.java
│ ├── Clazz.java
│ ├── constant
│ │ ├── ClassConstant.java
│ │ ├── Constant.java
│ │ ├── DoubleConstant.java
│ │ ├── FieldrefConstant.java
│ │ ├── FloatConstant.java
│ │ ├── IntegerConstant.java
│ │ ├── InterfaceMethodrefConstant.java
│ │ ├── InvokeDynamicConstant.java
│ │ ├── LongConstant.java
│ │ ├── MethodHandleConstant.java
│ │ ├── MethodrefConstant.java
│ │ ├── MethodTypeConstant.java
│ │ ├── NameAndTypeConstant.java
│ │ ├── RefConstant.java
│ │ ├── StringConstant.java
│ │ ├── Utf8Constant.java
│ │ └── visitor
│ │ ├── AllConstantVisitor.java
│ │ ├── BootstrapMethodArgumentVisitor.java
│ │ ├── BootstrapMethodHandleTraveler.java
│ │ ├── ConstantTagFilter.java
│ │ ├── ConstantVisitor.java
│ │ ├── ExceptClassConstantFilter.java
│ │ ├── MethodrefTraveler.java
│ │ └── SuperClassConstantVisitor.java
│ ├── editor
│ │ ├── AccessFixer.java
│ │ ├── AnnotationAdder.java
│ │ ├── AnnotationsAttributeEditor.java
│ │ ├── AttributeAdder.java
│ │ ├── AttributesEditor.java
│ │ ├── AttributeSorter.java
│ │ ├── BootstrapMethodInfoAdder.java
│ │ ├── BootstrapMethodRemapper.java
│ │ ├── BootstrapMethodsAttributeAdder.java
│ │ ├── BootstrapMethodsAttributeEditor.java
│ │ ├── BridgeMethodFixer.java
│ │ ├── ClassEditor.java
│ │ ├── ClassElementSorter.java
│ │ ├── ClassMemberSorter.java
│ │ ├── ClassReferenceFixer.java
│ │ ├── CodeAttributeComposer.java
│ │ ├── CodeAttributeEditor.java
│ │ ├── CodeAttributeEditorResetter.java
│ │ ├── ComparableConstant.java
│ │ ├── ConstantAdder.java
│ │ ├── ConstantPoolEditor.java
│ │ ├── ConstantPoolRemapper.java
│ │ ├── ConstantPoolShrinker.java
│ │ ├── ConstantPoolSorter.java
│ │ ├── ElementValueAdder.java
│ │ ├── ElementValuesEditor.java
│ │ ├── ExceptionAdder.java
│ │ ├── ExceptionInfoAdder.java
│ │ ├── ExceptionsAttributeEditor.java
│ │ ├── InnerClassesAccessFixer.java
│ │ ├── InstructionAdder.java
│ │ ├── InstructionWriter.java
│ │ ├── InterfaceAdder.java
│ │ ├── InterfaceDeleter.java
│ │ ├── InterfacesEditor.java
│ │ ├── InterfaceSorter.java
│ │ ├── LineNumberInfoAdder.java
│ │ ├── LineNumberTableAttributeEditor.java
│ │ ├── LineNumberTableAttributeTrimmer.java
│ │ ├── LocalVariableInfoAdder.java
│ │ ├── LocalVariableTableAttributeEditor.java
│ │ ├── LocalVariableTypeInfoAdder.java
│ │ ├── LocalVariableTypeTableAttributeEditor.java
│ │ ├── MemberAdder.java
│ │ ├── MemberReferenceFixer.java
│ │ ├── MethodInvocationFixer.java
│ │ ├── NameAndTypeShrinker.java
│ │ ├── NamedAttributeDeleter.java
│ │ ├── ParameterAnnotationsAttributeEditor.java
│ │ ├── ParameterInfoAdder.java
│ │ ├── StackSizeUpdater.java
│ │ ├── SubclassAdder.java
│ │ ├── SubclassToAdder.java
│ │ ├── Utf8Shrinker.java
│ │ ├── VariableCleaner.java
│ │ ├── VariableEditor.java
│ │ ├── VariableRemapper.java
│ │ └── VariableSizeUpdater.java
│ ├── Field.java
│ ├── instruction
│ │ ├── BranchInstruction.java
│ │ ├── ConstantInstruction.java
│ │ ├── InstructionConstants.java
│ │ ├── InstructionFactory.java
│ │ ├── Instruction.java
│ │ ├── InstructionUtil.java
│ │ ├── LookUpSwitchInstruction.java
│ │ ├── SimpleInstruction.java
│ │ ├── SwitchInstruction.java
│ │ ├── TableSwitchInstruction.java
│ │ ├── VariableInstruction.java
│ │ └── visitor
│ │ ├── AllInstructionVisitor.java
│ │ ├── InstructionConstantVisitor.java
│ │ ├── InstructionCounter.java
│ │ ├── InstructionVisitor.java
│ │ └── MultiInstructionVisitor.java
│ ├── io
│ │ ├── LibraryClassReader.java
│ │ ├── ProgramClassReader.java
│ │ ├── ProgramClassWriter.java
│ │ ├── RuntimeDataInput.java
│ │ └── RuntimeDataOutput.java
│ ├── JavaConstants.java
│ ├── LibraryClass.java
│ ├── LibraryField.java
│ ├── LibraryMember.java
│ ├── LibraryMethod.java
│ ├── Member.java
│ ├── Method.java
│ ├── ProgramClass.java
│ ├── ProgramField.java
│ ├── ProgramMember.java
│ ├── ProgramMethod.java
│ ├── util
│ │ ├── AccessUtil.java
│ │ ├── AllParameterVisitor.java
│ │ ├── ClassReferenceInitializer.java
│ │ ├── ClassSubHierarchyInitializer.java
│ │ ├── ClassSuperHierarchyInitializer.java
│ │ ├── ClassUtil.java
│ │ ├── DescriptorClassEnumeration.java
│ │ ├── DynamicClassReferenceInitializer.java
│ │ ├── DynamicMemberReferenceInitializer.java
│ │ ├── EnumFieldReferenceInitializer.java
│ │ ├── ExternalTypeEnumeration.java
│ │ ├── InstructionSequenceMatcher.java
│ │ ├── InternalTypeEnumeration.java
│ │ ├── MemberFinder.java
│ │ ├── MethodLinker.java
│ │ ├── SimplifiedVisitor.java
│ │ ├── StringReferenceInitializer.java
│ │ ├── StringSharer.java
│ │ └── WarningPrinter.java
│ ├── visitor
│ │ ├── AllClassVisitor.java
│ │ ├── AllFieldVisitor.java
│ │ ├── AllMemberVisitor.java
│ │ ├── AllMethodVisitor.java
│ │ ├── BottomClassFilter.java
│ │ ├── ClassAccessFilter.java
│ │ ├── ClassCleaner.java
│ │ ├── ClassCollector.java
│ │ ├── ClassCounter.java
│ │ ├── ClassHierarchyTraveler.java
│ │ ├── ClassNameFilter.java
│ │ ├── ClassPoolFiller.java
│ │ ├── ClassPoolRemover.java
│ │ ├── ClassPoolVisitor.java
│ │ ├── ClassPresenceFilter.java
│ │ ├── ClassPrinter.java
│ │ ├── ClassVersionFilter.java
│ │ ├── ClassVersionSetter.java
│ │ ├── ClassVisitor.java
│ │ ├── ConcreteClassDownTraveler.java
│ │ ├── DotClassClassVisitor.java
│ │ ├── DynamicReturnedClassVisitor.java
│ │ ├── ExceptClassesFilter.java
│ │ ├── ExceptClassFilter.java
│ │ ├── ExceptionCounter.java
│ │ ├── ExceptionExcludedOffsetFilter.java
│ │ ├── ExceptionHandlerConstantVisitor.java
│ │ ├── ExceptionHandlerFilter.java
│ │ ├── ExceptionOffsetFilter.java
│ │ ├── ExceptionRangeFilter.java
│ │ ├── ImplementedClassConstantFilter.java
│ │ ├── ImplementedClassFilter.java
│ │ ├── ImplementingClassConstantFilter.java
│ │ ├── InitializerMethodFilter.java
│ │ ├── LibraryClassFilter.java
│ │ ├── LibraryMemberFilter.java
│ │ ├── MemberAccessFilter.java
│ │ ├── MemberClassAccessFilter.java
│ │ ├── MemberCollector.java
│ │ ├── MemberCounter.java
│ │ ├── MemberDescriptorFilter.java
│ │ ├── MemberDescriptorReferencedClassVisitor.java
│ │ ├── MemberNameFilter.java
│ │ ├── MemberToClassVisitor.java
│ │ ├── MemberVisitor.java
│ │ ├── MethodImplementationFilter.java
│ │ ├── MethodImplementationTraveler.java
│ │ ├── MultiClassPoolVisitor.java
│ │ ├── MultiClassVisitor.java
│ │ ├── MultiMemberVisitor.java
│ │ ├── NamedClassVisitor.java
│ │ ├── NamedFieldVisitor.java
│ │ ├── NamedMethodVisitor.java
│ │ ├── ParameterVisitor.java
│ │ ├── ProgramClassFilter.java
│ │ ├── ProgramMemberFilter.java
│ │ ├── ReferencedClassVisitor.java
│ │ ├── ReferencedMemberVisitor.java
│ │ ├── SimilarMemberVisitor.java
│ │ ├── SimpleClassPrinter.java
│ │ ├── SubclassFilter.java
│ │ ├── SubclassTraveler.java
│ │ ├── VariableClassVisitor.java
│ │ └── VariableMemberVisitor.java
│ └── VisitorAccepter.java
├── ClassMemberChecker.java
├── ClassPathEntry.java
├── ClassPath.java
├── ClassSpecification.java
├── ClassSpecificationVisitorFactory.java
├── ConfigurationChecker.java
├── ConfigurationConstants.java
├── Configuration.java
├── ConfigurationParser.java
├── ConfigurationWriter.java
├── DataEntryReaderFactory.java
├── DataEntryWriterFactory.java
├── DescriptorKeepChecker.java
├── DuplicateClassPrinter.java
├── evaluation
│ ├── BasicBranchUnit.java
│ ├── BasicInvocationUnit.java
│ ├── BranchTargetFinder.java
│ ├── BranchUnit.java
│ ├── ClassConstantValueFactory.java
│ ├── ConstantValueFactory.java
│ ├── InvocationUnit.java
│ ├── Processor.java
│ ├── Stack.java
│ ├── TracedStack.java
│ ├── TracedVariables.java
│ ├── value
│ │ ├── ArrayReferenceValue.java
│ │ ├── Category1Value.java
│ │ ├── Category2Value.java
│ │ ├── ComparisonValue.java
│ │ ├── CompositeDoubleValue.java
│ │ ├── CompositeFloatValue.java
│ │ ├── CompositeIntegerValue.java
│ │ ├── CompositeLongValue.java
│ │ ├── ConvertedByteValue.java
│ │ ├── ConvertedCharacterValue.java
│ │ ├── ConvertedDoubleValue.java
│ │ ├── ConvertedFloatValue.java
│ │ ├── ConvertedIntegerValue.java
│ │ ├── ConvertedLongValue.java
│ │ ├── ConvertedShortValue.java
│ │ ├── DetailedArrayReferenceValue.java
│ │ ├── DetailedValueFactory.java
│ │ ├── DoubleValue.java
│ │ ├── FloatValue.java
│ │ ├── IdentifiedArrayReferenceValue.java
│ │ ├── IdentifiedDoubleValue.java
│ │ ├── IdentifiedFloatValue.java
│ │ ├── IdentifiedIntegerValue.java
│ │ ├── IdentifiedLongValue.java
│ │ ├── IdentifiedReferenceValue.java
│ │ ├── IdentifiedValueFactory.java
│ │ ├── InitialValueFactory.java
│ │ ├── InstructionOffsetValue.java
│ │ ├── IntegerValue.java
│ │ ├── LongValue.java
│ │ ├── NegatedDoubleValue.java
│ │ ├── NegatedFloatValue.java
│ │ ├── NegatedIntegerValue.java
│ │ ├── NegatedLongValue.java
│ │ ├── ParticularDoubleValue.java
│ │ ├── ParticularFloatValue.java
│ │ ├── ParticularIntegerValue.java
│ │ ├── ParticularLongValue.java
│ │ ├── ParticularValueFactory.java
│ │ ├── ReferenceValue.java
│ │ ├── SpecificDoubleValue.java
│ │ ├── SpecificFloatValue.java
│ │ ├── SpecificIntegerValue.java
│ │ ├── SpecificLongValue.java
│ │ ├── TopValue.java
│ │ ├── TypedReferenceValue.java
│ │ ├── UnknownDoubleValue.java
│ │ ├── UnknownFloatValue.java
│ │ ├── UnknownIntegerValue.java
│ │ ├── UnknownLongValue.java
│ │ ├── ValueFactory.java
│ │ └── Value.java
│ └── Variables.java
├── FileWordReader.java
├── FullyQualifiedClassNameChecker.java
├── GetAnnotationChecker.java
├── GetEnclosingClassChecker.java
├── GetEnclosingMethodChecker.java
├── GetSignatureChecker.java
├── GPL.java
├── gradle
│ └── ProGuardTask.java
├── gui
│ ├── arrow.gif
│ ├── boilerplate.pro
│ ├── ClassPathPanel.java
│ ├── ClassSpecificationDialog.java
│ ├── ClassSpecificationsPanel.java
│ ├── default.pro
│ ├── ExtensionFileFilter.java
│ ├── FilterBuilder.java
│ ├── FilterDialog.java
│ ├── GUIResources.java
│ ├── GUIResources.properties
│ ├── KeepSpecificationsPanel.java
│ ├── ListPanel.java
│ ├── MANIFEST.MF
│ ├── MemberSpecificationDialog.java
│ ├── MemberSpecificationsPanel.java
│ ├── MessageDialogRunnable.java
│ ├── OptimizationsDialog.java
│ ├── ProGuardGUI.java
│ ├── ProGuardRunnable.java
│ ├── ReTraceRunnable.java
│ ├── splash
│ │ ├── BufferedSprite.java
│ │ ├── CircleSprite.java
│ │ ├── ClipSprite.java
│ │ ├── ColorSprite.java
│ │ ├── CompositeSprite.java
│ │ ├── ConstantColor.java
│ │ ├── ConstantDouble.java
│ │ ├── ConstantFont.java
│ │ ├── ConstantInt.java
│ │ ├── ConstantString.java
│ │ ├── ConstantTiming.java
│ │ ├── FontSprite.java
│ │ ├── ImageSprite.java
│ │ ├── LinearColor.java
│ │ ├── LinearDouble.java
│ │ ├── LinearInt.java
│ │ ├── LinearTiming.java
│ │ ├── OverrideGraphics2D.java
│ │ ├── RectangleSprite.java
│ │ ├── SawToothTiming.java
│ │ ├── ShadowedSprite.java
│ │ ├── SineTiming.java
│ │ ├── SmoothTiming.java
│ │ ├── SplashPanel.java
│ │ ├── Sprite.java
│ │ ├── TextSprite.java
│ │ ├── TimeSwitchSprite.java
│ │ ├── Timing.java
│ │ ├── TypeWriterString.java
│ │ ├── VariableColor.java
│ │ ├── VariableDouble.java
│ │ ├── VariableFont.java
│ │ ├── VariableInt.java
│ │ ├── VariableSizeFont.java
│ │ └── VariableString.java
│ ├── SwingUtil.java
│ ├── TabbedPane.java
│ ├── TextAreaOutputStream.java
│ ├── TextAreaWriter.java
│ └── vtitle.png
├── Initializer.java
├── InputReader.java
├── io
│ ├── CascadingDataEntryWriter.java
│ ├── ClassFilter.java
│ ├── ClassReader.java
│ ├── ClassRewriter.java
│ ├── DataEntryClassWriter.java
│ ├── DataEntryCopier.java
│ ├── DataEntryDirectoryFilter.java
│ ├── DataEntryFilter.java
│ ├── DataEntry.java
│ ├── DataEntryNameFilter.java
│ ├── DataEntryObfuscator.java
│ ├── DataEntryParentFilter.java
│ ├── DataEntryPump.java
│ ├── DataEntryReader.java
│ ├── DataEntryRenamer.java
│ ├── DataEntryRewriter.java
│ ├── DataEntryWriter.java
│ ├── DirectoryFilter.java
│ ├── DirectoryPump.java
│ ├── DirectoryWriter.java
│ ├── FileDataEntry.java
│ ├── FilteredDataEntryReader.java
│ ├── FilteredDataEntryWriter.java
│ ├── Finisher.java
│ ├── JarReader.java
│ ├── JarWriter.java
│ ├── ManifestRewriter.java
│ ├── NameFilter.java
│ ├── ParentDataEntryWriter.java
│ ├── RenamedDataEntry.java
│ └── ZipDataEntry.java
├── KeepClassMemberChecker.java
├── KeepClassSpecification.java
├── LibraryKeepChecker.java
├── LineWordReader.java
├── MANIFEST.MF
├── MemberSpecification.java
├── obfuscate
│ ├── AttributeShrinker.java
│ ├── AttributeUsageMarker.java
│ ├── ClassObfuscator.java
│ ├── ClassRenamer.java
│ ├── DictionaryNameFactory.java
│ ├── MapCleaner.java
│ ├── MappingKeeper.java
│ ├── MappingPrinter.java
│ ├── MappingProcessor.java
│ ├── MappingReader.java
│ ├── MemberNameCleaner.java
│ ├── MemberNameCollector.java
│ ├── MemberNameConflictFixer.java
│ ├── MemberNameFilter.java
│ ├── MemberObfuscator.java
│ ├── MemberSpecialNameFilter.java
│ ├── MultiMappingProcessor.java
│ ├── NameFactory.java
│ ├── NameFactoryResetter.java
│ ├── NameMarker.java
│ ├── NumericNameFactory.java
│ ├── Obfuscator.java
│ ├── ParameterNameMarker.java
│ ├── SimpleNameFactory.java
│ ├── SourceFileRenamer.java
│ └── SpecialNameFactory.java
├── optimize
│ ├── BootstrapMethodArgumentShrinker.java
│ ├── ChangedCodePrinter.java
│ ├── ConstantMemberFilter.java
│ ├── ConstantParameterFilter.java
│ ├── DuplicateInitializerFixer.java
│ ├── DuplicateInitializerInvocationFixer.java
│ ├── evaluation
│ │ ├── EvaluationShrinker.java
│ │ ├── EvaluationSimplifier.java
│ │ ├── LivenessAnalyzer.java
│ │ ├── LoadingInvocationUnit.java
│ │ ├── PartialEvaluator.java
│ │ ├── SimpleEnumArrayPropagator.java
│ │ ├── SimpleEnumClassChecker.java
│ │ ├── SimpleEnumClassSimplifier.java
│ │ ├── SimpleEnumDescriptorSimplifier.java
│ │ ├── SimpleEnumUseChecker.java
│ │ ├── SimpleEnumUseSimplifier.java
│ │ ├── StoringInvocationUnit.java
│ │ ├── TracedBranchUnit.java
│ │ └── VariableOptimizer.java
│ ├── info
│ │ ├── AccessMethodMarker.java
│ │ ├── BackwardBranchMarker.java
│ │ ├── CatchExceptionMarker.java
│ │ ├── CaughtClassFilter.java
│ │ ├── CaughtClassMarker.java
│ │ ├── ClassOptimizationInfo.java
│ │ ├── ClassOptimizationInfoSetter.java
│ │ ├── DotClassFilter.java
│ │ ├── DotClassMarker.java
│ │ ├── DynamicInvocationMarker.java
│ │ ├── ExceptionInstructionChecker.java
│ │ ├── FieldOptimizationInfo.java
│ │ ├── InstanceofClassFilter.java
│ │ ├── InstanceofClassMarker.java
│ │ ├── InstantiationClassFilter.java
│ │ ├── InstantiationClassMarker.java
│ │ ├── MemberOptimizationInfoSetter.java
│ │ ├── MethodInvocationMarker.java
│ │ ├── MethodOptimizationInfo.java
│ │ ├── NonEmptyStackReturnMarker.java
│ │ ├── NonPrivateMemberMarker.java
│ │ ├── NoSideEffectMethodMarker.java
│ │ ├── PackageVisibleMemberContainingClassMarker.java
│ │ ├── PackageVisibleMemberInvokingClassMarker.java
│ │ ├── ParameterUsageMarker.java
│ │ ├── ReadWriteFieldMarker.java
│ │ ├── SideEffectInstructionChecker.java
│ │ ├── SideEffectMethodFilter.java
│ │ ├── SideEffectMethodMarker.java
│ │ ├── SimpleEnumFilter.java
│ │ ├── SimpleEnumMarker.java
│ │ ├── StaticInitializerContainingClassFilter.java
│ │ ├── StaticInitializerContainingClassMarker.java
│ │ ├── SuperInvocationMarker.java
│ │ └── VariableUsageMarker.java
│ ├── KeepMarker.java
│ ├── KeptClassFilter.java
│ ├── KeptMemberFilter.java
│ ├── MemberDescriptorSpecializer.java
│ ├── MethodDescriptorShrinker.java
│ ├── MethodStaticizer.java
│ ├── OptimizationInfoClassFilter.java
│ ├── OptimizationInfoMemberFilter.java
│ ├── Optimizer.java
│ ├── ParameterShrinker.java
│ ├── peephole
│ │ ├── ClassFinalizer.java
│ │ ├── ClassMerger.java
│ │ ├── GotoCommonCodeReplacer.java
│ │ ├── GotoGotoReplacer.java
│ │ ├── GotoReturnReplacer.java
│ │ ├── HorizontalClassMerger.java
│ │ ├── InstructionSequenceConstants.java
│ │ ├── InstructionSequenceReplacer.java
│ │ ├── InstructionSequencesReplacer.java
│ │ ├── LineNumberLinearizer.java
│ │ ├── MemberPrivatizer.java
│ │ ├── MethodFinalizer.java
│ │ ├── MethodInliner.java
│ │ ├── NopRemover.java
│ │ ├── PeepholeOptimizer.java
│ │ ├── ReachableCodeMarker.java
│ │ ├── RetargetedClassFilter.java
│ │ ├── RetargetedInnerClassAttributeRemover.java
│ │ ├── TargetClassChanger.java
│ │ ├── UnreachableCodeRemover.java
│ │ ├── UnreachableExceptionRemover.java
│ │ ├── VariableShrinker.java
│ │ └── VerticalClassMerger.java
│ ├── TailRecursionSimplifier.java
│ └── WriteOnlyFieldFilter.java
├── OutputWriter.java
├── ParseException.java
├── preverify
│ ├── CodePreverifier.java
│ ├── CodeSubroutineInliner.java
│ ├── Preverifier.java
│ └── SubroutineInliner.java
├── ProGuard.java
├── retrace
│ ├── FrameInfo.java
│ ├── FramePattern.java
│ ├── FrameRemapper.java
│ ├── MANIFEST.MF
│ └── ReTrace.java
├── SeedPrinter.java
├── shrink
│ ├── AnnotationUsageMarker.java
│ ├── ClassShrinker.java
│ ├── InnerUsageMarker.java
│ ├── InterfaceUsageMarker.java
│ ├── LocalVariableTypeUsageMarker.java
│ ├── ShortestUsageMarker.java
│ ├── ShortestUsageMark.java
│ ├── ShortestUsagePrinter.java
│ ├── Shrinker.java
│ ├── UsageMarker.java
│ ├── UsagePrinter.java
│ ├── UsedClassFilter.java
│ └── UsedMemberFilter.java
├── SubclassedClassFilter.java
├── Targeter.java
├── UpToDateChecker.java
├── util
│ ├── AndMatcher.java
│ ├── ArrayUtil.java
│ ├── ClassNameParser.java
│ ├── ConstantMatcher.java
│ ├── EmptyStringMatcher.java
│ ├── ExtensionMatcher.java
│ ├── FileNameParser.java
│ ├── FixedStringMatcher.java
│ ├── ListMatcher.java
│ ├── ListParser.java
│ ├── ListUtil.java
│ ├── NameParser.java
│ ├── NotMatcher.java
│ ├── ObjectUtil.java
│ ├── OrMatcher.java
│ ├── SettableMatcher.java
│ ├── StringMatcher.java
│ ├── StringParser.java
│ └── VariableStringMatcher.java
├── WordReader.java
└── wtk
├── default.pro
└── ProGuardObfuscator.java
61 directories, 785 files
评论