Excelling in Android application reverse engineering – the way forward
This book has covered the very basics of getting started with understanding how an Android application is developed, its internals, and how to reverse engineer an Android Package (APK).
Depending upon the objective you are trying to achieve with reverse engineering, sometimes, only decompiling the APK will give you the answer, but sometimes, you might have to go steps ahead and analyze the Smali or Java code.
Android applications can also contain native libraries. These are the code compiled for a specific architecture, mainly for intensive tasks. From a malware analysis point of view, it becomes critical to reverse engineer the native libraries as well because malicious code could also have been hidden inside these libraries. But to be able to reverse engineer the compiled code, one would need to have an understanding of assembly language, ARM and x86 architecture details, and so on. Here are a...