Sadly, nobody really loves crash reports, but I'm here to change that!
This crash course in crash reports will highlight how these often overlooked files are an invaluable source of information, capable of revealing malware infections, exploitation attempts, or even buggy (exploitable?) system code. Such insights are critical for defense and offense, empowering us to either protect or exploit macOS systems.
To start, we will explain exactly how to understand the structure and information provided in a crash report. Then, we'll show how this information, which often serves as little more than a digital breadcrumb, can however ultimately reveal the exact cause of the crash. Of course, this journey requires a solid understanding of reverse engineering, so we'll briefly touch on topics such as disassembling and debugging ARM64.
Next, we'll apply what we've learned to work through various real-life crashes that revealed flaws such as uninitialized pointers, use-after-frees, and heap overflows. And yes, some still exist on macOS even today.