Table of Contents

Side notes regarding some books

Hacking - the Art of Exploitation

This book is what made me learn some Assembly for the first time. I find it interesting insofar, that it explains hacker culture well, while not digressing from the technical topic too much. In it's core it just teaches the reader programming (Mostly C, some x86 Assembly, some shell scripting) and finding hacks on his own. It's quite expensive and most of the knowledge can be easily obtained over the internet. I don't think it's particularly worth buying. Most readers, who get this book, probably already have “the hacker spirit” and don't need some book for them to explain what the MIT Railroad club were and what Stallman does. I think “the hacker spirit” is best obtained by sitting at your computer and actually doing stuff, instead of reading some old, kind-of pretentious book.

The Shellcoder's handbook

This is a rather advanced book, that requires you to know C and Assembly and such on different platform. Different platforms is the correct keyword herein, because most of the book consists on very old systems, that virtually don't exist anymore in the wild and hence might be interesting for somebody exploiting almost-retro systems, but not to anybody who wants to learn somebody about new developments in infosec, among them CISCO IOS, Solaris, ancient Linux kernel versions and even older OpenBSD versions. If you want to learn what a buffer overflow looked like in 2000s, it's the book for you, but for anything else it's rather lacking in newer developments.

Modern x86-64 Assembly language programming

This book mostly focuses on how to improve the performance of common algorithms with Assembly, unlike what one might think, it doesn't teach how to write entire programs in Assembly, which is probably a more nuanced way of getting to Assembly programming. The parts, that are not Assembly, are written in C++. It's rather limited in scope and for example doesn't teach you anything useful for disassembly beyond the very basics, neither does it so for anything else that isn't x86_64. It focuses on the extensions of the architecture like AVX, AVX2 and AVX-512 also and doesn't spare much time on the basics. In that sense it's good for it's intended purpose, but isn't much helpful with anything beyond that.