CalebFenton / simplify

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

Speedup simplify #122

Closed apkunpacker closed 5 years ago

apkunpacker commented 5 years ago

Simplify working great on simplification of classes given by -it but giving whole dex or apk taking too much time . Is there anything which can speedup simplify at default parameter set ? I would like to suggest a feature request of showing approx predicated time in completing simplification after first calculating number of classes and provided perameter value . If it is possible that would be great help . Thanks

CalebFenton commented 5 years ago

Do you have any suggestions on how to accurately predict how long a class will take to analyze? My guess is that problem is itself as difficult as analyzing and simplifying the code.

There are optimizations that could be done. I've only profiled a little, and mostly around register management and item cloning. There's probably a lot of other optimizations that could be done that wouldn't require a massive rewrite of smalivm.

In general, I think the best case would be to fail more gracefully for classes which can't be optimized. You don't have to try very hard to run into the halting problem in almost every non-trivial class.

apkunpacker commented 5 years ago

so only way to speedup simplification is target required class ? 1 more request last simplify build is of 2017 and we still using that because we can not build . may u build a new one with fix of all bugs appear after last build . thanks

CalebFenton commented 5 years ago

so only way to speedup simplification is target required class ?

No.

1 more request last simplify build is of 2017 and we still using that because we can not build .

Build works fine on Travis, my machine, and many others. If you can't build, please create a separate issue. That said, you're right that it's probably time to update maven release.