BaronBrixius/MarioParty6

GitHub: BaronBrixius/MarioParty6

一个基于 Java 和 Ghidra 的 Gamecube 游戏逆向工程项目,旨在通过重定位表转换和地址重映射合并《马里奥派对6》和《马里奥派对7》的小游戏库。

Stars: 0 | Forks: 0

# MarioParty6 逆向工程项目,旨在合并 Mario Party 6 和 Mario Party 7(Gamecube)的小游戏库。这两款游戏运行在相同的引擎上并使用相似的资产,因此从理论上讲,它们的小游戏内容是可以合并的。 ## 功能简介 RepointREL.java — 读取地址映射表(通过 Ghidra 反编译逆向工程得出),并在 MP6 和 MP7 的 .rel 二进制文件之间转换重定位表。代码段会直接复制过去,随后重定位表中的每个地址都会从一款游戏的内存布局重新映射到另一款游戏中。未知的地址会被标记并中止转换,以防止发生静默损坏。 SearchHexes.java — 递归字节模式搜索器,遍历提取出的游戏二进制文件以查找特定的地址或字符串,并支持可选的通配符。 ## 目标 反编译两款游戏的小游戏选择逻辑(即决定加载哪款小游戏的一个简单数字范围),扩展该范围以支持两款游戏中的小游戏,并重新映射地址引用,从而使修补后的二进制文件能在主机/模拟器上运行。在 MP7 和 MP6 之间交换具有相同资产的小游戏是可行的;但事实证明,跨版本的完整资产移植要困难得多。 ## 技术栈 Java,Ghidra 逆向工程,Gamecube REL 二进制格式,十六进制编辑 ## 状态 已搁置。成功交换了几个小游戏,但由于两款游戏之间的资产兼容性问题,完整的内容合并停滞不前。
标签:GameCube, Ghidra, JS文件枚举, TLS配置检查, 二进制修改, 内存地址重映射, 域名枚举, 游戏逆向工程