1 个不稳定版本
0.0.1 | 2020年5月15日 |
---|
#9 in #ps2
6KB
117 行
cb2util - CodeBreaker PS2 文件工具
cb2util 是为了利用 CodeBreaker PS2 的不同文件格式而制作的。
目前支持
- 代码保存(v7 和 v8+/Day1)
- "cheats" 文件(v7+)
- PCB 文件(升级/自制软件等)
功能包括
- 从代码保存和 "cheats" 文件中提取(和解密)所有作弊码
- 编译自己的代码保存和 "cheats" 文件
- 加密或解密 PCB 文件
- 将 PCB 文件转换为 ELF 文件
- 检查代码保存和 PCB 文件上的数字签名
安装
获取 cb2util 最简单、最快的方法是从 下载 站点下载 Windows 或 Linux 的预构建二进制文件。
如果您想从源代码构建 cb2util,只需运行
$ git clone --recursive git://github.com/mlafeldt/cb2util.git
$ cd cb2util/
$ make
$ make install
也支持 CMake
$ mkdir build
$ cd build/
$ cmake ..
$ make
$ make install
如果您系统缺少 elf.h
,您可以使用以下方式安装它
$ curl https://gist.githubusercontent.com/mlafeldt/3885346/raw/elf.h | tee /usr/local/include/elf.h
用法
由于 cb2util 是一个命令行应用程序,您必须向其传递参数。
使用 --help
选项将显示以下文本
$ cb2util --help
usage: cb2util [--version] [--help] <command> [<args>]
The available commands are:
cbc
cheats
pcb
Try 'cb2util help <command>' for more information.
如上所述,您必须指定要使用的命令及其参数。每个支持的文件格式都有一个命令,例如 cbc
用于代码保存。要了解命令的预期工作方式,请运行 cb2util help <command>
。
以下是有关不同文件格式的说明和示例。
代码保存(v7 和 v8+/Day1)
文件扩展名: *.cbc
代码保存(也称为 Day1 或 CBC 文件)存储可以添加到 CodeBreaker 代码列表的作弊码。虽然 CB v7 的旧代码保存仅加密,但 CB v8+ 和 CB Day1 的新文件也进行了数字签名。这就是为什么您需要使用 cb2util 编译的代码保存需要破解的 CodeBreaker 的原因(在网上搜索 CodeBreaker RSA 修复)。
usage: cb2util cbc [-d[mode] | -v] <file>...
or: cb2util cbc -7 [-d[mode]] <file>...
or: cb2util cbc [-b <banner>] -c <infile> <outfile>...
or: cb2util cbc -7 -c <infile> <outfile>...
no option
extract cheats
-d[mode], --decrypt[=mode]
decrypt extracted cheats
mode can be "auto" (default) or "force"
-v, --verify
verify RSA signature
-c, --compile
compile text to CBC file
-b, --banner <banner>
custom banner inserted into compiled CBC v8+ files
-7
files are in CBC v7 format
示例
从 mgs3.cbc 中提取作弊码并将其打印到屏幕上
$ cb2util cbc mgs3.cbc
提取作弊码,解密加密的作弊码,并将其打印到屏幕上
$ cb2util cbc --decrypt mgs3.cbc
与上一个示例相同,但强制解密 所有 作弊码
$ cb2util cbc --decrypt=force mgs3.cbc
检查 re4.cbc 的数字签名
$ cb2util cbc --verify re4.cbc
从 v7 代码保存 re4.cbc 中提取并解密作弊码,将其写入 re4.txt
$ cb2util cbc --decrypt -7 re4.cbc > re4.txt
将 mygame.txt 中的作弊码编译为 CB v8+ 的代码保存
$ cb2util cbc --compile mygame.txt /path/to/cbc
将 mygame.txt 中的作弊码编译为 CB v7 的代码保存
$ cb2util cbc --compile -7 mygame.txt /path/to/cbc
请注意,要编译的文本文件格式将在下面描述。
“作弊”文件
“作弊”文件是CodeBreaker的内部代码数据库。它通常保存在记忆卡中(mc0:/PCB/cheats
)并且在代码列表更改时更新。
usage: cb2util cheats [-d[mode]] <file>...
or: cb2util cheats -c <infile> <outfile>...
no option
extract cheats
-d[mode], --decrypt[=mode]
decrypt extracted cheats
mode can be "auto" (default) or "force"
-c, --compile
compile text to cheats file
示例
从“作弊”文件中提取所有作弊并打印到屏幕
$ cb2util cheats /path/to/cheats
与上一个示例相同,但将提取的作弊写入cheats.txt
$ cb2util cheats /path/to/cheats > cheats.txt
提取所有作弊,解密加密的作弊并打印到屏幕
$ cb2util cheats --decrypt /path/to/cheats
与上一个示例相同,但强制解密 所有 作弊码
$ cb2util cheats --decrypt=force /path/to/cheats
将mygames.txt中的作弊编译到“作弊”文件中
$ cb2util cheats --compile mygames.txt /path/to/cheats
只需几个步骤,您就可以使用自己的“作弊”文件与CodeBreaker一起使用
- 创建一个包含您作弊的文本文件;格式如下所述
- 调用cb2util将文本文件编译为“作弊”文件
- 使用您喜欢的任何方法将文件传输到
mc0:/PCB/cheats
- 启动CodeBreaker以查看您的作弊准备就绪
文本文件格式
为了编译代码保存和“作弊”文件,cb2util使用libcheats来解析文本格式的作弊代码。文本文件的格式相当简单
"Game title 1"
Cheat description 1
Cheat code 1
Cheat code 2
Cheat description 2
Cheat code 1
Cheat code 2
"Game title 2"
etc.
此外,允许C++风格的注释;所有以//
序列开始直到行尾的文本都将被忽略。
示例
"TimeSplitters"
// some senseless comment
Mastercode
902D51F8 0C0B95F6
Invincible
203C8728 00000001
PCB文件
文件扩展名:*.bin
PCB文件是CodeBreaker PS2可以执行的加密并数字签名的二进制文件。理论上,这可以是任何应用程序;我们至今已看到升级和自制软件。
usage: cb2util pcb [-s] <infile> <outfile>...
or: cb2util pcb -e <infile> <outfile>...
or: cb2util pcb -v <file>...
no option
encrypt/decrypt file
-s, --strip
strip RSA signature
-e, --elf
convert into ELF file
-v, --verify
verify RSA signature
注意:PCB文件使用对称加密(RC4)加密,cb2util实际上不关心它是加密还是解密。
示例
解密pelican.bin到pelican.raw
$ cb2util pcb pelican.bin pelican.raw
解密pelican.bin到pelican.raw并剥离RSA签名
$ cb2util pcb --strip pelican.bin pelican.raw
将pelican.bin转换为ELF文件pelican.elf
$ cb2util pcb --elf pelican.bin pelican.elf
检查pelican.bin的RSA签名
$ cb2util pcb --verify pelican.bin
游戏存档
文件扩展名:*.cbs
即将推出... ;)
免责声明
本程序未经SONY COMPUTER ENTERTAINMENT,INC.或PELICAN ACCESSORIES,INC.许可、认可或赞助。所有商标均为各自所有者的财产。
- cb2util遵循MIT许可证条款。请参阅LICENSE文件。
- 代码在
arcfour.c
中遵循BSD许可证条款,这被认为与MIT许可证兼容。 - SHA-1实现被置于公共领域。
- libcheats遵循MIT许可证条款。请参阅LICENSE文件。
- libbig_int的许可证说明它可以自由重新分发/修改。
- zlib有自己的宽松免费软件许可证。
- Sharness和所有测试遵循GNU通用公共许可证第2版或更高版本的条款。请参阅COPYING文件以获取完整的许可证文本。
特别感谢
- Alexander Valyalkin为其出色的libbig_int库。
- Peter C. Gutmann和Paul Rubin为快速实现SHA-1。
- Vector为制作PS2 Save Builder并节省我的时间。
- Gtlcpimp使我再次对cb2util感兴趣,并提供了有关“作弊”压缩的有价值信息。
- 向所有为我们的代码破解社区贡献的人们问好!
联系方式
- 网页: http://mlafeldt.github.com/cb2util
- 邮箱: [email protected]
- Twitter: @mlafeldt
依赖项
~1.5MB
~32K SLoC