问题
I lost the code from all the apps I built last year (thunder against my hard disk, no backup for any app). As they were rather simple apps, I put them under reverse engineering process. I have already done this a dozens of time in the past, each time I had no problems at all (if we do not count hours of work to put together all the files into a single project). I have already finished 3 apps I lost during hard disk burnout. They were reversed almost flawlessly, but I got stuck with this one.
Let's get in details. The reverse engineering process went well. I was able to get the XML code from the coded XML files pulled from the APK. I was also able to successfully decompile Java code from the classes.dex
. I got all files readable and I can open/view then via the text editor.
BUT I got a weird-looking file structure and weird file names. The project files were located inside the usual path src/com/mycompanyname/appname
. After RI process, some of the files remained in the main path (R.java
, 3rd party Ad files and a few others), while all the other files were renaimed into file structure like this:
a.java
b.java
c.java
...
z.java
All the files I wrote were renamed and got these weird names, while all 3rd party files remained intact.
Q: Could anyone tell me what could be the reason for this?
Q: Has Eclipse somehow obfuscated the code before compiling it into APK? Is this how the obfuscated APK looks like after being put through IR process?
I really hope someone will be able to help me as I still have to reconstruct more than 10 other apps. It
回答1:
The Android SDK includes Proguard to obfuscate your code. Proguard is enabled by default when you create an Android project in Eclipse using ADT. You can turn it off however. Read more about this here http://developer.android.com/guide/developing/tools/proguard.html
So...
Q: Could anyone tell me what could be the reason for this?
It's Proguard doing its job.
Q: Has Eclipse somehow obfuscated the code before compiling it into APK? Is this how the obfuscated APK looks like after being put through IR process?
It's not Eclipse by itself, it's Proguard that is called in the building process. And yes, that is how it looks like.
回答2:
Just use JAD. to decompile it properly.
来源:https://stackoverflow.com/questions/7860884/tried-to-reverse-engineer-my-app-but-got-some-weird-looking-file-tree