To calculate the overall star rating and percentage breakdown by star, we do not use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Chapter 2 was great - an overview of how CPUs, registers and debugging works. I really enjoyed this chapter.
Then I turned to chapter 3.
I flicked through the rest of the book. It's entirely based around Windows reverse engineering. I'm not a windows guy - I'm a Linux guy. I was expecting so much more from this book.
Complete description fail. Even on the cover (same with it's Amazon description) this book only made one mention to Windows. I didn't expect the whole book to be based around Windows. What a waste of money for me.
I'm incredibly disappointed. If I hadn't waited a few months to start reading the book I'd have returned it.
I gave it 2 stars just because Chapter 2 was incredibly useful + enjoyable.
The book in general focuses a bit too much on Immunity Debugger and its Python features. This is pretty cool though, as I'm always thrilled to learn new things, but it leaves you nevertheless with some questions if you don't have those handy libraries available that come with Immunity Debugger. And sometimes a reverse engineer has to use what is available. I mainly bought the book in the hope that IDAPython will be discussed and indeed one chapter is dedicated to it.
The author knows what he's writing about, so all in all worth its money. Something for every reverse engineer's bookshelf.
Great book, until you get to page 31 where you start to write the debugger code.
The code is a disaster. It is unclearly written, with a mixture of typos and lines shouldn't be there. If you type in the code as written, it does not work. There were some "updates" added to correct some issues, but other unclear/incorrect parts are not in the updates. If the code doesn't work as-written, it is impossible to tell if I'm entering the code wrong or if the problem is the way the code is written in the book.
For a breakdown of the errors: http://stacksmash.org/2009/06/gray-hat-python-by-justin-seitz-errata/
In short, it's a great 31 pages but after that the book is useless. If one is already an expert in Python and C, then they can possibly know enough to correct the coding errors but the reason I bought the book was to gain experience with Python. Is it that hard to at least make sure the code works?
I wouldn't have an issue with typographical errors, but the code falling part as early as page 31 is inexcusable.
Very, very disappointed with not only this book but No Starch Press.
The title is fairly accurate - for hackers and reverse engineers. To be more accurate, it is mostly about reverse engineering in windows using Python2. I am by no means a security guy and to me most of the chapters are devoted to how to write windows system calls in python. Before I made the purchase, I read other people's comments and was hoping to learn some general techniques for building my own tools. However, this book is very much concentrated on reverse engineering so if you are not into this do not buy this book.
As others have pointed out, this book is dated. Code is in python2. pydbg is not updated in more than 10 years. Immunity debugger is still being maintained but getting a copy requires personal information which I do not want to provide. IDA pro is also hard to get. The concepts are still relevant though. You will definitely learn some concepts about security. At least for me I now know what hackers use debuggers for.