[This page is accessible at https://insomniacslk.github.io/xorpd-solutions/]
This repository documents my solutions to the riddles proposed by
xorpd in their book [xchg rax,rax]
. The book contains advanced x86 ASM riddles and it is a fun reading for anyone interested in x86 assembly.
I had a list of solutions on my home page https://insomniac.slackware.it a few years ago, but the content got lost, and various people asked me if I still had them. Unfortunately I don't, so I decided to solve them again and document them here.
There are other solutions to this book's riddles, for example Raptor's xorpd-solutions, which I highly recommend to read. The difference from this repo is that I take an educational approach to help newcomers understand the riddles and hopefully learn something new and fun :)
You can start with the first riddle at 0x00, or see the full list below. I recommend keeping an x86 ASM reference handy, for example https://c9x.me/x86/ . Happy reversing!
If you have a question, please open an issue.
If you have found an error and want to fix it, please create a pull request
- 0x00
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x0A
- 0x0B
- 0x0C
- 0x0D
- 0x0E
- 0x0F
- 0x10
- 0x11
- 0x12
- 0x13
- 0x14
- 0x15
- 0x16
- 0x17
- 0x18
- 0x19
- 0x1A
- 0x1B
- 0x1C
- 0x1D
- 0x1E
- 0x1F
- 0x20
- 0x21
- 0x22
- 0x23
- 0x24
- 0x25
- 0x26
- 0x27
- 0x28
- 0x29
- 0x2A
- 0x2B
- 0x2C
- 0x2D
- 0x2E
- 0x2F
- 0x30
- 0x31
- 0x32
- 0x33
- 0x34
- 0x35
- 0x36
- 0x37
- 0x38
- 0x39
- 0x3A
- 0x3B
- 0x3C
- 0x3D
- 0x3E
- 0x3F