#ps2 #homebrew #encryption-decryption #game-hacking

无std codebreaker

解密和加密CodeBreaker PS2的任何作弊码

17个版本

0.3.2 2024年3月6日
0.3.1 2022年9月10日
0.3.0 2021年12月24日
0.2.6 2021年11月6日
0.2.2 2020年7月3日

#43游戏

Download history 64/week @ 2024-03-07 7/week @ 2024-03-14 12/week @ 2024-03-28 10/week @ 2024-04-04

每月421次下载
用于 2 crates

MIT/Apache

54KB
1K SLoC

codebreaker-rs

Latest version Documentation CI

一个Rust库,用于解密和加密CodeBreaker PS2的任何作弊码。

最初于2006年从MIPS R5900汇编逆向工程,并转换为C语言[1]。现在已移植到Rust语言,用于娱乐和盈利

更多信息,请参阅我关于从将C加密库移植到Rust中学习到的7件事的文章。

快速入门

将crates作为依赖项添加到您的Cargo.toml

[dependencies]
codebreaker = "0.3"

现在您可以从解密一些代码开始

use codebreaker::Codebreaker;

let input: Vec<(u32, u32)> = vec![
    (0x2043AFCC, 0x2411FFFF),
    (0x2A973DBD, 0x00000000),
    (0xB4336FA9, 0x4DFEFB79),
    (0x973E0B2A, 0xA7D4AF10),
];
let output: Vec<(u32, u32)> = vec![
    (0x2043AFCC, 0x2411FFFF),
    (0x201F6024, 0x00000000),
    (0xBEEFC0DE, 0x00000000),
    (0x2096F5B8, 0x000000BE),
];

let mut cb = Codebreaker::new();
for (i, code) in input.iter().enumerate() {
    assert_eq!(cb.auto_decrypt_code(code.0, code.1), output[i]);
}

阅读完整文档以获取更多示例。

no_std支持

codebreaker crate有一个名为"std"的Cargo功能,默认启用。为了在嵌入式系统中使用该crate,需要禁用此功能

[dependencies]
codebreaker = { version = "0.3", default-features = false }

许可证

版权(c)2020-2024 Mathias Lafeldt

根据您的选择,许可协议为Apache License,版本2.0MIT许可证

依赖项

~620KB
~12K SLoC