Summary
This chapter explained how Android applications are developed, compiled, and packed. We learned how to perform reverse engineering on Android applications to create the original Java source code. Once the Java source code is decompiled from the APK, we learned what to look for in the app and how to find security issues. Obfuscation and de-obfuscation are also important parts of reverse engineering, and we learned how a developer may implement some basic ProGuard obfuscation on the application code before creating the release build. However, it is not always required that the whole decompiled application code is de-obfuscated as well.
In the next chapter, we are going to have a closer look at reverse engineering an iOS application. We will explore the tools used for that and will also learn how to enumerate interesting bits in the decompiled application binary of an iOS application.