The missing guide to debug third party apps on iOS 12+

Felipe Cavalcanti
7 min readAug 21, 2019

I always liked doing reverse engineering for fun. Back in the days when I had time to play more games on my old Windows XP PC and study random stuff, I had fun using ollydbg for doing reverse engineering on games and hack them. The interest in doing that came back when my bank’s app refused to run on my jailbroken iPhone “for my own security”, other apps do the same. This was the trigger for me to want to do reverse engineering on iOS apps.

Then, some time ago I found out that it was possible to live debug apps on iOS devices as well and tried doing it some times but I always struggled to get gdb or lldb to work. There were a lot of different versions, some specifically to arm64, others to x86 and neither worked well on newer iOS versions, and ended up giving up every time. Also, even when I eventually got it to work, I only got a working debug session using gdb or lldb on my terminal. I couldn’t get a more appropriate, more visual disassembler/debugger like IDA Pro to work.

Happily, I recently found that it’s already possible to get everything working, even a working debugging session on IDA Pro, however, finding all the information I needed to get it to work was quite a challenge. To find all the “parts” I needed to get it to work I needed to grab information from github, iOS hacking forums and even chinese websites, so I…

--

--