Errata for Advanced Apple Debugging & Reverse Engineering 4th Edition

Creating this topic to catch any typos and bugs in the 4th Edition of Advanced Apple Debugging & Reverse Engineering.

1 Like

Chapter 5, p. 89, first line into Section “Modifying an Object’s Description”, should be “need” instead of “needs”

Chapter 5, p. 89, last line, should be “MasterViewController” instead of “MainViewController”.
EDIT: I noticed it has been changed to “Main” in the code for the other chapters, but in Chapter 5 it is still called “Master” in the Xcode project files.

(page numbers referring to PDF version)

I noticed that this Erratum thread is going to be closed in a few days - wouldn’t it be good to keep it open at least until a new edition is released?

Chapter 5, p. 92, when the code “p self” is executed in the debugger, the output automatically sets a variable $R2.
This is not consistent with what happens in my debugger, where no variable is created. Is this perhaps a leftover text from the 3rd edition, or could you confirm that this is how it still works?

Chapter 11, p. 176, there is still a mention of register RSI, which is a left-over from the (Intel) 3rd edition.
Should be X1 now.

Chapter 11, p. 185, mention of RDX should be X2 now.

1 Like

The chapter on Objective-C method swizzling is missing from the 4th edition (at least in my download). :frowning_face: Is that on purpose?
It was Chapter 17 in the 3rd edition.

Hi @hackvlix,

Thanks for the question. Unfortunately, there was a decision to not include that chapter due to time constraints with the update. I understand if you’re bummed about the decision and appreciate your flexibility with this change.

Best,
Gina

Ok, it’s just confusing because the past paragraph in Chapter 16 (p. 280) still refers to this chapter.

Chapter 22, p. 377 of the pdf: In the Python command “gdocumentation”, the unichr need to be replaced by chr for Python3.

Chapter 23, p. 397: The help text ‘’‘
’‘’ for the function generateOptionParser makes no sense. It was copy-and-pasted from an older version of the script.

Chapter 27, p. 494 of pdf: In the final code listing on the page, the sbt. should not be there. This should only be added in the subsequent listing.

Chapter 29, p. 536 of pdf: Apparently dtrace now spots destructive actions and blocks them. Upon execution of the dtrace command on this page, I get an error “Destructive actions not allowed”.