2 unstable releases
Uses new Rust 2024
| 0.2.0 | Jul 6, 2025 |
|---|---|
| 0.1.0 | Jul 6, 2025 |
#577 in Cryptography
41KB
488 lines
rzfile
Rust Library for client file handling
rzfile
rzfile is a lightweight Rust library designed for parsing and handling binary file structures used in proprietary MMO game clients. It's part of the NGemity project and supports tools such as the RZEmulator.
Features
- Parser for
data.00xindex files - File name encryption and decryption based on game-specific logic
- Customizable encryption and reference tables
- Precise error handling via
RZError(compatible withthiserror) - Fully tested with high code coverage
- Minimal dependencies (only
thiserroroptionally)
Example
use rzfile::file::parse_index;
use rzfile::name::{encode_file_name, decode_file_name};
let mut buffer = std::fs::read("data.000").unwrap();
let entries = parse_index(&mut buffer, None).unwrap();
let encoded = encode_file_name("test.dds", None, None).unwrap();
let decoded = decode_file_name(&encoded, None, None, true).unwrap();
assert_eq!(decoded, "test.dds");
Installation
cargo add rzfile
Or manually via Cargo.toml:
[dependencies]
rzfile = "0.1"
Documentation
License
MIT © NGemity
Dependencies
~205–630KB
~15K SLoC