Question

As I explained in one of my previous topics, I lost my hard disk with dozens of apps (all last year's work) and now I have to reverse engineer all of them. Some older were RI-ed easily because their code was not obfuscated. However, all newer apps have obfuscated code because Eclipse automatically obfuscates Android app when you produce version ready to be published.

As all classes, methods and class members got obfuscated (their names changed, parameters, etc.), I have a lot of problems regenerating code. Could you share any good blog, article or document which writes about tips and tricks in reversing obfuscated code?!

If someone wants, he can write his own suggestions or tips.

Thanks in advance

PS. this is the original article: " Tried to reverse engineer my app, but got some weird-looking file tree "

Was it helpful?

Solution

Googling for the obvious search terms yields a paper on the topic, and a presentation to go with the paper.

OTHER TIPS

I found on my own investigation several articles and theses about reverse engineering and deobfuscation. They are all free available in the Internet and you can search them by author and/or title:

  • Schulz: Automated De-Obfuscation of Android Bytecode
  • Fora: Beginners Guide to Reverse Engineering Android Apps
  • Udupa, Debray, Madou: Deobfuscation - Reverse Engineering Obfuscated Code
  • Lakhotia, Kumar: Abstract Stack Graph to Detect Obfuscated Calls in Binaries
  • Proebsting, Watterson: Decompilation in Java - Does Bytecode Reveal Source
  • Chandrasekharan, Debray: Deobfuscation - Improving Reverse Engineering of Obfuscated Code
  • Stroulia, Systa: Dynamic Analysis For Reverse Engineering and Program Understanding
  • Kazman, Carriere: Playing Detective - Reconstructing Software Architecture from Available Evidence
  • Cauquil, Jaury: Small footprint inspection techniques for Android
  • Wognsen, Karlsen: Static Analysis of Dalvik Bytecode and Reflection in Android
  • Ernst: Static and dynamic analysis - synergy and duality
  • Systa: Static and Dynamic Reverse Engineering Techniques for Java Software Systems
  • Kruegel, Robertson, Valeur, Vigna: Static Dissasembly of Obfuscated Binaries
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top