(And by the way, thanks OP for asking this question! I’ve also been wanting to learn systems programming, but I haven’t gotten around to asking yet. And all the suggested resources look fascinating… there goes my university vacation!)
(And by the way, thanks OP for asking this question! I’ve also been wanting to learn systems programming, but I haven’t gotten around to asking yet. And all the suggested resources look fascinating… there goes my university vacation!)
https://www.amazon.com/Windows-Internals-Part-architecture-m...
https://www.amazon.com/Windows-Internals-Part-Developer-Refe...
These aren't about programming per se, but if you want to do systems programming it helps to have a detailed understanding of the system. :)
After that, specific reading probably depends on the exact task you want to perform, but MS has good documentation and tutorials in many areas. Writing drivers, for example:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ge...
I do not have the expertise to work on either field but this is something in the plan. The good part is that most malwares are targeting Windows so you get a lot of samples.
Also, Windows is an excellent way to learn systems programming because the documentation and tooling is so good and things hardly ever change.
There is a wealth of documentation on MSDN for writing device drivers and such. And great tools for remote debugging so you can set up a VM in hyper-v and step through the code from the host system.
Do make sure if you're analyzing malware you do it in a VM on a machine you don't care about having to wipe, and isolate it from the rest of your network.
You can access them via assembler, C, etc.