Moving to kernel space (updated references)
If you are developing and debugging user space applications (and/or doing crash dump analysis in user space) and you want to understand Windows kernel dumps and device drivers better (and probably start writing your own kernel tools) here is the reading list I found the most effective over the last 4 years:
0. Read and re-read Windows Internals book in parallel while reading all other books. I read all editions by the way. It will show you the big picture and some useful WinDbg commands and techniques but you need to read device driver books to fill the gaps and be confident in kernel space:
1. Start with “The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)”. This short book will show you the basics and you can start writing your drivers and kernel tools immediately.
2. Next read “Windows NT Device Driver Development” book to consolidate your knowledge. This book has been reprinted by OSR:
3. Don’t stop here. Read “Developing Windows NT Device Drivers:
A Programmer’s Handbook”. This is very good book explaining everything in great detail and good pictures. You will finally understand various buffering methods.
4. Continue with WDM drivers and modern presentation: “Programming the Microsoft Windows Driver Model, Second Edition”. Must read even if your drivers are not WDM.
5. Finally read “Developing Drivers with the Windows Driver Foundation” book as this is the future and it also covers ETW (event tracing for Windows), WinDbg extensions, PREfast and static driver verifier.
Additional reading (not including DDK Help which you will use anyway) can be done in parallel after finishing “Windows NT Device Driver Development” book:
1. OSR NT Insider articles. I have their full printed collection 1996 - 2006
2. “Windows NT File System Internals” reprinted by OSR:
3. “Rootkits: Subverting the Windows Kernel” book will show you Windows kernel from hacker perspective. In addition you will find overview of kernel areas not covered in other books.
Of course, you must know C language and its idioms really well. Really know it down to assembly language level! I’ll publish another reading list soon. Stay tuned.
- Dmitry Vostokov @ DumpAnalysis.org -








January 20th, 2008 at 3:59 am
5th edition of Windows Internals book can be preordered now:
http://www.dumpanalysis.org/blog/index.php/2008/01/20/new-edition-of-windows%c2%ae-internals/
October 7th, 2008 at 7:19 am
[…] those who wants to dig deeper please see Moving to kernel space (updated references) post for reading […]
July 17th, 2009 at 8:03 pm
[…] Driver Kit (pp. 31 - 32) - additional resources like books can be found in my post Moving to kernel space (updated references). I plan to add a few books there […]
October 30th, 2010 at 9:21 am
Updated list:
http://www.dumpanalysis.org/blog/index.php/2010/10/30/moving-to-kernel-space-updated-references-with-an-eye-on-security/