Every kernel resource out there has the same problem. The tutorials stop at “hello world driver.” The exploit write-ups assume you already know everything. There’s a canyon in the middle, and nobody built a bridge.
This is the bridge.
You build a real kernel driver from source, load it in a debugger, and reverse
it in Ghidra as if you had never seen the code. You chase a convincing false
lead, learn why it is safe on close reading, and then find the actual bug: a
missing ProbeForRead in a METHOD_NEITHER handler that turns one IOCTL into
an arbitrary kernel read primitive.
By the end you have read the ntoskrnl PE header from ring 3 and verified every byte in WinDbg. You understand what a defender sees when this happens. And you know the complete loop: surface identification, handler mapping, careful code reading, primitive proof.
No padding. No 45-minute “what is a computer” intro. The first module is free.