Asking about my roadmap

Hello,

I’d like to ask about the roadmap I’ve been following.

I started learning kernel driver development on my own — without a mentor — by searching online, reading documentation, and studying articles, etc. To help myself learn, I worked on different projects. Some were small, while others were relatively large (like a hypervisor).

But I still feel like I’m missing something. I feel there are gaps in my learning, and I don’t have a clear path to follow. My usual approach has been to come up with a project idea, try to implement it, and whenever I run into a problem, I research, learn, and solve it — then repeat.

So my question is: Is there a better, more guided roadmap I can follow?
I’ve learned a lot from the book Programming the Microsoft Windows Driver Model, 2nd Edition by Walter Oney. I haven’t finished it yet, but I’ve read a good portion of it. I also refer to Windows Kernel Programming. However, I’m wondering — are these books outdated? Should I be learning from more recent resources?

I just need some guidance to ensure I’m on the right track, and that I’m not missing too many important things that I might only discover later on.

Just for context: I want to work in the security field. I love building security solutions, rootkits, and doing reverse engineering — it’s my passion. But I’m particularly obsessed with kernel driver development.

Thanks in advance!

Many of us have taken -- and are fans of -- the OSR training (OSR Seminars – OSR). It is pricy, but it very good and got me (and many others) started in the field.

That said, you're clearly motivated and have done a great job learning! I assume you're looking for a job in the field, but if not, you should. In the meantime, perhaps there is an open source project that would be in your area of interest.

Great
Yeah, I know about the OSR training, but it's just too expensive for me at the moment (I'm a master's student).

As for the job, I tried to look for a title that fits me, but most of the kernel driver development jobs I found are for Linux, not Windows. I also couldn't find anything related to cybersecurity. If you know of any companies that might offer internships or opportunities — even just to gain some experience — it would be a huge help.

In the meantime, I'll try to find an open-source project that I can contribute to.
Thanks a lot for your advice :slightly_smiling_face:.

Nowadays new Windows drivers are advised to be written in Windows Driver Foundation (Wdf) rather than (Wdm). At least that's my take.

There are samples for KMDF (Kernel Mode part of Wdf). I used the toaster sample to get going.