As Daniel Souza replied, apktool is just tools to help you extract the class and manifest. If you look at the details and flow of the Android build process ( https://source.android.com/source/jack.html ), you will find that each class will be confused, packaged and placed in a .dex file (including your own classes, Android support library and other 3-way libraries).
Typically, an .apk file includes only the following file types.
- .dex (this can be not only one if a problem with 65K methods exists)
- (Android resolution and metadata)
- asset (Drawable, asset folders, layout and R)
Therefore, when you used apktools and some other tools (j-soup) to do some reverse development. You can only have source files. And as a Daniel method, you can import the project into Android studio, but there can be many errors in your project.
R.java cannot be generated (since the entire value of the user identifier will be converted as an unqiue integer to apk., It cannot be undone as a human-readable value even if you use apktool)
Obfuscation of the class and variable name. Since I mentioned the apk creation process, the class and variable name will be confused after the build. Reverse engineering will be difficult to find logic inside the application, since almost all the name is renamed as (a, b, c, d, e ...)
Proguard problem, some applications may use advanced technologies to compile source code using a more complex logical stream (for example, Dexguard). Once reverse engineering is complete, it will be harder to find the internal logic of the application.
If this is a “simple” application, you can find out what happens in the messy code.
If this is a “complex” application that includes many libraries, it will be a disaster if you try to dig out the logic in it.
Long ranger
source share