0

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?

David
  • 15,894
  • 22
  • 55
  • 66
yi2ng2
  • 141
  • 2
  • 5
  • 14
  • This question appears to be off-topic because it is about reverse engineering software, probably in violation of it's licensing terms and conditions, and not about creating software. – Simon May 16 '14 at 05:04

2 Answers2

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