This is an automated email from the git hooks/post-receive script. apo-guest pushed a commit to branch master in repository apktool.
commit dda8c06ec327a0aac92a4c858d4664085237ec30 Merge: 6ddc302 21332c7 Author: Reiner Herrmann <[email protected]> Date: Sat Oct 17 18:53:57 2015 +0200 Merge tag 'upstream/2.0.2' Upstream version 2.0.2 .gitignore | 22 + .travis.yml | 25 + CHANGES | 1 + CONTRIBUTING.md | 22 + CONTRIBUTORS.md | 12 + LICENSE | 210 +++ README.md | 26 + brut.apktool.smali/.gitignore | 6 + brut.apktool.smali/NOTICE-SMALI | 49 + brut.apktool.smali/baksmali/build.gradle | 84 + .../jf/baksmali/Adaptors/AnnotationFormatter.java | 69 + .../org/jf/baksmali/Adaptors/BlankMethodItem.java | 48 + .../org/jf/baksmali/Adaptors/CatchMethodItem.java | 97 ++ .../org/jf/baksmali/Adaptors/ClassDefinition.java | 331 ++++ .../jf/baksmali/Adaptors/CommentMethodItem.java | 55 + .../baksmali/Adaptors/CommentedOutMethodItem.java | 52 + .../Adaptors/CommentingIndentingWriter.java | 48 + .../Adaptors/Debug/BeginEpilogueMethodItem.java | 48 + .../baksmali/Adaptors/Debug/DebugMethodItem.java | 71 + .../Adaptors/Debug/EndLocalMethodItem.java | 66 + .../Adaptors/Debug/EndPrologueMethodItem.java | 48 + .../Adaptors/Debug/LineNumberMethodItem.java | 54 + .../jf/baksmali/Adaptors/Debug/LocalFormatter.java | 73 + .../Adaptors/Debug/RestartLocalMethodItem.java | 66 + .../Adaptors/Debug/SetSourceFileMethodItem.java | 61 + .../Adaptors/Debug/StartLocalMethodItem.java | 67 + .../AnnotationEncodedValueAdaptor.java | 65 + .../EncodedValue/ArrayEncodedValueAdaptor.java | 65 + .../Adaptors/EncodedValue/EncodedValueAdaptor.java | 112 ++ .../baksmali/Adaptors/EndTryLabelMethodItem.java | 51 + .../org/jf/baksmali/Adaptors/FieldDefinition.java | 101 ++ .../Adaptors/Format/ArrayDataMethodItem.java | 81 + .../Adaptors/Format/InstructionMethodItem.java | 576 +++++++ .../Format/InstructionMethodItemFactory.java | 67 + .../Format/OffsetInstructionFormatMethodItem.java | 85 + .../Adaptors/Format/PackedSwitchMethodItem.java | 130 ++ .../Adaptors/Format/SparseSwitchMethodItem.java | 126 ++ .../UnresolvedOdexInstructionMethodItem.java | 54 + .../org/jf/baksmali/Adaptors/LabelMethodItem.java | 102 ++ .../org/jf/baksmali/Adaptors/MethodDefinition.java | 638 +++++++ .../java/org/jf/baksmali/Adaptors/MethodItem.java | 59 + .../PostInstructionRegisterInfoMethodItem.java | 102 ++ .../PreInstructionRegisterInfoMethodItem.java | 260 +++ .../jf/baksmali/Adaptors/ReferenceFormatter.java | 65 + .../jf/baksmali/Adaptors/RegisterFormatter.java | 99 ++ .../Adaptors/SyntheticAccessCommentMethodItem.java | 121 ++ .../org/jf/baksmali/Renderers/BooleanRenderer.java | 43 + .../org/jf/baksmali/Renderers/ByteRenderer.java | 53 + .../org/jf/baksmali/Renderers/CharRenderer.java | 42 + .../org/jf/baksmali/Renderers/DoubleRenderer.java | 39 + .../org/jf/baksmali/Renderers/FloatRenderer.java | 40 + .../org/jf/baksmali/Renderers/IntegerRenderer.java | 50 + .../org/jf/baksmali/Renderers/LongRenderer.java | 63 + .../org/jf/baksmali/Renderers/ShortRenderer.java | 47 + .../src/main/java/org/jf/baksmali/baksmali.java | 247 +++ .../main/java/org/jf/baksmali/baksmaliOptions.java | 105 ++ .../src/main/java/org/jf/baksmali/dump.java | 73 + .../src/main/java/org/jf/baksmali/main.java | 566 +++++++ .../src/main/resources/baksmali.properties | 1 + .../test/java/org/jf/baksmali/AnalysisTest.java | 125 ++ .../java/org/jf/baksmali/BaksmaliTestUtils.java | 119 ++ .../test/java/org/jf/baksmali/DisassemblyTest.java | 104 ++ .../org/jf/baksmali/IdenticalRoundtripTest.java | 59 + .../org/jf/baksmali/ImplicitReferenceTest.java | 260 +++ .../java/org/jf/baksmali/InterfaceOrderTest.java | 41 + .../src/test/java/org/jf/baksmali/LambdaTest.java | 49 + .../java/org/jf/baksmali/ManyRegistersTest.java | 42 + .../test/java/org/jf/baksmali/MultiSwitchTest.java | 42 + .../test/java/org/jf/baksmali/RoundtripTest.java | 95 ++ .../src/test/java/org/jf/baksmali/SwitchTest.java | 41 + .../ConstructorTest/ConstructorTest.smali | 16 + .../ConstructorTest/ConstructorTest2.smali | 25 + .../src/test/resources/ConstructorTest/classes.dex | Bin 0 -> 520 bytes .../DuplicateTest/DuplicateDirectMethods.smali | 29 + .../DuplicateDirectVirtualMethods.smali | 46 + .../DuplicateTest/DuplicateInstanceFields.smali | 13 + .../DuplicateTest/DuplicateStaticFields.smali | 13 + .../DuplicateStaticInstanceFields.smali | 22 + .../DuplicateTest/DuplicateVirtualMethods.smali | 29 + .../src/test/resources/DuplicateTest/classes.dex | Bin 0 -> 1284 bytes .../DuplicateTest/src/DuplicateDirectMethods.smali | 22 + .../src/DuplicateDirectVirtualMethods.smali | 32 + .../src/DuplicateInstanceFields.smali | 9 + .../DuplicateTest/src/DuplicateStaticFields.smali | 9 + .../src/DuplicateStaticInstanceFields.smali | 11 + .../src/DuplicateVirtualMethods.smali | 22 + .../src/test/resources/DuplicateTest/src/README | 3 + .../InterfaceOrderTest/InterfaceOrder.smali | 37 + .../resources/LambdaTest/HelloWorldLambda.smali | 55 + .../src/test/resources/LocalTest/LocalTest.smali | 31 + .../src/test/resources/LocalTest/classes.dex | Bin 0 -> 832 bytes .../ManyRegistersTest/ManyRegisters.smali | 7 + .../resources/MultiSwitchTest/MultiSwitchInput.dex | Bin 0 -> 616 bytes .../MultiSwitchTest/MultiSwitchInput.smali | 72 + .../MultiSwitchTest/MultiSwitchOutput.smali | 119 ++ .../MultipleStartInstructionsTest.smali | 46 + .../MultipleStartInstructionsTest/classes.dex | Bin 0 -> 568 bytes .../RegisterEqualityOnMerge.smali | 37 + .../RegisterEqualityOnMergeTest/classes.dex | Bin 0 -> 508 bytes .../SwitchTest/UnorderedSparseSwitchInput.smali | 35 + .../SwitchTest/UnorderedSparseSwitchOutput.smali | 28 + .../UninitRefIdentityTest.smali | 50 + .../resources/UninitRefIdentityTest/classes.dex | Bin 0 -> 552 bytes .../src/test/smali/baksmali_test_class.smali | 218 +++ .../src/test/smali/deodex_test1/main.smali | 70 + .../src/test/smali/deodex_test1/randomclass.smali | 18 + .../src/test/smali/deodex_test1/subclass.smali | 21 + .../src/test/smali/deodex_test1/superclass.smali | 21 + .../test/smali/deodex_test2/app_classes/main.smali | 41 + .../bootclass_classes/randomclass.smali | 18 + .../deodex_test2/bootclass_classes/subclass1.smali | 21 + .../deodex_test2/bootclass_classes/subclass2.smali | 21 + .../bootclass_classes/superclass.smali | 21 + .../bootclass_classes/supersuperclass.smali | 21 + brut.apktool.smali/build.gradle | 116 ++ .../dexlib2/accessorTestGenerator/build.gradle | 39 + .../java/org/jf/dexlib2/AccessorTestGenerator.java | 141 ++ .../src/main/resources/AccessorTest.stg | 86 + brut.apktool.smali/dexlib2/build.gradle | 94 ++ .../java/org/jf/dexlib2/AccessorTest.java | 133 ++ .../src/main/java/org/jf/dexlib2/AccessFlags.java | 185 ++ .../java/org/jf/dexlib2/AnnotationVisibility.java | 65 + .../main/java/org/jf/dexlib2/DebugItemType.java | 51 + .../main/java/org/jf/dexlib2/DexFileFactory.java | 156 ++ .../src/main/java/org/jf/dexlib2/Format.java | 83 + .../src/main/java/org/jf/dexlib2/Opcode.java | 436 +++++ .../src/main/java/org/jf/dexlib2/Opcodes.java | 83 + .../main/java/org/jf/dexlib2/ReferenceType.java | 103 ++ .../src/main/java/org/jf/dexlib2/ValueType.java | 53 + .../java/org/jf/dexlib2/VerificationError.java | 102 ++ .../org/jf/dexlib2/analysis/AnalysisException.java | 50 + .../jf/dexlib2/analysis/AnalyzedInstruction.java | 332 ++++ .../java/org/jf/dexlib2/analysis/ArrayProto.java | 166 ++ .../java/org/jf/dexlib2/analysis/ClassPath.java | 244 +++ .../java/org/jf/dexlib2/analysis/ClassProto.java | 675 ++++++++ .../analysis/CustomInlineMethodResolver.java | 138 ++ .../java/org/jf/dexlib2/analysis/DumpFields.java | 180 ++ .../java/org/jf/dexlib2/analysis/DumpVtables.java | 184 ++ .../jf/dexlib2/analysis/InlineMethodResolver.java | 201 +++ .../org/jf/dexlib2/analysis/MethodAnalyzer.java | 1776 ++++++++++++++++++++ .../analysis/OdexedFieldInstructionMapper.java | 241 +++ .../org/jf/dexlib2/analysis/PrimitiveProto.java | 71 + .../java/org/jf/dexlib2/analysis/RegisterType.java | 351 ++++ .../java/org/jf/dexlib2/analysis/TypeProto.java | 49 + .../org/jf/dexlib2/analysis/UnknownClassProto.java | 81 + .../dexlib2/analysis/UnresolvedClassException.java | 48 + .../analysis/UnresolvedOdexInstruction.java | 59 + .../analysis/reflection/ReflectionClassDef.java | 247 +++ .../analysis/reflection/ReflectionConstructor.java | 121 ++ .../analysis/reflection/ReflectionField.java | 75 + .../analysis/reflection/ReflectionMethod.java | 120 ++ .../analysis/reflection/util/ReflectionUtils.java | 42 + .../jf/dexlib2/analysis/util/TypeProtoUtils.java | 97 ++ .../java/org/jf/dexlib2/base/BaseAnnotation.java | 74 + .../org/jf/dexlib2/base/BaseAnnotationElement.java | 69 + .../org/jf/dexlib2/base/BaseExceptionHandler.java | 113 ++ .../org/jf/dexlib2/base/BaseMethodParameter.java | 84 + .../java/org/jf/dexlib2/base/BaseTryBlock.java | 47 + .../dexlib2/base/reference/BaseFieldReference.java | 67 + .../base/reference/BaseMethodReference.java | 73 + .../base/reference/BaseStringReference.java | 62 + .../dexlib2/base/reference/BaseTypeReference.java | 66 + .../base/value/BaseAnnotationEncodedValue.java | 73 + .../dexlib2/base/value/BaseArrayEncodedValue.java | 64 + .../base/value/BaseBooleanEncodedValue.java | 65 + .../dexlib2/base/value/BaseByteEncodedValue.java | 64 + .../dexlib2/base/value/BaseCharEncodedValue.java | 65 + .../dexlib2/base/value/BaseDoubleEncodedValue.java | 66 + .../dexlib2/base/value/BaseEnumEncodedValue.java | 64 + .../dexlib2/base/value/BaseFieldEncodedValue.java | 64 + .../dexlib2/base/value/BaseFloatEncodedValue.java | 64 + .../jf/dexlib2/base/value/BaseIntEncodedValue.java | 64 + .../dexlib2/base/value/BaseLongEncodedValue.java | 67 + .../dexlib2/base/value/BaseMethodEncodedValue.java | 64 + .../dexlib2/base/value/BaseNullEncodedValue.java | 59 + .../dexlib2/base/value/BaseShortEncodedValue.java | 65 + .../dexlib2/base/value/BaseStringEncodedValue.java | 64 + .../dexlib2/base/value/BaseTypeEncodedValue.java | 64 + .../org/jf/dexlib2/builder/BuilderDebugItem.java | 52 + .../dexlib2/builder/BuilderExceptionHandler.java | 99 ++ .../org/jf/dexlib2/builder/BuilderInstruction.java | 70 + .../dexlib2/builder/BuilderOffsetInstruction.java | 67 + .../jf/dexlib2/builder/BuilderSwitchPayload.java | 59 + .../org/jf/dexlib2/builder/BuilderTryBlock.java | 81 + .../main/java/org/jf/dexlib2/builder/Label.java | 62 + .../builder/MethodImplementationBuilder.java | 153 ++ .../org/jf/dexlib2/builder/MethodLocation.java | 247 +++ .../builder/MutableMethodImplementation.java | 978 +++++++++++ .../org/jf/dexlib2/builder/SwitchLabelElement.java | 44 + .../jf/dexlib2/builder/debug/BuilderEndLocal.java | 53 + .../builder/debug/BuilderEpilogueBegin.java | 43 + .../dexlib2/builder/debug/BuilderLineNumber.java | 48 + .../dexlib2/builder/debug/BuilderPrologueEnd.java | 43 + .../dexlib2/builder/debug/BuilderRestartLocal.java | 53 + .../builder/debug/BuilderSetSourceFile.java | 58 + .../dexlib2/builder/debug/BuilderStartLocal.java | 77 + .../builder/instruction/BuilderArrayPayload.java | 62 + .../builder/instruction/BuilderInstruction10t.java | 51 + .../builder/instruction/BuilderInstruction10x.java | 49 + .../builder/instruction/BuilderInstruction11n.java | 61 + .../builder/instruction/BuilderInstruction11x.java | 56 + .../builder/instruction/BuilderInstruction12x.java | 60 + .../instruction/BuilderInstruction20bc.java | 63 + .../builder/instruction/BuilderInstruction20t.java | 51 + .../builder/instruction/BuilderInstruction21c.java | 62 + .../instruction/BuilderInstruction21ih.java | 62 + .../instruction/BuilderInstruction21lh.java | 61 + .../builder/instruction/BuilderInstruction21s.java | 61 + .../builder/instruction/BuilderInstruction21t.java | 58 + .../builder/instruction/BuilderInstruction22b.java | 65 + .../builder/instruction/BuilderInstruction22c.java | 66 + .../builder/instruction/BuilderInstruction22s.java | 65 + .../builder/instruction/BuilderInstruction22t.java | 62 + .../builder/instruction/BuilderInstruction22x.java | 60 + .../builder/instruction/BuilderInstruction23x.java | 64 + .../builder/instruction/BuilderInstruction25x.java | 82 + .../builder/instruction/BuilderInstruction30t.java | 52 + .../builder/instruction/BuilderInstruction31c.java | 62 + .../builder/instruction/BuilderInstruction31i.java | 61 + .../builder/instruction/BuilderInstruction31t.java | 59 + .../builder/instruction/BuilderInstruction32x.java | 60 + .../builder/instruction/BuilderInstruction35c.java | 82 + .../builder/instruction/BuilderInstruction3rc.java | 68 + .../builder/instruction/BuilderInstruction51l.java | 60 + .../instruction/BuilderPackedSwitchPayload.java | 69 + .../instruction/BuilderSparseSwitchPayload.java | 70 + .../builder/instruction/BuilderSwitchElement.java | 34 + .../org/jf/dexlib2/dexbacked/BaseDexBuffer.java | 118 ++ .../org/jf/dexlib2/dexbacked/BaseDexReader.java | 518 ++++++ .../jf/dexlib2/dexbacked/DexBackedAnnotation.java | 74 + .../dexbacked/DexBackedAnnotationElement.java | 53 + .../DexBackedCatchAllExceptionHandler.java | 49 + .../jf/dexlib2/dexbacked/DexBackedClassDef.java | 437 +++++ .../org/jf/dexlib2/dexbacked/DexBackedDexFile.java | 302 ++++ .../dexbacked/DexBackedExceptionHandler.java | 37 + .../org/jf/dexlib2/dexbacked/DexBackedField.java | 134 ++ .../org/jf/dexlib2/dexbacked/DexBackedMethod.java | 227 +++ .../dexbacked/DexBackedMethodImplementation.java | 147 ++ .../jf/dexlib2/dexbacked/DexBackedOdexFile.java | 145 ++ .../jf/dexlib2/dexbacked/DexBackedTryBlock.java | 94 ++ .../dexbacked/DexBackedTypedExceptionHandler.java | 49 + .../java/org/jf/dexlib2/dexbacked/DexReader.java | 40 + .../instruction/DexBackedArrayPayload.java | 117 ++ .../instruction/DexBackedInstruction.java | 154 ++ .../instruction/DexBackedInstruction10t.java | 48 + .../instruction/DexBackedInstruction10x.java | 46 + .../instruction/DexBackedInstruction11n.java | 59 + .../instruction/DexBackedInstruction11x.java | 48 + .../instruction/DexBackedInstruction12x.java | 57 + .../instruction/DexBackedInstruction20bc.java | 64 + .../instruction/DexBackedInstruction20t.java | 48 + .../instruction/DexBackedInstruction21c.java | 61 + .../instruction/DexBackedInstruction21ih.java | 51 + .../instruction/DexBackedInstruction21lh.java | 50 + .../instruction/DexBackedInstruction21s.java | 50 + .../instruction/DexBackedInstruction21t.java | 49 + .../instruction/DexBackedInstruction22b.java | 51 + .../instruction/DexBackedInstruction22c.java | 70 + .../instruction/DexBackedInstruction22cs.java | 62 + .../instruction/DexBackedInstruction22s.java | 60 + .../instruction/DexBackedInstruction22t.java | 59 + .../instruction/DexBackedInstruction22x.java | 49 + .../instruction/DexBackedInstruction23x.java | 50 + .../instruction/DexBackedInstruction25x.java | 83 + .../instruction/DexBackedInstruction30t.java | 48 + .../instruction/DexBackedInstruction31c.java | 62 + .../instruction/DexBackedInstruction31i.java | 50 + .../instruction/DexBackedInstruction31t.java | 49 + .../instruction/DexBackedInstruction32x.java | 49 + .../instruction/DexBackedInstruction35c.java | 90 + .../instruction/DexBackedInstruction35mi.java | 81 + .../instruction/DexBackedInstruction35ms.java | 81 + .../instruction/DexBackedInstruction3rc.java | 70 + .../instruction/DexBackedInstruction3rmi.java | 60 + .../instruction/DexBackedInstruction3rms.java | 60 + .../instruction/DexBackedInstruction51l.java | 49 + .../instruction/DexBackedPackedSwitchPayload.java | 83 + .../instruction/DexBackedSparseSwitchPayload.java | 81 + .../instruction/DexBackedUnknownInstruction.java | 54 + .../dexbacked/raw/AnnotationDirectoryItem.java | 119 ++ .../jf/dexlib2/dexbacked/raw/AnnotationItem.java | 90 + .../dexlib2/dexbacked/raw/AnnotationSetItem.java | 76 + .../dexbacked/raw/AnnotationSetRefList.java | 76 + .../jf/dexlib2/dexbacked/raw/ClassDataItem.java | 175 ++ .../org/jf/dexlib2/dexbacked/raw/ClassDefItem.java | 140 ++ .../org/jf/dexlib2/dexbacked/raw/CodeItem.java | 464 +++++ .../jf/dexlib2/dexbacked/raw/DebugInfoItem.java | 183 ++ .../jf/dexlib2/dexbacked/raw/EncodedArrayItem.java | 56 + .../org/jf/dexlib2/dexbacked/raw/EncodedValue.java | 167 ++ .../org/jf/dexlib2/dexbacked/raw/FieldIdItem.java | 108 ++ .../org/jf/dexlib2/dexbacked/raw/HeaderItem.java | 260 +++ .../org/jf/dexlib2/dexbacked/raw/ItemType.java | 80 + .../java/org/jf/dexlib2/dexbacked/raw/MapItem.java | 103 ++ .../org/jf/dexlib2/dexbacked/raw/MethodIdItem.java | 108 ++ .../jf/dexlib2/dexbacked/raw/OdexHeaderItem.java | 90 + .../org/jf/dexlib2/dexbacked/raw/ProtoIdItem.java | 111 ++ .../org/jf/dexlib2/dexbacked/raw/RawDexFile.java | 99 ++ .../jf/dexlib2/dexbacked/raw/SectionAnnotator.java | 111 ++ .../jf/dexlib2/dexbacked/raw/StringDataItem.java | 61 + .../org/jf/dexlib2/dexbacked/raw/StringIdItem.java | 118 ++ .../org/jf/dexlib2/dexbacked/raw/TypeIdItem.java | 91 + .../org/jf/dexlib2/dexbacked/raw/TypeListItem.java | 100 ++ .../dexlib2/dexbacked/raw/util/DexAnnotator.java | 177 ++ .../reference/DexBackedFieldReference.java | 66 + .../reference/DexBackedMethodReference.java | 101 ++ .../dexbacked/reference/DexBackedReference.java | 56 + .../reference/DexBackedStringReference.java | 53 + .../reference/DexBackedTypeReference.java | 52 + .../dexbacked/util/AnnotationsDirectory.java | 241 +++ .../org/jf/dexlib2/dexbacked/util/DebugInfo.java | 264 +++ .../jf/dexlib2/dexbacked/util/FixedSizeList.java | 57 + .../jf/dexlib2/dexbacked/util/FixedSizeSet.java | 68 + .../dexlib2/dexbacked/util/ParameterIterator.java | 89 + .../dexbacked/util/StaticInitialValueIterator.java | 85 + .../dexbacked/util/VariableSizeCollection.java | 65 + .../dexbacked/util/VariableSizeIterator.java | 84 + .../dexlib2/dexbacked/util/VariableSizeList.java | 75 + .../dexbacked/util/VariableSizeListIterator.java | 109 ++ .../util/VariableSizeLookaheadIterator.java | 62 + .../jf/dexlib2/dexbacked/util/VariableSizeSet.java | 65 + .../value/DexBackedAnnotationEncodedValue.java | 84 + .../value/DexBackedArrayEncodedValue.java | 78 + .../dexbacked/value/DexBackedEncodedValue.java | 154 ++ .../dexbacked/value/DexBackedEnumEncodedValue.java | 54 + .../value/DexBackedFieldEncodedValue.java | 54 + .../value/DexBackedMethodEncodedValue.java | 54 + .../value/DexBackedStringEncodedValue.java | 52 + .../dexbacked/value/DexBackedTypeEncodedValue.java | 52 + .../java/org/jf/dexlib2/iface/Annotatable.java | 49 + .../main/java/org/jf/dexlib2/iface/Annotation.java | 107 ++ .../org/jf/dexlib2/iface/AnnotationElement.java | 92 + .../java/org/jf/dexlib2/iface/BasicAnnotation.java | 27 + .../main/java/org/jf/dexlib2/iface/ClassDef.java | 166 ++ .../main/java/org/jf/dexlib2/iface/DexFile.java | 49 + .../org/jf/dexlib2/iface/ExceptionHandler.java | 103 ++ .../src/main/java/org/jf/dexlib2/iface/Field.java | 96 ++ .../src/main/java/org/jf/dexlib2/iface/Member.java | 63 + .../src/main/java/org/jf/dexlib2/iface/Method.java | 110 ++ .../org/jf/dexlib2/iface/MethodImplementation.java | 86 + .../java/org/jf/dexlib2/iface/MethodParameter.java | 85 + .../main/java/org/jf/dexlib2/iface/TryBlock.java | 82 + .../java/org/jf/dexlib2/iface/debug/DebugItem.java | 54 + .../java/org/jf/dexlib2/iface/debug/EndLocal.java | 36 + .../org/jf/dexlib2/iface/debug/EpilogueBegin.java | 35 + .../org/jf/dexlib2/iface/debug/LineNumber.java | 42 + .../java/org/jf/dexlib2/iface/debug/LocalInfo.java | 40 + .../org/jf/dexlib2/iface/debug/PrologueEnd.java | 35 + .../org/jf/dexlib2/iface/debug/RestartLocal.java | 36 + .../org/jf/dexlib2/iface/debug/SetSourceFile.java | 41 + .../org/jf/dexlib2/iface/debug/StartLocal.java | 45 + .../iface/instruction/FieldOffsetInstruction.java | 36 + .../iface/instruction/FiveRegisterInstruction.java | 40 + .../iface/instruction/HatLiteralInstruction.java | 39 + .../iface/instruction/InlineIndexInstruction.java | 36 + .../jf/dexlib2/iface/instruction/Instruction.java | 58 + .../instruction/LongHatLiteralInstruction.java | 35 + .../instruction/NarrowHatLiteralInstruction.java | 35 + .../instruction/NarrowLiteralInstruction.java | 36 + .../iface/instruction/OffsetInstruction.java | 36 + .../OneFixedFourParameterRegisterInstruction.java | 47 + .../iface/instruction/OneRegisterInstruction.java | 36 + .../iface/instruction/PayloadInstruction.java | 38 + .../iface/instruction/ReferenceInstruction.java | 41 + .../instruction/RegisterRangeInstruction.java | 36 + .../dexlib2/iface/instruction/SwitchElement.java | 37 + .../dexlib2/iface/instruction/SwitchPayload.java | 39 + .../instruction/ThreeRegisterInstruction.java | 36 + .../iface/instruction/TwoRegisterInstruction.java | 36 + .../instruction/VariableRegisterInstruction.java | 36 + .../instruction/VerificationErrorInstruction.java | 36 + .../iface/instruction/VtableIndexInstruction.java | 36 + .../iface/instruction/WideLiteralInstruction.java | 36 + .../iface/instruction/formats/ArrayPayload.java | 42 + .../iface/instruction/formats/Instruction10t.java | 37 + .../iface/instruction/formats/Instruction10x.java | 37 + .../iface/instruction/formats/Instruction11n.java | 38 + .../iface/instruction/formats/Instruction11x.java | 37 + .../iface/instruction/formats/Instruction12x.java | 37 + .../iface/instruction/formats/Instruction20bc.java | 38 + .../iface/instruction/formats/Instruction20t.java | 37 + .../iface/instruction/formats/Instruction21c.java | 38 + .../iface/instruction/formats/Instruction21ih.java | 38 + .../iface/instruction/formats/Instruction21lh.java | 38 + .../iface/instruction/formats/Instruction21s.java | 38 + .../iface/instruction/formats/Instruction21t.java | 38 + .../iface/instruction/formats/Instruction22b.java | 38 + .../iface/instruction/formats/Instruction22c.java | 38 + .../iface/instruction/formats/Instruction22cs.java | 38 + .../iface/instruction/formats/Instruction22s.java | 38 + .../iface/instruction/formats/Instruction22t.java | 38 + .../iface/instruction/formats/Instruction22x.java | 37 + .../iface/instruction/formats/Instruction23x.java | 37 + .../iface/instruction/formats/Instruction25x.java | 37 + .../iface/instruction/formats/Instruction30t.java | 37 + .../iface/instruction/formats/Instruction31c.java | 38 + .../iface/instruction/formats/Instruction31i.java | 38 + .../iface/instruction/formats/Instruction31t.java | 38 + .../iface/instruction/formats/Instruction32x.java | 37 + .../iface/instruction/formats/Instruction35c.java | 38 + .../iface/instruction/formats/Instruction35mi.java | 38 + .../iface/instruction/formats/Instruction35ms.java | 38 + .../iface/instruction/formats/Instruction3rc.java | 38 + .../iface/instruction/formats/Instruction3rmi.java | 38 + .../iface/instruction/formats/Instruction3rms.java | 38 + .../iface/instruction/formats/Instruction51l.java | 38 + .../instruction/formats/PackedSwitchPayload.java | 37 + .../instruction/formats/SparseSwitchPayload.java | 37 + .../instruction/formats/UnknownInstruction.java | 36 + .../jf/dexlib2/iface/reference/FieldReference.java | 99 ++ .../dexlib2/iface/reference/MethodReference.java | 112 ++ .../org/jf/dexlib2/iface/reference/Reference.java | 39 + .../dexlib2/iface/reference/StringReference.java | 86 + .../jf/dexlib2/iface/reference/TypeReference.java | 90 + .../iface/value/AnnotationEncodedValue.java | 100 ++ .../jf/dexlib2/iface/value/ArrayEncodedValue.java | 84 + .../dexlib2/iface/value/BooleanEncodedValue.java | 83 + .../jf/dexlib2/iface/value/ByteEncodedValue.java | 82 + .../jf/dexlib2/iface/value/CharEncodedValue.java | 82 + .../jf/dexlib2/iface/value/DoubleEncodedValue.java | 89 + .../org/jf/dexlib2/iface/value/EncodedValue.java | 48 + .../jf/dexlib2/iface/value/EnumEncodedValue.java | 86 + .../jf/dexlib2/iface/value/FieldEncodedValue.java | 84 + .../jf/dexlib2/iface/value/FloatEncodedValue.java | 88 + .../jf/dexlib2/iface/value/IntEncodedValue.java | 82 + .../jf/dexlib2/iface/value/LongEncodedValue.java | 83 + .../jf/dexlib2/iface/value/MethodEncodedValue.java | 84 + .../jf/dexlib2/iface/value/NullEncodedValue.java | 75 + .../jf/dexlib2/iface/value/ShortEncodedValue.java | 82 + .../jf/dexlib2/iface/value/StringEncodedValue.java | 82 + .../jf/dexlib2/iface/value/TypeEncodedValue.java | 82 + .../jf/dexlib2/immutable/ImmutableAnnotation.java | 98 ++ .../immutable/ImmutableAnnotationElement.java | 92 + .../jf/dexlib2/immutable/ImmutableClassDef.java | 213 +++ .../org/jf/dexlib2/immutable/ImmutableDexFile.java | 62 + .../immutable/ImmutableExceptionHandler.java | 83 + .../org/jf/dexlib2/immutable/ImmutableField.java | 124 ++ .../org/jf/dexlib2/immutable/ImmutableMethod.java | 132 ++ .../immutable/ImmutableMethodImplementation.java | 93 + .../immutable/ImmutableMethodParameter.java | 103 ++ .../jf/dexlib2/immutable/ImmutableTryBlock.java | 102 ++ .../immutable/debug/ImmutableDebugItem.java | 95 ++ .../dexlib2/immutable/debug/ImmutableEndLocal.java | 86 + .../immutable/debug/ImmutableEpilogueBegin.java | 53 + .../immutable/debug/ImmutableLineNumber.java | 61 + .../immutable/debug/ImmutablePrologueEnd.java | 53 + .../immutable/debug/ImmutableRestartLocal.java | 86 + .../immutable/debug/ImmutableSetSourceFile.java | 73 + .../immutable/debug/ImmutableStartLocal.java | 106 ++ .../instruction/ImmutableArrayPayload.java | 81 + .../instruction/ImmutableInstruction.java | 165 ++ .../instruction/ImmutableInstruction10t.java | 63 + .../instruction/ImmutableInstruction10x.java | 55 + .../instruction/ImmutableInstruction11n.java | 70 + .../instruction/ImmutableInstruction11x.java | 64 + .../instruction/ImmutableInstruction12x.java | 69 + .../instruction/ImmutableInstruction20bc.java | 74 + .../instruction/ImmutableInstruction20t.java | 63 + .../instruction/ImmutableInstruction21c.java | 73 + .../instruction/ImmutableInstruction21ih.java | 71 + .../instruction/ImmutableInstruction21lh.java | 70 + .../instruction/ImmutableInstruction21s.java | 70 + .../instruction/ImmutableInstruction21t.java | 69 + .../instruction/ImmutableInstruction22b.java | 75 + .../instruction/ImmutableInstruction22c.java | 78 + .../instruction/ImmutableInstruction22cs.java | 74 + .../instruction/ImmutableInstruction22s.java | 75 + .../instruction/ImmutableInstruction22t.java | 74 + .../instruction/ImmutableInstruction22x.java | 69 + .../instruction/ImmutableInstruction23x.java | 74 + .../instruction/ImmutableInstruction25x.java | 97 ++ .../instruction/ImmutableInstruction30t.java | 63 + .../instruction/ImmutableInstruction31c.java | 73 + .../instruction/ImmutableInstruction31i.java | 70 + .../instruction/ImmutableInstruction31t.java | 70 + .../instruction/ImmutableInstruction32x.java | 69 + .../instruction/ImmutableInstruction35c.java | 98 ++ .../instruction/ImmutableInstruction35mi.java | 94 ++ .../instruction/ImmutableInstruction35ms.java | 94 ++ .../instruction/ImmutableInstruction3rc.java | 80 + .../instruction/ImmutableInstruction3rmi.java | 75 + .../instruction/ImmutableInstruction3rms.java | 75 + .../instruction/ImmutableInstruction51l.java | 69 + .../instruction/ImmutableInstructionFactory.java | 223 +++ .../instruction/ImmutablePackedSwitchPayload.java | 75 + .../instruction/ImmutableSparseSwitchPayload.java | 74 + .../instruction/ImmutableSwitchElement.java | 83 + .../instruction/ImmutableUnknownInstruction.java | 57 + .../reference/ImmutableFieldReference.java | 66 + .../reference/ImmutableMethodReference.java | 87 + .../immutable/reference/ImmutableReference.java | 41 + .../reference/ImmutableReferenceFactory.java | 72 + .../reference/ImmutableStringReference.java | 55 + .../reference/ImmutableTypeReference.java | 78 + .../immutable/util/CharSequenceConverter.java | 62 + .../org/jf/dexlib2/immutable/util/ParamUtil.java | 90 + .../value/ImmutableAnnotationEncodedValue.java | 72 + .../value/ImmutableArrayEncodedValue.java | 61 + .../value/ImmutableBooleanEncodedValue.java | 56 + .../immutable/value/ImmutableByteEncodedValue.java | 52 + .../immutable/value/ImmutableCharEncodedValue.java | 52 + .../value/ImmutableDoubleEncodedValue.java | 52 + .../immutable/value/ImmutableEncodedValue.java | 37 + .../value/ImmutableEncodedValueFactory.java | 140 ++ .../immutable/value/ImmutableEnumEncodedValue.java | 55 + .../value/ImmutableFieldEncodedValue.java | 55 + .../value/ImmutableFloatEncodedValue.java | 52 + .../immutable/value/ImmutableIntEncodedValue.java | 52 + .../immutable/value/ImmutableLongEncodedValue.java | 52 + .../value/ImmutableMethodEncodedValue.java | 55 + .../immutable/value/ImmutableNullEncodedValue.java | 40 + .../value/ImmutableShortEncodedValue.java | 52 + .../value/ImmutableStringEncodedValue.java | 54 + .../immutable/value/ImmutableTypeEncodedValue.java | 54 + .../rewriter/AnnotationElementRewriter.java | 66 + .../jf/dexlib2/rewriter/AnnotationRewriter.java | 71 + .../org/jf/dexlib2/rewriter/ClassDefRewriter.java | 129 ++ .../org/jf/dexlib2/rewriter/DebugItemRewriter.java | 137 ++ .../java/org/jf/dexlib2/rewriter/DexRewriter.java | 136 ++ .../jf/dexlib2/rewriter/EncodedValueRewriter.java | 147 ++ .../dexlib2/rewriter/ExceptionHandlerRewriter.java | 66 + .../dexlib2/rewriter/FieldReferenceRewriter.java | 69 + .../org/jf/dexlib2/rewriter/FieldRewriter.java | 85 + .../jf/dexlib2/rewriter/InstructionRewriter.java | 205 +++ .../rewriter/MethodImplementationRewriter.java | 80 + .../dexlib2/rewriter/MethodParameterRewriter.java | 76 + .../dexlib2/rewriter/MethodReferenceRewriter.java | 82 + .../org/jf/dexlib2/rewriter/MethodRewriter.java | 100 ++ .../java/org/jf/dexlib2/rewriter/Rewriter.java | 39 + .../org/jf/dexlib2/rewriter/RewriterModule.java | 103 ++ .../org/jf/dexlib2/rewriter/RewriterUtils.java | 118 ++ .../java/org/jf/dexlib2/rewriter/Rewriters.java | 63 + .../org/jf/dexlib2/rewriter/TryBlockRewriter.java | 72 + .../java/org/jf/dexlib2/rewriter/TypeRewriter.java | 40 + .../java/org/jf/dexlib2/util/AnnotatedBytes.java | 339 ++++ .../org/jf/dexlib2/util/EncodedValueUtils.java | 63 + .../main/java/org/jf/dexlib2/util/FieldUtil.java | 59 + .../org/jf/dexlib2/util/InstructionOffsetMap.java | 105 ++ .../java/org/jf/dexlib2/util/InstructionUtil.java | 42 + .../main/java/org/jf/dexlib2/util/MethodUtil.java | 113 ++ .../java/org/jf/dexlib2/util/Preconditions.java | 227 +++ .../java/org/jf/dexlib2/util/ReferenceUtil.java | 148 ++ .../org/jf/dexlib2/util/SyntheticAccessorFSM.java | 564 +++++++ .../jf/dexlib2/util/SyntheticAccessorResolver.java | 154 ++ .../main/java/org/jf/dexlib2/util/TypeUtils.java | 53 + .../org/jf/dexlib2/writer/AnnotationSection.java | 45 + .../jf/dexlib2/writer/AnnotationSetSection.java | 42 + .../java/org/jf/dexlib2/writer/ClassSection.java | 97 ++ .../java/org/jf/dexlib2/writer/DebugWriter.java | 163 ++ .../java/org/jf/dexlib2/writer/DexDataWriter.java | 282 ++++ .../main/java/org/jf/dexlib2/writer/DexWriter.java | 1271 ++++++++++++++ .../org/jf/dexlib2/writer/EncodedValueWriter.java | 149 ++ .../java/org/jf/dexlib2/writer/FieldSection.java | 44 + .../java/org/jf/dexlib2/writer/IndexSection.java | 41 + .../org/jf/dexlib2/writer/InstructionFactory.java | 76 + .../org/jf/dexlib2/writer/InstructionWriter.java | 455 +++++ .../java/org/jf/dexlib2/writer/MethodSection.java | 45 + .../jf/dexlib2/writer/NullableIndexSection.java | 38 + .../jf/dexlib2/writer/NullableOffsetSection.java | 38 + .../java/org/jf/dexlib2/writer/OffsetSection.java | 41 + .../java/org/jf/dexlib2/writer/ProtoSection.java | 41 + .../java/org/jf/dexlib2/writer/StringSection.java | 41 + .../org/jf/dexlib2/writer/TypeListSection.java | 41 + .../java/org/jf/dexlib2/writer/TypeSection.java | 41 + .../dexlib2/writer/builder/BuilderAnnotation.java | 64 + .../writer/builder/BuilderAnnotationElement.java | 56 + .../writer/builder/BuilderAnnotationPool.java | 108 ++ .../writer/builder/BuilderAnnotationSet.java | 60 + .../writer/builder/BuilderAnnotationSetPool.java | 106 ++ .../jf/dexlib2/writer/builder/BuilderClassDef.java | 136 ++ .../dexlib2/writer/builder/BuilderClassPool.java | 446 +++++ .../jf/dexlib2/writer/builder/BuilderContext.java | 175 ++ .../writer/builder/BuilderEncodedValues.java | 242 +++ .../writer/builder/BuilderExceptionHandler.java | 54 + .../jf/dexlib2/writer/builder/BuilderField.java | 80 + .../dexlib2/writer/builder/BuilderFieldPool.java | 107 ++ .../writer/builder/BuilderFieldReference.java | 72 + .../writer/builder/BuilderMapEntryCollection.java | 89 + .../jf/dexlib2/writer/builder/BuilderMethod.java | 73 + .../writer/builder/BuilderMethodParameter.java | 63 + .../dexlib2/writer/builder/BuilderMethodPool.java | 145 ++ .../writer/builder/BuilderMethodReference.java | 76 + .../dexlib2/writer/builder/BuilderProtoPool.java | 145 ++ .../writer/builder/BuilderProtoReference.java | 86 + .../dexlib2/writer/builder/BuilderReference.java | 39 + .../dexlib2/writer/builder/BuilderStringPool.java | 89 + .../writer/builder/BuilderStringReference.java | 58 + .../jf/dexlib2/writer/builder/BuilderTryBlock.java | 62 + .../jf/dexlib2/writer/builder/BuilderTypeList.java | 66 + .../writer/builder/BuilderTypeListPool.java | 104 ++ .../jf/dexlib2/writer/builder/BuilderTypePool.java | 95 ++ .../writer/builder/BuilderTypeReference.java | 58 + .../org/jf/dexlib2/writer/builder/DexBuilder.java | 266 +++ .../jf/dexlib2/writer/io/DeferredOutputStream.java | 8 + .../writer/io/DeferredOutputStreamFactory.java | 7 + .../org/jf/dexlib2/writer/io/DexDataStore.java | 12 + .../org/jf/dexlib2/writer/io/FileDataStore.java | 28 + .../writer/io/FileDeferredOutputStream.java | 104 ++ .../org/jf/dexlib2/writer/io/MemoryDataStore.java | 105 ++ .../writer/io/MemoryDeferredOutputStream.java | 88 + .../org/jf/dexlib2/writer/pool/AnnotationPool.java | 87 + .../jf/dexlib2/writer/pool/AnnotationSetPool.java | 64 + .../org/jf/dexlib2/writer/pool/BaseIndexPool.java | 60 + .../writer/pool/BaseNullableOffsetPool.java | 47 + .../org/jf/dexlib2/writer/pool/BaseOffsetPool.java | 60 + .../java/org/jf/dexlib2/writer/pool/ClassPool.java | 569 +++++++ .../java/org/jf/dexlib2/writer/pool/DexPool.java | 196 +++ .../java/org/jf/dexlib2/writer/pool/FieldPool.java | 74 + .../org/jf/dexlib2/writer/pool/MethodPool.java | 80 + .../org/jf/dexlib2/writer/pool/PoolClassDef.java | 135 ++ .../org/jf/dexlib2/writer/pool/PoolMethod.java | 93 + .../java/org/jf/dexlib2/writer/pool/ProtoPool.java | 134 ++ .../org/jf/dexlib2/writer/pool/StringPool.java | 63 + .../jf/dexlib2/writer/pool/StringTypeBasePool.java | 65 + .../org/jf/dexlib2/writer/pool/TypeListPool.java | 143 ++ .../java/org/jf/dexlib2/writer/pool/TypePool.java | 69 + .../org/jf/dexlib2/writer/util/TryListBuilder.java | 367 ++++ .../dexlib2/src/main/ragel/Opcodes.rl | 246 +++ .../dexlib2/src/main/ragel/SyntheticAccessorFSM.rl | 262 +++ .../src/test/java/org/jf/dexlib2/AccessorTest.java | 133 ++ .../jf/dexlib2/analysis/CommonSuperclassTest.java | 314 ++++ .../analysis/CustomMethodInlineTableTest.java | 136 ++ .../java/org/jf/dexlib2/analysis/TestUtils.java | 52 + .../dexlib2/analysis/util/SuperclassChainTest.java | 105 ++ .../java/org/jf/dexlib2/builder/FixGotoTest.java | 122 ++ .../org/jf/dexlib2/builder/FixOffsetsTest.java | 140 ++ .../jf/dexlib2/builder/PayloadAlignmentTest.java | 251 +++ .../jf/dexlib2/dexbacked/BaseDexBufferTest.java | 263 +++ .../dexlib2/dexbacked/BaseDexReaderLeb128Test.java | 269 +++ .../dexbacked/BaseDexReaderSleb128Test.java | 272 +++ .../jf/dexlib2/dexbacked/BaseDexReaderTest.java | 437 +++++ .../jf/dexlib2/util/InstructionOffsetMapTest.java | 114 ++ .../org/jf/dexlib2/writer/DexDataWriterTest.java | 538 ++++++ .../jf/dexlib2/writer/DexWriterSleb128Test.java | 251 +++ .../java/org/jf/dexlib2/writer/DexWriterTest.java | 136 ++ .../jf/dexlib2/writer/DexWriterUleb128Test.java | 242 +++ .../dexlib2/writer/JumboStringConversionTest.java | 218 +++ .../jf/dexlib2/writer/util/TryListBuilderTest.java | 566 +++++++ .../dexlib2/src/test/resources/accessorTest.dex | Bin 0 -> 28940 bytes .../HelloWorldFunctionalInterface.smali | 8 + .../HelloWorldLambda/HelloWorldLambda.smali | 57 + brut.apktool.smali/gradle.properties | 2 + brut.apktool.smali/smali/build.gradle | 129 ++ .../smali/src/main/antlr/smaliParser.g | 1145 +++++++++++++ .../smali/src/main/antlr/smaliTreeWalker.g | 1362 +++++++++++++++ .../src/main/java/org/jf/smali/InvalidToken.java | 51 + .../java/org/jf/smali/LexerErrorInterface.java | 48 + .../src/main/java/org/jf/smali/LiteralTools.java | 417 +++++ .../org/jf/smali/OdexedInstructionException.java | 46 + .../main/java/org/jf/smali/SemanticException.java | 74 + .../java/org/jf/smali/SmaliMethodParameter.java | 67 + .../src/main/java/org/jf/smali/SmaliTestUtils.java | 102 ++ .../src/main/java/org/jf/smali/WithRegister.java | 36 + .../smali/src/main/java/org/jf/smali/main.java | 505 ++++++ .../smali/src/main/jflex/smaliLexer.jflex | 659 ++++++++ .../smali/src/main/resources/smali.properties | 1 + .../antlr/org/jf/smali/expectedTokensTestGrammar.g | 153 ++ .../smali/src/test/java/ByteLiteralTest.java | 140 ++ .../smali/src/test/java/ImplicitReferenceTest.java | 242 +++ .../smali/src/test/java/IntLiteralTest.java | 144 ++ .../smali/src/test/java/LexerTest.java | 219 +++ .../smali/src/test/java/LongLiteralTest.java | 133 ++ .../smali/src/test/java/ShortLiteralTest.java | 140 ++ .../src/test/resources/LexerTest/.gitattributes | 2 + .../test/resources/LexerTest/ByteLiteralTest.smali | 47 + .../resources/LexerTest/ByteLiteralTest.tokens | 47 + .../test/resources/LexerTest/CharLiteralTest.smali | 40 + .../resources/LexerTest/CharLiteralTest.tokens | 40 + .../src/test/resources/LexerTest/CommentTest.smali | 6 + .../test/resources/LexerTest/CommentTest.tokens | 6 + .../test/resources/LexerTest/DirectiveTest.smali | 58 + .../test/resources/LexerTest/DirectiveTest.tokens | 66 + .../resources/LexerTest/FloatLiteralTest.smali | 242 +++ .../resources/LexerTest/FloatLiteralTest.tokens | 241 +++ .../test/resources/LexerTest/InstructionTest.smali | 234 +++ .../resources/LexerTest/InstructionTest.tokens | 234 +++ .../resources/LexerTest/IntegerLiteralTest.smali | 45 + .../resources/LexerTest/IntegerLiteralTest.tokens | 45 + .../test/resources/LexerTest/LongLiteralTest.smali | 48 + .../resources/LexerTest/LongLiteralTest.tokens | 48 + .../src/test/resources/LexerTest/MiscTest.smali | 78 + .../src/test/resources/LexerTest/MiscTest.tokens | 78 + .../resources/LexerTest/RealSmaliFileTest.smali | 294 ++++ .../resources/LexerTest/RealSmaliFileTest.tokens | 804 +++++++++ .../resources/LexerTest/ShortLiteralTest.smali | 49 + .../resources/LexerTest/ShortLiteralTest.tokens | 49 + .../resources/LexerTest/StringLiteralTest.smali | 43 + .../resources/LexerTest/StringLiteralTest.tokens | 43 + .../src/test/resources/LexerTest/SymbolTest.smali | 19 + .../src/test/resources/LexerTest/SymbolTest.tokens | 12 + .../LexerTest/TypeAndIdentifierTest.smali | 52 + .../LexerTest/TypeAndIdentifierTest.tokens | 95 ++ brut.apktool.smali/util/build.gradle | 37 + .../org/jf/util/AbstractForwardSequentialList.java | 118 ++ .../java/org/jf/util/AbstractListIterator.java | 81 + .../src/main/java/org/jf/util/AlignmentUtils.java | 41 + .../src/main/java/org/jf/util/ArraySortedSet.java | 198 +++ .../src/main/java/org/jf/util/BitSetUtils.java | 44 + .../main/java/org/jf/util/CharSequenceUtils.java | 51 + .../java/org/jf/util/ClassFileNameHandler.java | 452 +++++ .../src/main/java/org/jf/util/CollectionUtils.java | 224 +++ .../src/main/java/org/jf/util/ConsoleUtil.java | 110 ++ .../java/org/jf/util/ExceptionWithContext.java | 164 ++ .../util/src/main/java/org/jf/util/Hex.java | 315 ++++ .../main/java/org/jf/util/ImmutableConverter.java | 160 ++ .../src/main/java/org/jf/util/ImmutableUtils.java | 62 + .../src/main/java/org/jf/util/IndentingWriter.java | 244 +++ .../src/main/java/org/jf/util/LinearSearch.java | 85 + .../org/jf/util/NakedByteArrayOutputStream.java | 44 + .../src/main/java/org/jf/util/NibbleUtils.java | 74 + .../src/main/java/org/jf/util/NumberUtils.java | 141 ++ .../util/src/main/java/org/jf/util/PathUtil.java | 125 ++ .../org/jf/util/RandomAccessFileInputStream.java | 81 + .../org/jf/util/RandomAccessFileOutputStream.java | 65 + .../main/java/org/jf/util/SmaliHelpFormatter.java | 47 + .../src/main/java/org/jf/util/SparseArray.java | 373 ++++ .../src/main/java/org/jf/util/SparseIntArray.java | 268 +++ .../src/main/java/org/jf/util/StringUtils.java | 116 ++ .../src/main/java/org/jf/util/StringWrapper.java | 106 ++ .../util/src/main/java/org/jf/util/TextUtils.java | 82 + .../src/main/java/org/jf/util/TwoColumnOutput.java | 155 ++ .../util/src/main/java/org/jf/util/Utf8Utils.java | 286 ++++ .../java/org/jf/util/WrappedIndentingWriter.java | 184 ++ .../jf/util/AbstractForwardSequentialListTest.java | 214 +++ .../java/org/jf/util/ClassFileNameHandlerTest.java | 245 +++ .../test/java/org/jf/util/IndentingWriterTest.java | 51 + .../test/java/org/jf/util/LinearSearchTest.java | 101 ++ .../src/test/java/org/jf/util/NumberUtilsTest.java | 128 ++ .../src/test/java/org/jf/util/PathUtilTest.java | 269 +++ .../test/java/org/jf/util/StringWrapperTest.java | 118 ++ .../src/test/java/org/jf/util/TextUtilsTest.java | 53 + brut.apktool/apktool-cli/build.gradle | 66 + .../src/main/java/brut/apktool/Main.java | 558 ++++++ brut.apktool/apktool-lib/build.gradle | 49 + .../android/content/res/XmlResourceParser.java | 35 + .../src/main/java/android/util/AttributeSet.java | 77 + .../src/main/java/android/util/TypedValue.java | 300 ++++ .../src/main/java/brut/androlib/Androlib.java | 753 +++++++++ .../main/java/brut/androlib/AndrolibException.java | 39 + .../src/main/java/brut/androlib/ApkDecoder.java | 412 +++++ .../src/main/java/brut/androlib/ApkOptions.java | 33 + .../main/java/brut/androlib/ApktoolProperties.java | 93 + .../brut/androlib/err/CantFind9PatchChunk.java | 40 + .../err/CantFindFrameworkResException.java | 40 + .../brut/androlib/err/InFileNotFoundException.java | 40 + .../brut/androlib/err/OutDirExistsException.java | 40 + .../java/brut/androlib/err/UndefinedResObject.java | 39 + .../main/java/brut/androlib/java/AndrolibJava.java | 34 + .../java/brut/androlib/mod/IndentingWriter.java | 29 + .../src/main/java/brut/androlib/mod/SmaliMod.java | 101 ++ .../java/brut/androlib/res/AndrolibResources.java | 769 +++++++++ .../java/brut/androlib/res/ResSmaliUpdater.java | 163 ++ .../java/brut/androlib/res/data/ResConfig.java | 72 + .../brut/androlib/res/data/ResConfigFlags.java | 591 +++++++ .../main/java/brut/androlib/res/data/ResID.java | 70 + .../java/brut/androlib/res/data/ResPackage.java | 229 +++ .../java/brut/androlib/res/data/ResResSpec.java | 121 ++ .../java/brut/androlib/res/data/ResResource.java | 63 + .../main/java/brut/androlib/res/data/ResTable.java | 212 +++ .../main/java/brut/androlib/res/data/ResType.java | 71 + .../brut/androlib/res/data/ResUnknownFiles.java | 35 + .../java/brut/androlib/res/data/ResValuesFile.java | 90 + .../androlib/res/data/value/ResArrayValue.java | 102 ++ .../java/brut/androlib/res/data/value/ResAttr.java | 175 ++ .../brut/androlib/res/data/value/ResBagValue.java | 65 + .../brut/androlib/res/data/value/ResBoolValue.java | 38 + .../androlib/res/data/value/ResColorValue.java | 31 + .../androlib/res/data/value/ResDimenValue.java | 34 + .../brut/androlib/res/data/value/ResEnumAttr.java | 82 + .../brut/androlib/res/data/value/ResFileValue.java | 48 + .../brut/androlib/res/data/value/ResFlagsAttr.java | 163 ++ .../androlib/res/data/value/ResFloatValue.java | 38 + .../androlib/res/data/value/ResFractionValue.java | 34 + .../brut/androlib/res/data/value/ResIdValue.java | 38 + .../androlib/res/data/value/ResIntBasedValue.java | 32 + .../brut/androlib/res/data/value/ResIntValue.java | 47 + .../androlib/res/data/value/ResPluralsValue.java | 68 + .../androlib/res/data/value/ResReferenceValue.java | 63 + .../androlib/res/data/value/ResScalarValue.java | 113 ++ .../androlib/res/data/value/ResStringValue.java | 67 + .../androlib/res/data/value/ResStyleValue.java | 87 + .../brut/androlib/res/data/value/ResValue.java | 24 + .../androlib/res/data/value/ResValueFactory.java | 105 ++ .../brut/androlib/res/decoder/ARSCDecoder.java | 542 ++++++ .../androlib/res/decoder/AXmlResourceParser.java | 997 +++++++++++ .../res/decoder/Res9patchStreamDecoder.java | 142 ++ .../brut/androlib/res/decoder/ResAttrDecoder.java | 76 + .../brut/androlib/res/decoder/ResFileDecoder.java | 147 ++ .../androlib/res/decoder/ResRawStreamDecoder.java | 38 + .../androlib/res/decoder/ResStreamDecoder.java | 29 + .../res/decoder/ResStreamDecoderContainer.java | 47 + .../brut/androlib/res/decoder/StringBlock.java | 351 ++++ .../androlib/res/decoder/XmlPullStreamDecoder.java | 160 ++ .../main/java/brut/androlib/res/util/ExtFile.java | 62 + .../brut/androlib/res/util/ExtMXSerializer.java | 81 + .../brut/androlib/res/util/ExtXmlSerializer.java | 34 + .../androlib/res/xml/ResValuesXmlSerializable.java | 30 + .../brut/androlib/res/xml/ResXmlEncodable.java | 28 + .../java/brut/androlib/res/xml/ResXmlEncoders.java | 221 +++ .../java/brut/androlib/res/xml/ResXmlPatcher.java | 242 +++ .../main/java/brut/androlib/src/DebugInjector.java | 244 +++ .../main/java/brut/androlib/src/SmaliBuilder.java | 125 ++ .../main/java/brut/androlib/src/SmaliDecoder.java | 155 ++ .../src/main/java/brut/androlib/src/TypeName.java | 212 +++ .../mindprod/ledatastream/LEDataInputStream.java | 330 ++++ .../org/xmlpull/mxp1_serializer/MXSerializer.java | 1211 +++++++++++++ .../resources/brut/androlib/android-framework.jar | Bin 0 -> 2288202 bytes .../src/main/resources/prebuilt/aapt/linux/aapt | Bin 0 -> 1967712 bytes .../src/main/resources/prebuilt/aapt/macosx/aapt | Bin 0 -> 2893560 bytes .../main/resources/prebuilt/aapt/windows/aapt.exe | Bin 0 -> 1449984 bytes .../main/resources/properties/apktool.properties | 2 + .../java/brut/androlib/BuildAndDecodeJarTest.java | 68 + .../java/brut/androlib/BuildAndDecodeTest.java | 414 +++++ .../java/brut/androlib/ProviderAttributeTest.java | 91 + .../test/java/brut/androlib/SharedLibraryTest.java | 116 ++ .../src/test/java/brut/androlib/TestUtils.java | 141 ++ .../resources/brut/apktool/issue636/issue636.apk | Bin 0 -> 23374 bytes .../brut/apktool/shared_libraries/client.apk | Bin 0 -> 9068 bytes .../brut/apktool/shared_libraries/library.apk | Bin 0 -> 13715 bytes .../brut/apktool/testapp/AndroidManifest.xml | 2 + .../resources/brut/apktool/testapp/apktool.yml | 17 + .../apktool/testapp/libs/android-support-v13.jar | Bin 0 -> 402581 bytes .../testapp/res/drawable-534dpi/ic_launcher.png | Bin 0 -> 9397 bytes .../testapp/res/drawable-anydpi/ic_launcher.png | Bin 0 -> 9397 bytes .../testapp/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 9397 bytes .../apktool/testapp/res/drawable-ldpi/data.jpg | Bin 0 -> 76367 bytes .../testapp/res/drawable-ldpi/ic_launcher.png | Bin 0 -> 2729 bytes .../testapp/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../testapp/res/drawable-nodpi/ic_launcher.png | Bin 0 -> 5237 bytes .../testapp/res/drawable-tvdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../testapp/res/drawable-xhdpi/9patch.9.png | Bin 0 -> 2980 bytes .../testapp/res/drawable-xhdpi/9patch_htc.r.9.png | Bin 0 -> 2980 bytes .../res/drawable-xhdpi/9patch_samsung.9.qmg | Bin 0 -> 2980 bytes .../testapp/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 14383 bytes .../res/drawable-xhdpi/ic_launcher_samsung.qmg | Bin 0 -> 14383 bytes .../testapp/res/drawable-xxhdpi-v4/ic_launcher.png | Bin 0 -> 5237 bytes .../testapp/res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../testapp/res/drawable-xxxhdpi/ic_launcher.png | Bin 0 -> 9397 bytes .../brut/apktool/testapp/res/layout/issue1040.xml | 5 + .../brut/apktool/testapp/res/raw/blank_test.png | Bin 0 -> 2790 bytes .../brut/apktool/testapp/res/raw/no_extension | 1 + .../apktool/testapp/res/values-ast-rES/strings.xml | 4 + .../apktool/testapp/res/values-ast/strings.xml | 4 + .../res/values-b+ast+Latn+IT+AREVELA/strings.xml | 4 + .../testapp/res/values-b+en+Latn+419/strings.xml | 4 + .../testapp/res/values-b+en+Latn+US/strings.xml | 4 + .../testapp/res/values-b+en+US+POSIX/strings.xml | 4 + .../testapp/res/values-b+eng+419/strings.xml | 4 + .../apktool/testapp/res/values-en-rUS/strings.xml | 4 + .../brut/apktool/testapp/res/values-en/strings.xml | 8 + .../brut/apktool/testapp/res/values-fr/strings.xml | 5 + .../apktool/testapp/res/values-ldrtl/strings.xml | 4 + .../testapp/res/values-mcc001-mnc00/strings.xml | 4 + .../testapp/res/values-mcc001-mnc01/strings.xml | 4 + .../apktool/testapp/res/values-mcc001/anims.xml | 12 + .../apktool/testapp/res/values-mcc001/arrays.xml | 38 + .../apktool/testapp/res/values-mcc001/bools.xml | 5 + .../apktool/testapp/res/values-mcc001/colors.xml | 6 + .../apktool/testapp/res/values-mcc001/dimens.xml | 9 + .../testapp/res/values-mcc001/drawables.xml | 5 + .../brut/apktool/testapp/res/values-mcc001/ids.xml | 5 + .../apktool/testapp/res/values-mcc001/integers.xml | 6 + .../apktool/testapp/res/values-mcc001/layouts.xml | 7 + .../apktool/testapp/res/values-mcc001/plurals.xml | 23 + .../apktool/testapp/res/values-mcc001/strings.xml | 34 + .../apktool/testapp/res/values-mcc001/styles.xml | 12 + .../apktool/testapp/res/values-mcc002/arrays.xml | 7 + .../apktool/testapp/res/values-mcc002/strings.xml | 6 + .../apktool/testapp/res/values-mcc003/arrays.xml | 10 + .../apktool/testapp/res/values-mcc003/bools.xml | 4 + .../apktool/testapp/res/values-mcc003/integers.xml | 4 + .../apktool/testapp/res/values-mcc003/strings.xml | 5 + .../strings.xml | 4 + .../testapp/res/values-notround/strings.xml | 4 + .../apktool/testapp/res/values-round/strings.xml | 4 + .../apktool/testapp/res/values-watch/strings.xml | 4 + .../brut/apktool/testapp/res/values/attrs.xml | 16 + .../brut/apktool/testapp/res/values/integers.xml | 7 + .../brut/apktool/testapp/res/values/public.xml | 4 + .../brut/apktool/testapp/res/values/strings.xml | 6 + .../brut/apktool/testapp/res/xml/literals.xml | 16 + .../brut/apktool/testapp/res/xml/references.xml | 6 + .../brut/apktool/testapp/smali/HelloWorld.smali | 15 + .../smali_classes2/HelloDualDexSupport.smali | 15 + .../brut/apktool/testapp/unknown/hidden.file | 1 + .../brut/apktool/testapp/unknown/lib_bug603/bug603 | 1 + .../brut/apktool/testapp/unknown/stored.file | 1 + .../testapp/unknown/unk_folder/unknown_file | 1 + .../resources/brut/apktool/testjar/apktool.yml | 2 + .../apktool/testjar/original/META-INF/MANIFEST.MF | 3 + .../testjar/smali/com/apktool/test/Test.smali | 15 + brut.j.common/build.gradle | 20 + .../src/main/java/brut/common/BrutException.java | 37 + brut.j.common/src/templates/apache2.0-header.txt | 14 + brut.j.dir/build.gradle | 21 + .../java/brut/directory/AbstractDirectory.java | 286 ++++ .../brut/directory/ChangesWrapperDirectory.java | 127 ++ .../src/main/java/brut/directory/DirUtil.java | 95 ++ .../src/main/java/brut/directory/Directory.java | 54 + .../java/brut/directory/DirectoryException.java | 39 + .../main/java/brut/directory/FileDirectory.java | 108 ++ .../java/brut/directory/PathAlreadyExists.java | 36 + .../src/main/java/brut/directory/PathNotExist.java | 37 + .../main/java/brut/directory/ZipRODirectory.java | 154 ++ brut.j.util/build.gradle | 21 + brut.j.util/src/main/java/brut/util/BrutIO.java | 92 + .../src/main/java/brut/util/DataInputDelegate.java | 91 + brut.j.util/src/main/java/brut/util/Duo.java | 56 + .../src/main/java/brut/util/ExtDataInput.java | 95 ++ brut.j.util/src/main/java/brut/util/Jar.java | 82 + brut.j.util/src/main/java/brut/util/OS.java | 144 ++ .../src/main/java/brut/util/OSDetection.java | 37 + build.gradle | 120 ++ gradle/functions.gradle | 49 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 51348 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++ gradlew.bat | 90 + scripts/linux/apktool | 80 + scripts/osx/apktool | 80 + scripts/travis-ci/run-tests.sh | 2 + scripts/windows/apktool.bat | 4 + settings.gradle | 10 + 922 files changed, 91767 insertions(+) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/apktool.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

