I was trying to reverse-engineering Android APK file through the use of the magical apktool. However, I notice that under the smali folder, there are folders without a proper name, i.e: a/a/a/a/a/b.smali and b/b/b/b/b/a.smali I have previously try to reverse engineer my own APK files and realize the folder structure are identical to how I organize my packages. Anyway, I do not have any NDK compiled library files. So, I am wondering what are these a/a/a/a/a smali folders and are they by any chance related to .so file?
Asked
Active
Viewed 741 times
2 Answers
1
Proguard is the reason for that. it is used to make the code obfuscated and secure against the reverse-engineering.
What Proguard does?:
The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure names.

Mehul Joisar
- 15,348
- 6
- 48
- 57
1
Try to reverse-engineer a release build of your own apk. You will see the same a.a.ab() stuff. One of the steps in making a release build is obfuscation -- you see what it does. Please note that there is also apk signing, so a modified apk cannot be re-built and re-signed (unless you have the publisher's key).
And, BTW, there's https://reverseengineering.stackexchange.com/

18446744073709551615
- 16,368
- 4
- 94
- 127