球会04游戏逆向-存档加密算法
内容提要
文章介绍了如何使用 PSCX2 和 Ghidra 工具对 PS2 游戏进行逆向工程,分析存档文件的加密算法。通过配置模拟器和插件,提取游戏内存并识别函数,最终确认使用 BlowFish 加密算法。作者计划在 GitHub 上传逆向代码。
关键要点
-
主存档文件使用 Bit-Packing 技术进行压缩,再使用 BlowFish 算法进行加密。
-
使用 PSCX2 和 Ghidra 工具进行逆向工程。
-
PSCX2 是 PS2 模拟器,带有调试功能。
-
Ghidra 是逆向工程工具,需安装 JDK21 和 emotionengine 插件。
-
配置 PSCX2 以便提取游戏内存,保存即时存档。
-
分析游戏内存文件 eeMemory.bin,使用 Ghidra 进行反编译。
-
通过调试器找到感兴趣的函数,确认加密算法为 BlowFish。
-
作者计划在 GitHub 上传逆向代码,目标是完成存档查看和编辑器。
延伸问答
如何使用 PSCX2 和 Ghidra 进行 PS2 游戏逆向工程?
首先安装 PSCX2 和 Ghidra,配置 PSCX2 提取游戏内存,保存即时存档,然后使用 Ghidra 反编译分析内存文件。通过调试器找到感兴趣的函数,确认加密算法。
PS2 游戏存档是如何加密的?
PS2 游戏存档使用 Bit-Packing 技术进行压缩,然后采用 BlowFish 算法进行加密。
Ghidra 的安装和配置需要注意什么?
安装 Ghidra 时需确保已安装 JDK21,并下载与 Ghidra 版本匹配的 emotionengine 插件,解压并放入 Ghidra 的 Extensions 目录。
在 PSCX2 中如何保存即时存档?
在游戏读取存档界面时暂停,选择“保存即时存档”,然后在安装目录的 sstates 目录中找到保存的文件。
如何确认游戏使用的加密算法?
通过调试器找到相关函数,并分析其逻辑,结合函数名可以判断出使用的加密算法为 BlowFish。
作者计划在 GitHub 上做什么?
作者计划逐步上传逆向代码,目标是完成一个存档查看和编辑器。