The Observer
What is a process? What is a debugger? And why does a hidden unlock code exist in memory when the UI never shows it? An investigation-first introduction to runtime observation with LLDB.
The Messenger
Every Objective-C method call passes through one function: objc_msgSend. A button has no label. An action leaves no log. Your task is to intercept the messenger and read the address before it's delivered.
The Interceptor
The app enforces a five-minute wait before you can proceed. The clock is real. But the method that reads it doesn't have to be. This chapter introduces the first modification: swapping an implementation at runtime without touching the binary.