智辉网络

智辉网络

GameBoy的7000中文加密卡小结

admin
GameBoy的7000中文加密卡小结-第1张-游戏资讯-智辉网络

研究了几个GameBoy加密卡ROM,这些卡ROM在7000-700F端口写入加密代码,被称为7000中文加密卡。卡头数据来源于牧场物语GB2,因此也有人称其为牧场2变异卡。

研究发现,HomeBank的障眼法用于快速检测卡带是否正常。HomeBank有一个区域存放Nintendo标志的图案数据,若与机器自带数据不同,游戏不会正常运行。中文卡生产商找到了一种动态替换HomeBank数据的方法,允许显示自制LOGO同时通过检测。

7000中文加密卡利用了HomeBank替换技术实现加密。在GameBoy Color时代,MBC5是主流Mapper,它兼容MBC1,但废弃了7000-7FFF端口段。加密卡重新利用这一段端口,通过特殊程序调用修正错误代码,确保实机运行正常。

7000端口写入代码包括3个字节的实际操作,其中2个字节用于补丁载入,1个字节用于错误地址。根据补丁与正确执行ROM比较,目前解出了前三个字节的数据含义。第三个字节与跳转指令CD XY ZW相关,通过确定ZW,可以大致确定跳转目标,有助于破解。

研究重点在于预期数据恢复,目前能计算错误发生位置,但如何获取预期数据还需更多数据和脑洞。目前先分离写入前三个字节和其余字节,假设卡带使用简单元件实现操作,期待最终破译写入数据的意义。

170909更新:成功解出第三个字节的数据含义,揭示了热补丁格式为更改原始指令为跳转类指令。通过确定跳转位置,对破解提供较大帮助。若能破解最后一个字节,即可实现游戏热补丁修正的完整恢复。

标签 gameboy的7000中文加密卡小结