Skip to content
My notes when following along Zachtronics' Yoda Stories Reverse Engineering post http://www.zachtronics.com/yoda-stories/ (Except in Lisp)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.org
palette.lisp
yodesk.lisp
yodesk.org

README.org

Reverse Engineering notes for Yoda Stories

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!

Recommendations

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.

Tangling the source

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!

You can’t perform that action at this time.