Open enovella opened 6 years ago
If it's not crashing, just hitting an execution limit, it's usually because of an "unknown" predicate leading to an infinite loop. There's no real solution to this (Halting) problem.
You can bump up the limits, that sometimes helps, but it may just be impossible because there's a conditional dependent on file system or network state.
As discussed with @CalebFenton over Slack, incrementing the execution time didn't help much.
--max-execution-time <N>
the default is 300 (5m) so try 600
Simplification complete:
total classes = 3236
total methods = 0
optimized methods = 2
failed methods = 2
run time = 848566 ms
Total optimizations:
Writing output to classes_simple.dex
Hi @CalebFenton,
any progress on this issue? It seems to be very recurrent and frequent issue every time I use simplify
to deobfuscate dex files.
Cheers
Hitting these types of errors in my experience means everything is working and you're just hitting the halting problem (which is very impossible to solve). Basically, any time you have a loop where the terminating condition relies on a variable which may be unknown, simplify will never know when to exit the loop.
I haven't closed this issue because I still want to look into this app to see if it exposes any bugs which might be contributing to the halting issue.
You could help out by pasting code you think should be deobfuscated, and I can try and tell you why it may be a halting issue.
Tested only in a function but the latest version did a good job :+1:
Total optimizations:
constantized ifs = 3
constantized ops = 13
dead assignments removed = 27
dead ops removed = 103
dead results removed = 5
nops removed = 1
peephole optmizations = 2
unreflected fields = 0
unreflected methods = 1
useless gotos removed = 2
Writing output to classes_simple.dex
Sample:
com.winglungbank.p2p.zip (rename .zip to .apk)
Goals:
a(III)
Command 1:
Logging 1:
Command 2:
Logging 2:
Any suggestion to overcome this? @CalebFenton