These are the notes I took while following along with Zachtronics’ post about reverse engineering a binary file. (This one!) This is one particular discipline I’m both super-interested in, but also not overly skilled with, so something like this is perfect for me!
I actually did a good portion of the Lisp code before creating an Org document for it, so a lot of the notes are looking back and explaining the code I already wrote–which admittedly underwent a few revisions before I even put it in revision control.
I wasn’t even going to make a Git Repo for it, but I’ve found myself explaining what I’ve been doing a lot recently, plus it’s nice to have for my own reference!
So, without further ado, here’s the file!
yodesk.org is best viewed in Org Mode, though GitHub renders it reasonably as well. (Though you’ll miss out on the cool interactive bits)
And speaking of interactive bits, in Org Mode, it’s a bonus to have SLY or SLIME running in the background with a Common Lisp implementation like SBCL. Preferably with QuickLisp installed to pull down ZPNG for the image extraction bits, though you can run the overall parser without it.
Since yodesk.org is a literate Org file, you can tangle the entire thing to yodesk.lisp and palette.lisp with C-c C-v t
in Org Mode.
There are already tangled versions of these files included with this repo–though if you make changes to the org file, this is how you can run it all separately!