thprac:东方弹幕练习工具 fork 来研究注入
thprac 是东方弹幕(Touhou shmup)的练习工具,把游戏自带那个简陋练习菜单换成能选符卡、选阶段、调参数的新 UI。它不是我写的,最早 Ack 做的,他弃坑后 touhouworldcup 那帮人接手维护。我这仓库 fork 来的,纯粹拿源码研究注入。
感兴趣的点在往闭源游戏进程里塞代码。东方是很好的 RE 标本,ZUN 从 th06 写到 th19,每作内存布局都不一样。thprac 的做法是把自己注进正在跑的游戏,直接替换原版菜单。

注入方式几种,设计挺干净。exe 丢进游戏目录靠文件名自动认是哪作;游戏开着就 thprac.exe --attach 找进程,也能 --attach <pid> 指定,或把游戏 exe 拖上去。另外有 --without-vpatch --without-oilp 这类开关,因为它顺手把 vpatch、OpenInputLagPatch 一起 patch 了。成熟注入工具一半功夫都花在跟别的补丁共存上。
真正值得读的是按作适配,每作一套独立 hook,符卡、boss、阶段判定全不一样。DDC(th14)那个臭名昭著的魔理沙激光 desync 它直接在内存里修;EoSD 加了退出能存 replay 的暂停菜单;PoFV、UDoALG 这种对战作还单独做工具窗口。练习开的选项会写进 replay,回放时自动还原。
游戏内 Backspace 调快捷菜单,F12 高级选项,热键在 launcher 里改,兼容 Wine 和 Steam Deck。工程是 C++,msbuild 编,带个 loc_json 把本地化 json 编进去。fork 它不为发布,就想看别人怎么把 RE、注入、每作差异化 patch 三件麻烦事捏成一个能用工具。上游是 touhouworldcup/thprac。