Book Image

Mobile App Reverse Engineering

By : Abhinav Mishra
5 (1)
Book Image

Mobile App Reverse Engineering

5 (1)
By: Abhinav Mishra

Overview of this book

Mobile App Reverse Engineering is a practical guide focused on helping cybersecurity professionals scale up their mobile security skills. With the IT world’s evolution in mobile operating systems, cybercriminals are increasingly focusing their efforts on mobile devices. This book enables you to keep up by discovering security issues through reverse engineering of mobile apps. This book starts with the basics of reverse engineering and teaches you how to set up an isolated virtual machine environment to perform reverse engineering. You’ll then learn about modern tools such as Ghidra and Radare2 to perform reverse engineering on mobile apps as well as understand how Android and iOS apps are developed. Next, you’ll explore different ways to reverse engineer some sample mobile apps developed for this book. As you advance, you’ll learn how reverse engineering can help in penetration testing of Android and iOS apps with the help of case studies. The concluding chapters will show you how to automate the process of reverse engineering and analyzing binaries to find low-hanging security issues. By the end of this reverse engineering book, you’ll have developed the skills you need to be able to reverse engineer Android and iOS apps and streamline the reverse engineering process with confidence.
Table of Contents (13 chapters)
1
Section 1: Basics of Mobile App Reverse Engineering, Common Tools and Techniques, and Setting up the Environment
4
Section 2: Mobile Application Reverse Engineering Methodology and Approach
8
Section 3: Automating Some Parts of the Reverse Engineering Process

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.