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 在 游戏
每月421次下载
用于 2 crates
54KB
1K SLoC
codebreaker-rs
一个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.0或MIT许可证。
依赖项
~620KB
~12K SLoC