3 ms·
What a beautiful intro to assembly programming and reverse engineering. Very minor issues that bother me more than they should: - Could it be that there is a w
by raphman_ 11y ago
What a beautiful intro to assembly programming and reverse engineering. Very minor issues that bother me more than they should:
- Could it be that there is a whitespace missing after the " ◐ " or is the gap in the border intentional?
- X/Z are used in the 'program structure' example without introducing them beforehand (or mentioning 'we will look at these later').
- A real RE report would certainly have mentioned all visible part numbers and the type of I/O controller. Although it is certainly not relevant to the game, it somehow bothers me that the author decided to omit this information. (hmm, maybe this was described in Section 3?)
- maikhoepfel 11y agoFor your #2, quoting from the link: Loads and stores are relative to the X, Y, and Z registers, which are aliases for the 16 bit register pairs starting at r26, r28, and r30 respectively (r30 is an alias for Z)
- raphman_ 11y agoIndeed. However, this explanation is only given after the example has already made use of these registers. As I stated, just a very minor issue... :)
- matheist 11y agoX/Z are used in the 'program structure' example without introducing them beforehand Probably intentional. A big part of the skill of reverse-engineering that they're introducing here is the feeling of "I don't understand what this line does, so I'll just accept it and move on, and see if I understand it later". Using X/Z before describing it is definitely in keeping with that feeling. The whole document reads as "we're intentionally throwing you in the deep end by giving you not quite enough to understand completely, but giving you enough that you can understand with some work". It's a similar approach to Microcorruption, and to the crypto challenges. I like it.