Learning resource
iOS App Reverse Engineering
Freely published 2015 book by snakeninny and hangcom on reverse engineering iOS apps, distributed in its repository as a 442-page English PDF. Its four parts cover the iOS filesystem and file types; OS X and on-device tools such as class-dump, Theos, Reveal, IDA, Cycript and LLDB with debugserver; an Objective-C and ARM assembly methodology for locating the code behind a feature; and four worked practices that locate the relevant code in Notes, Mail, WeChat and Messages and then extend those apps with tweaks.
- Targets
- App
- Category
- Learning resources
- Relationship
- Learning resource
- Sources reviewed
Requirements & limits
- A historical resource: the repository has not changed since 2015-09-17 and holds only the README, an MIT LICENSE and the PDF. The book states that its examples were done on an iPhone 5 with iOS 8.1, and its tooling chapters date from the Xcode 6 and Cydia Substrate era, so tools, file locations and app internals described there may no longer match current iOS releases.
- Reading needs only a PDF reader. The practices assume an OS X host with the tools the book names and a jailbroken test device, and they examine Apple's bundled apps and WeChat as installed on that device.
- The cover credits the English translation to Ziqi Wu, 0xBBC, tianqing and Fei Cheng, and the preface warns that the book may contain errors and inaccuracies. The README invites readers who find it useful to buy the paid ebook edition.
- MIT license, copyright 2015 snakeninny; the apps examined in the practices keep their owners' rights.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · iosre/iOSAppReverseEngineering · Revision a09c2cf
- iOSAppReverseEngineering.pdf GitHub · iosre/iOSAppReverseEngineering · Revision a09c2cf
- LICENSE GitHub · iosre/iOSAppReverseEngineering · Revision a09c2cf
More in References and learning
- Frida Snippets · Learning resource
- iOSRE: iOS Reverse Engineering reference · Learning resource
- linux-re-101 · Learning resource
- Frida Labs · Learning resource
- osx & ios re 101 · Learning resource
- AndroidReverse101 · Learning resource