Chapters

Hide chapters

Advanced Apple Debugging & Reverse Engineering

Third Edition · iOS 12 · Swift 4.2 · Xcode 10

Before You Begin

Section 0: 3 chapters
Show chapters Hide chapters

Section III: Low Level

Section 3: 7 chapters
Show chapters Hide chapters

Section IV: Custom LLDB Commands

Section 4: 8 chapters
Show chapters Hide chapters

i. What You Need
Written by Derek Selander

To follow along with the tutorials in this book, you’ll need the following:

  • A Mac running Mojave (10.14) or later. Earlier versions might work, but they’re untested.
  • Xcode 10.0 or later. Packaged with Xcode is the latest and greatest version of LLDB, the debugger you’ll use extensively throughout this book. At the time of this writing, the version of LLDB packaged with Xcode is lldb-1000.11.37.1.
  • Python 2.7. LLDB uses Python 2.7 to run its Python scripts. Fortunately, Python 2.7 automatically ships with macOS, as well as with Xcode. You can verify you have the correct version installed by typing python --version in Terminal.
  • A 64 bit iOS device running iOS 12 or later, and a paid membership to the iOS development program [optional]. For most chapters in the book, you can run any iOS programs in the Simulator. However, you’ll get more out of this book by using a 64-bit iOS device to test out certain ideas or suggestions littered throughout the book.

Once you have these items in place, you’ll be able to follow along with almost every chapter in this book. For certain sections, you’ll need to disable the Rootless security feature in order to use some of the tools (i.e. DTrace). This is discussed in Chapter 1.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2024 Kodeco Inc.