System-level programming, debugging and reverse engineering on Aarch64 platforms
(temporarily unavailable, working on getting more stock and chasing the printing press guy who's been ghosting me. My apologies. I do get your emails, I WILL reply soon, and gladly take your orders)
Debugging iOS & Android provides comprehensive coverage of system-level programming, debugging, and reverse engineering across both major mobile platforms. With a strong emphasis on ARM64, this book bridges the gap between theoretical OS knowledge and practical applied techniques.
This massive 500+ page full-color guide arose from Jonathan Levin's extensive experience teaching system internals and noticing knowledge gaps even among experienced developers. Think of it as "* Internals, Volume 0" - a perfect foundation before diving deeper into iOS or Android internals.
The book uniquely covers both Linux (+ Android) and Darwin systems, starting each chapter with common POSIX foundations before exploring platform-specific extensions. It's designed for both self-study and academic use, with review questions throughout.
Understand the ARM64 instruction set that powers modern mobile devices, including registers, memory addressing, and system calls essential for effective debugging.
🔍
Runtime Hooking / Tracing
Learn techniques for monitoring application behavior at runtime, setting breakpoints, tracing execution, and understanding memory management issues.
📱
Cross-Platform Debugging
Master platform-specific debugging tools and workflows while understanding the commonalities and differences between iOS and Android debugging.
Full Table of Contents
Below is a quick glance of table of contents showing the extensive coverage of this 500+ page book.
In the author's own words: "I noticed there is a woeful lack of books on low level programming and debugging. And those that do exist, focus on Intel, not ARM64. Intel is, IMHO, in its dying throes. Aarch64 is immeasurably superior in every way to x86_64. I love, love, LOVE the assembly, and I want to spread the good word to the masses."
This book fills critical knowledge gaps that Jonathan Levin observed even among experienced developers and engineers during his training sessions. It serves as a practical companion to theoretical OS texts by providing hands-on techniques and workflows for real-world debugging scenarios.
The book also introduces and documents Levin's powerful suite of debugging tools:
jtrace - A sophisticated tracing tool that "leaves strace far behind"
disarm - A disassembler that rivals IDA/Ghidra for certain workflows
procexp - Advanced process exploration utilities
memento - Heap analysis tool for GlibC, Scudo, and Darwin heaps
$ cat book_details.txt
1
Price: $128 ($0x80 in hex!)
2
Pages: 500+ full color on high-quality paper
3
Note: $8 of each purchase donated to WWF or charity of choice
This comprehensive guide is the perfect companion for:
System-Level Programmers - Looking to master the ARM64 architecture and low-level programming techniques across mobile platforms.
Security Researchers & Reverse Engineers - Who need to understand binary formats, memory management, and runtime environments for vulnerability hunting.
OS Enthusiasts - Wanting to bridge the gap between theoretical OS knowledge and practical debugging skills on real-world mobile platforms.
Computer Science Students & Educators - The book includes review questions and can serve as excellent course material for advanced OS or mobile systems classes.
Tool Developers - Learn from Jonathan's decade of experience building advanced debugging and reverse engineering tools for mobile platforms.