First thing I did was figure out that it was a git repo, search Google for how to extract the code, and run
git archive master | tar x -C code. It asks for 2 prime factors of a number which doesn't have exactly 2 prime factors, from
which it can be assumed that something was wrong with the code.
git fsck (after more Google searching) showed 3 hashes not matching up, which means that the hash of the file contents
(plus header metadata) didn't match the filename. I then read https://git-scm.com/book/en/v2/Git-Internals-Git-Objects (side-note: the Pro Git book is a fantastic introduction to and reference for git).
3 Files are corrupted:
sharp.cpp in each of the 3 commits (see
Then I tool a leap of faith and assumed that a single byte was wrong (corrupted, hence the SATA controller comment) in each blob, and wrote a script to brute force it. It worked for first one, and then doom had to remind me to propagate the changes: the first