I have a feeling that I need to get more knowledge about system programming and winapi/windows architecture in particular to be able to understand how lots of exploits work (like those exploiting buffer overflows and other bugs in system services or regular apps) as well as to be able to debug and reverse the apps I am interested in.
I am not that scared to get my hands dirty but for the last few years I was doing programming mostly on high level and it is been a while since I dug on low/system level programming.
So, my question is - is there any good reading you could recommend that can provide an overview of windows architecture/internals and how things usually work on this platform on the edge of system and application layers (it would also be great if the security means/issues were highlighted too)?