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

fork 一份东方红魔乡的 Ghidra 逆向库

// created

先说清楚 这仓库不是我写的 从 happyhavoc/th06 fork 过来的一份备份 装的是他们那套 Ghidra 数据库 上游在干的活是把《东方红魔乡》(Touhou 06) 的二进制一点点逆回成能对齐的 C++ 我拉过来纯粹想蹲在别人的成果上自己啃 顺手在本地留个副本

为啥是 th06 老游戏逆向我一直有执念 红魔乡绕不开 ZUN 2002 年拿 C++ 写的弹幕射击 跑在很老的 DirectX 上 纯手写味道 没有现代编译器那层层抽象糊上面 拿来练 RE 刚好 弹幕逻辑 碰撞 状态机反汇编出来能读懂 不像现在大工程一进去几十万符号直接劝退

Ghidra DB 这东西才是核心 人肉逆向最值钱的不是最后那份 C 代码 是这些一点点标出来的语义 哪个偏移是玩家坐标 哪个是弹幕数组 哪个函数管判定 全沉淀在库里 这份丢了等于一堆人白干 所以他们单独备份出来有道理 我 fork 也是这心态 上游哪天没了我这还有一份能对照

我没往里塞原创 就当参考 对着上游命名和结构 自己在旁边跑 Ghidra 看他们怎么切函数 怎么还原结构体 matching 到什么粒度 再回头啃原始二进制验证自己读得对不对 学到最多的反而是工程习惯 多人协作的逆向怎么组织 怎么让标注不变成一团各写各的乱码

要用直接去看上游 那边有原始文档 license 和 issue 历史 这 fork 就是个本地备份 我不保证跟上游持续同步 仓库在这 th06-re