CalebFenton / simplify

Android virtual machine and deobfuscator
Other
4.41k stars 438 forks source link

Got an error when i executed a command according to documentation on windows 10 #143

Closed curiousfellas closed 4 years ago

curiousfellas commented 4 years ago

I downloaded the 3 jar files from https://github.com/CalebFenton/simplify/releases/tag/v1.3.0

placed them in C:// path on windows 10 64-bit

This is the apk https://github.com/CalebFenton/simplify/blob/master/simplify/obfuscated-app.apk

and executed this command java -jar simplify-1.3.0.jar -it 'org/cf/obfuscated' -et 'MainActivity' obfuscated-app.apk

But this is the error i am getting

Exception in thread "main" java.lang.RuntimeException: Unknown input file type; magic: [10, 10, 10] at org.cf.simplify.SimplifyOptions.determineInputType(SimplifyOptions.java:229) at org.cf.simplify.SimplifyOptions.setInFile(SimplifyOptions.java:60) at org.cf.simplify.SimplifyOptionsParser.getSimplifyOptions(SimplifyOptionsParser.java:95) at org.cf.simplify.SimplifyOptionsParser.parse(SimplifyOptionsParser.java:26) at org.cf.simplify.Launcher.getOptions(Launcher.java:58) at org.cf.simplify.Launcher.run(Launcher.java:120) at org.cf.simplify.Main.main(Main.java:14)

curiousfellas commented 4 years ago

@CalebFenton Which OS or Linux distro are you using?

CalebFenton commented 4 years ago

I'm using MacOS but that doesn't matter.

The error tells you that the first three bytes of the file you're giving it are newlines. This is not a ZIP. Try giving it an apk file.

CalebFenton commented 4 years ago

Make sure the input path exists exactly where you're saying it does (in the same directory as simplify-1.3.0.jar) and that it's a valid zip file.

CalebFenton commented 4 years ago

Oh, and welcome to github.

curiousfellas commented 4 years ago

The problem was that apk file was wrong The file on which i tried again the command in verbose mode is https://github.com/CalebFenton/simplify/raw/master/simplify/obfuscated-app.apk

This is the output i got

C:>java -jar simplify-1.2.1.jar -v -it 'org/cf/obfuscated' -et 'MainActivity' obfuscated-app.apk 21:13:37.641 INFO Main - Options: Input file: obfuscated-app.apk Output file: obfuscated-app_simple.apk Include filter: 'org/cf/obfuscated' Exclude filter: 'MainActivity' Max execution time: 300 Max address visits: 10000 Max call depth: 50 Max method visits: 1000000 Max optimization passes: 100 Output API level: 15 Include support library: false 21:13:42.696 INFO Main - Filtered 1097 support library classes Simplification complete: total classes = 0 total methods = 0 optimized methods = 0 failed methods = 0 run time = 8391 ms Total optimizations:

Writing output to obfuscated-app_simple.apk

curiousfellas commented 4 years ago

also for simplify-1.3.0.jar output was

C:>java -jar simplify-1.3.0.jar -v -it 'org/cf/obfuscated' -et 'MainActivity' obfuscated-app.apk 21:37:19.730 INFO Main - Options: Input file: obfuscated-app.apk Output file: obfuscated-app_simple.apk Include filter: 'org/cf/obfuscated' Exclude filter: 'MainActivity' Max execution time: 300 Max address visits: 10000 Max call depth: 50 Max method visits: 1000000 Max optimization passes: 100 Output API level: 15 Include support library: false 21:37:25.729 INFO Main - Filtered 1097 support library classes Simplification complete: total classes = 0 total methods = 0 optimized methods = 0 failed methods = 0 run time = 7903 ms Total optimizations:

Writing output to obfuscated-app_simple.apk

CalebFenton commented 4 years ago

This is strange. If I download the jar you link and the simplify jar from the releases page, it runs fine. This is part of the test suite for every release, too.

Try checking the file hashes (especially of obfuscated-app.apk) and copy/pasting the command exactly.

$ shasum simplify-1.3.0.jar
2a86448b71d79d4ccc981d34e80e5fecb51d7b33  simplify-1.3.0.jar
$ shasum obfuscated-app.apk
2007e1f33d05cbff73e9f1a979854e43236a8f18  obfuscated-app.apk
$ java -jar simplify-1.3.0.jar obfuscated-app.apk -it 'org/cf/obfuscated' -et 'MainActivity'
[1 / 19] Processing top level class Lorg/cf/obfuscated/Reflection;
(1 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->secretMethod2()V
... snip ...
curiousfellas commented 4 years ago

Verified the SHA1 checksums PS C:> certutil.exe -hashfile .\obfuscated-app.apk sha1 SHA1 hash of .\obfuscated-app.apk: 2007e1f33d05cbff73e9f1a979854e43236a8f18 CertUtil: -hashfile command completed successfully. PS C:> certutil.exe -hashfile .\simplify-1.3.0.jar sha1 SHA1 hash of .\simplify-1.3.0.jar: 2a86448b71d79d4ccc981d34e80e5fecb51d7b33 CertUtil: -hashfile command completed successfully.

This is the output C:>java -jar simplify-1.3.0.jar obfuscated-app.apk -it 'org/cf/obfuscated' -et 'MainActivity' Simplification complete: total classes = 0 total methods = 0 optimized methods = 0 failed methods = 0 run time = 6515 ms Total optimizations:

Writing output to obfuscated-app_simple.apk

apkunpacker commented 4 years ago

hy mate @curiousfellas i had similer problem in past for windows 7 and i resolved it by using double quotes instead of single in commands .

java -jar simplify.jar obfuscated-app.apk -it "org/cf/obfuscated" -et "MainActivity"

Please try and let me know if it works on windows 10 or not

curiousfellas commented 4 years ago

I tried with double quotes. C:>java -jar simplify-1.3.0.jar obfuscated-app.apk -it "org/cf/obfuscated" -et "MainActivity" [1 / 19] Processing top level class Lorg/cf/obfuscated/Reflection; (1 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->secretMethod2()V Simplifying: Lorg/cf/obfuscated/Reflection;->secretMethod2()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (2 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod2()V Simplifying: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod2()V Optimizations: constantized ifs = 0 constantized ops = 3 dead assignments removed = 12 dead ops removed = 0 dead results removed = 3 nops removed = 0 peephole optmizations = 1 unreflected fields = 0 unreflected methods = 1 useless gotos removed = 0 (2 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod2()V Simplifying: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod2()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (3 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->()V Simplifying: Lorg/cf/obfuscated/Reflection;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (4 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectedFieldLookup()V Simplifying: Lorg/cf/obfuscated/Reflection;->reflectedFieldLookup()V Optimizations: constantized ifs = 0 constantized ops = 1 dead assignments removed = 9 dead ops removed = 0 dead results removed = 1 nops removed = 0 peephole optmizations = 2 unreflected fields = 1 unreflected methods = 0 useless gotos removed = 0 (4 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectedFieldLookup()V Simplifying: Lorg/cf/obfuscated/Reflection;->reflectedFieldLookup()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (5 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->main([Ljava/lang/String;)V Simplifying: Lorg/cf/obfuscated/Reflection;->main([Ljava/lang/String;)V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (6 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->()V Simplifying: Lorg/cf/obfuscated/Reflection;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (7 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->secretMethod(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)I 18:15:27.909 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/Reflection;->secretMethod(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (8 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod()V Simplifying: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod()V 18:15:28.819 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Optimizations: constantized ifs = 0 constantized ops = 9 dead assignments removed = 27 dead ops removed = 0 dead results removed = 6 nops removed = 0 peephole optmizations = 4 unreflected fields = 0 unreflected methods = 1 useless gotos removed = 0 (8 / 8) Executing top level method: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod()V 18:15:29.690 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/Reflection;->reflectSecretMethod()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [2 / 19] Processing top level class Lorg/cf/obfuscated/R$anim; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$anim;->()V Simplifying: Lorg/cf/obfuscated/R$anim;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [3 / 19] Processing top level class Lorg/cf/obfuscated/R$dimen; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$dimen;->()V Simplifying: Lorg/cf/obfuscated/R$dimen;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [4 / 19] Processing top level class Lorg/cf/obfuscated/R$id; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$id;->()V Simplifying: Lorg/cf/obfuscated/R$id;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [5 / 19] Processing top level class Lorg/cf/obfuscated/R$attr; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$attr;->()V Simplifying: Lorg/cf/obfuscated/R$attr;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [6 / 19] Processing top level class Lorg/cf/obfuscated/R$string; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$string;->()V Simplifying: Lorg/cf/obfuscated/R$string;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [7 / 19] Processing top level class Lorg/cf/obfuscated/StringHolder; (1 / 5) Executing top level method: Lorg/cf/obfuscated/StringHolder;->get(I)Ljava/lang/String; Simplifying: Lorg/cf/obfuscated/StringHolder;->get(I)Ljava/lang/String; Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (2 / 5) Executing top level method: Lorg/cf/obfuscated/StringHolder;->set(ILjava/lang/String;)V Simplifying: Lorg/cf/obfuscated/StringHolder;->set(ILjava/lang/String;)V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (3 / 5) Executing top level method: Lorg/cf/obfuscated/StringHolder;->cacheStrings()Ljava/util/Map; Simplifying: Lorg/cf/obfuscated/StringHolder;->cacheStrings()Ljava/util/Map; Optimizations: constantized ifs = 0 constantized ops = 5 dead assignments removed = 1 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (4 / 5) Executing top level method: Lorg/cf/obfuscated/StringHolder;->()V Simplifying: Lorg/cf/obfuscated/StringHolder;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 4 dead ops removed = 1 dead results removed = 0 nops removed = 0 peephole optmizations = 1 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (5 / 5) Executing top level method: Lorg/cf/obfuscated/StringHolder;->()V Simplifying: Lorg/cf/obfuscated/StringHolder;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [8 / 19] Processing top level class Lorg/cf/obfuscated/R$color; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$color;->()V Simplifying: Lorg/cf/obfuscated/R$color;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [9 / 19] Processing top level class Lorg/cf/obfuscated/BuildConfig; (1 / 1) Executing top level method: Lorg/cf/obfuscated/BuildConfig;->()V Simplifying: Lorg/cf/obfuscated/BuildConfig;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [10 / 19] Processing top level class Lorg/cf/obfuscated/MathCrypt; (1 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->encode(I)[I 18:15:32.137 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->encode(I)[I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (2 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I 18:15:32.368 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Aborting execution; exception: org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Skipping optimization of Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I; null execution graph (3 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->decode([I)I 18:15:32.719 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->decode([I)I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (4 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->()V 18:15:32.846 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I 18:15:32.991 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (5 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->main([Ljava/lang/String;)V 18:15:33.151 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->main([Ljava/lang/String;)V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (6 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->decode(III)I 18:15:33.272 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->decode(III)I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (7 / 7) Executing top level method: Lorg/cf/obfuscated/MathCrypt;->()V 18:15:33.485 WARN InvokeOp - org.cf.smalivm.exception.MaxAddressVisitsExceededException: Exceeded max address visits @0 ExecutionNode{signature=Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I, op=sget r9, Lorg/cf/obfuscated/MathCrypt;->sieveCount:I, @=0} in Lorg/cf/obfuscated/MathCrypt;->getPrimes()[I Simplifying: Lorg/cf/obfuscated/MathCrypt;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [11 / 19] Processing top level class Lorg/cf/obfuscated/R$integer; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$integer;->()V Simplifying: Lorg/cf/obfuscated/R$integer;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [12 / 19] Processing top level class Lorg/cf/obfuscated/R$styleable; (1 / 2) Executing top level method: Lorg/cf/obfuscated/R$styleable;->()V Simplifying: Lorg/cf/obfuscated/R$styleable;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (2 / 2) Executing top level method: Lorg/cf/obfuscated/R$styleable;->()V Simplifying: Lorg/cf/obfuscated/R$styleable;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [13 / 19] Processing top level class Lorg/cf/obfuscated/R$bool; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$bool;->()V Simplifying: Lorg/cf/obfuscated/R$bool;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [14 / 19] Processing top level class Lorg/cf/obfuscated/R$style; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$style;->()V Simplifying: Lorg/cf/obfuscated/R$style;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [15 / 19] Processing top level class Lorg/cf/obfuscated/R$layout; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$layout;->()V Simplifying: Lorg/cf/obfuscated/R$layout;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [16 / 19] Processing top level class Lorg/cf/obfuscated/R$menu; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$menu;->()V Simplifying: Lorg/cf/obfuscated/R$menu;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [17 / 19] Processing top level class Lorg/cf/obfuscated/WhiteNoise; (1 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->realTarget()V Simplifying: Lorg/cf/obfuscated/WhiteNoise;->realTarget()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (2 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->messyMethod()V Simplifying: Lorg/cf/obfuscated/WhiteNoise;->messyMethod()V Optimizations: constantized ifs = 0 constantized ops = 28 dead assignments removed = 70 dead ops removed = 2 dead results removed = 39 nops removed = 0 peephole optmizations = 3 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (3 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->convolutedMethod()I Simplifying: Lorg/cf/obfuscated/WhiteNoise;->convolutedMethod()I Optimizations: constantized ifs = 0 constantized ops = 3 dead assignments removed = 2 dead ops removed = 0 dead results removed = 2 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (4 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->stepA1()I Simplifying: Lorg/cf/obfuscated/WhiteNoise;->stepA1()I Optimizations: constantized ifs = 0 constantized ops = 1 dead assignments removed = 0 dead ops removed = 0 dead results removed = 1 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (5 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->()V Simplifying: Lorg/cf/obfuscated/WhiteNoise;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (6 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->stepA2()I Simplifying: Lorg/cf/obfuscated/WhiteNoise;->stepA2()I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (7 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->stepB1()I Simplifying: Lorg/cf/obfuscated/WhiteNoise;->stepB1()I Optimizations: constantized ifs = 0 constantized ops = 1 dead assignments removed = 0 dead ops removed = 0 dead results removed = 1 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 (8 / 8) Executing top level method: Lorg/cf/obfuscated/WhiteNoise;->stepB2()I Simplifying: Lorg/cf/obfuscated/WhiteNoise;->stepB2()I Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [18 / 19] Processing top level class Lorg/cf/obfuscated/R; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R;->()V Simplifying: Lorg/cf/obfuscated/R;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 [19 / 19] Processing top level class Lorg/cf/obfuscated/R$drawable; (1 / 1) Executing top level method: Lorg/cf/obfuscated/R$drawable;->()V Simplifying: Lorg/cf/obfuscated/R$drawable;->()V Optimizations: constantized ifs = 0 constantized ops = 0 dead assignments removed = 0 dead ops removed = 0 dead results removed = 0 nops removed = 0 peephole optmizations = 0 unreflected fields = 0 unreflected methods = 0 useless gotos removed = 0 Simplification complete: total classes = 19 total methods = 1 optimized methods = 44 failed methods = 1 run time = 23017 ms Total optimizations: constantized ifs = 0 constantized ops = 51 dead assignments removed = 125 dead ops removed = 3 dead results removed = 53 nops removed = 0 peephole optmizations = 11 unreflected fields = 1 unreflected methods = 2 useless gotos removed = 0 Writing output to obfuscated-app_simple.apk

But i am not sure if this is the expected output

apkunpacker commented 4 years ago

nice . its worked. this is expected output mate , you may again try with higher value of max-address-visit or max-method visit as per as output say as some of methods left unoptimized

CalebFenton commented 4 years ago

Lol Windows