What this book covers
Chapter 1, Basics of Reverse Engineering – Understanding the Structure of Mobile Apps, talks about the reverse engineering fundamentals, common terminologies, and Android and iOS application fundamentals.
Chapter 2, Setting Up a Mobile App Reverse Engineering Environment Using Modern Tools, gets you familiar with the tools used in the reverse engineering of mobile (Android and iOS) applications, and then sets up an environment for reverse engineering by installing the same tools in a virtual machine. The chapter also mentions Mobexler, a mobile application penetration-testing platform.
Chapter 3, Reverse Engineering an Android Application, deep-dives into how Android apps are developed, their internal components, structure, format, and binary details, and finally, how to reverse an Android application package to extract the Java as and smali
code.
Chapter 4, Reverse Engineering an iOS Application, discusses how iOS apps are developed, understanding the iOS executable format, exploring more iOS app reverse engineering tools and their usage, and finally, reverse engineering an iOS application package.
Chapter 5, Reverse Engineering an iOS Application (Developed Using Swift), details the difference between Objective-C and Swift applications from a developer's perspective and also explains the process of reverse engineering a Swift application using the Radare2 reverse engineering tool.
Chapter 6, Open Source and Commercial Reverse Engineering Tools, discusses some common open source as well as commercial (closed source) tools for reverse engineering, together with real-world case studies for reverse engineering and the required capabilities in a reverse engineering tool.
Chapter 7, Automating the Reverse Engineering Process, explains when it might be a good idea to automate some parts of reverse engineering, and how to do that. This chapter also looks at some case studies to explain how automation can be performed for some test cases.
Chapter 8, Conclusion, talks about what to do next, and what other skills might be good to learn if you want to continue this journey of reverse engineering.