Deep, reproducible technical writing on offensive research. Filtered by category, searchable by tag.
Most debuggers are written in C. We're building ours in Python, which means first solving a problem: Python can't call the native Windows API on its own. Part 1 builds that bridge with ctypes, from loading kernel32 to recreating Windows structs and function prototypes by hand.
A from-scratch build of a Windows debugger using the raw debug API. Then we turn it into an exploit developer's toolkit: bad-char hunting, offset finding, ROP gadget search, and egghunters, all built on the debugger we wrote.