Some very serious work was put in writing this book. I admit I never fully read it from beginning to end, but from the parts I did read I think it is very well written.
My general advice for beginners who want to get into reverse engineering is to read less books, and try to actually reverse engineer small and self contained programs. Reverse engineering has been my job for many years now, but it still very difficult for me to consume a long text talking about a reverse engineering project without touching the code on my own.
If you are interested in a hands-on experience, I recently made a self learning kit for learning reverse engineering for beginners. It is called ReversingHero. (https://www.reversinghero.com). It is one binary file made of 15 levels of increasing difficulty, teaching reverse engineering. It works in Linux environment, on the x64 series, and can also be completed using WSL (Windows subsystem for linux).
ReversingHero also contains an accompanying (paid) video solutions. The video solutions contain 12+ hours of step by step solutions to all the levels.
Yes, I made the videos a few years ago. This video series is mostly for beginners as it goes pretty slowly.
The exercises are open source and can be found here:
https://github.com/xorpd/asm_prog_ex
I think that more experienced developers can take the instruction set and bash through the exercises.
Hi. I made a collection of interesting bit tricks and techniques that I found over the last years. I put them into 0x40 assembly riddles, each one should teach you about one thing.
You could also get the hard copy for those snippets, though all of them are on the website.
How to use it? Get an assembler (Yasm or Nasm is recommended), and obtain the x86_64 instruction set. Then for every snippet, try to understand what it does. Try to run it with different inputs if you don't understand it in the beginning. Look up for instructions you don't fully know in the Instruction Sets PDF. Start from the beginning. The order has some meaning.