Practical Binary Analysis | No Starch Press
I started reading this book in november and it took me about two weeks to finish it. You should be a bit comfortable Linux and programming if you plan to give it a try. Here are my thoughts about it.
What I like the most about this book is that it explains the subject in a straightforward and concise way! The author is a very knowledgeable security researcher and his work is state of the art!
The book helped me fill a lot of gaps about how binary analysis is done, code obfuscation, linear disassemblers, recursive disassemblers, intermediate languages and lots of tools and libraries. It also helped me learn things that I didn't know they exist, like: code injection, binary instrumentation, dynamic taint analysis and symbolic execution analysis.
Each chapter sets the foundation for the next one and at the end of each chapter you're invited to solve the exercises which help you enforce and understand the information. The code and examples can be found on the book's website.
There weren't many books that I've found the appendixes very useful. This one is an exception! There's one appendix that guides you on further reading and one that discusses the disassemblers and tools used in the book. Being a novice in the field I just love when I get recommendation from an expert like Dennis Andriesse.
I enjoyed the book a lot and I hope you will too! :-)