dwgx@blog:~$dwgx
> cd ../posts

satsuki: a small binary-diff tool for Touhou 06 (fork)

// created

Simple binary comparison helper tool for Touhou 06

satsuki is a small Rust tool built specifically for binary diffing of Touhou 06 東方紅魔郷. The original project is GensokyoClub/satsuki; I forked a copy under my own account. No claim of originality here, just a note on why I pulled it over and what I use it for.

Do any Touhou reverse engineering and you can’t avoid EoSD’s version mess. Different releases, different point versions, before and after patches: the same exe has completely different binaries. Try to pin down a function, an offset, or some change, and eyeballing hex burns out fast. satsuki automates exactly this work: read in two binaries, align them, find the differences, and lay the results out clearly. The name is very Touhou too, that Sakuya Izayoi flavor.

With the fork I’m watching two things. One is using it directly as a handy tool, comparing and locating differences so I don’t have to hack together a script every time. The other is treating it as study material, seeing how the author breaks the comparison logic apart. Slicing data byte by byte in Rust makes it hard to run out of bounds, and once I understand that approach, I can reproduce it myself for another game or another format.

This fork is just local experimentation plus a backup. No guarantee it stays in sync with upstream. If you actually want to use it, go straight to GensokyoClub/satsuki upstream; the docs, license, and issues are all there. Diff it first before swapping my fork in for upstream.

There’s one rule I always keep: reverse-engineering private material doesn’t go into the repo. The game’s own binaries, private analysis notes, tokens, and local machine paths all stay out of git. Tools are tools, assets are assets.