The quintessential start. It combines C programming, assembly, and shellcode with real examples. Best for those who want to understand why exploits work.