#cheat #file #ps2 #utility #extract #text-file #code-breaker

app cb2util

CodeBreaker PS2 文件工具

1 个不稳定版本

0.0.1 2020年5月15日

#9 in #ps2

MIT 许可证

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一起使用

  1. 创建一个包含您作弊的文本文件;格式如下所述
  2. 调用cb2util将文本文件编译为“作弊”文件
  3. 使用您喜欢的任何方法将文件传输到mc0:/PCB/cheats
  4. 启动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感兴趣,并提供了有关“作弊”压缩的有价值信息。
  • 向所有为我们的代码破解社区贡献的人们问好!

联系方式

依赖项

~1.5MB
~32K SLoC