1个不稳定版本
0.1.0 | 2023年11月28日 |
---|
#518 in 压缩
在2个crate中使用了(通过orphism)
32KB
949 行
caff-archive
这是什么?
一个用于处理二进制CAFF归档的库。这是用于.cmo3
和.can3
文件的格式。
如何获得这个强大的工具?
在您的项目目录中运行以下Cargo命令(假设您已安装cargo-edit)
cargo add caff-archive
或者将以下行添加到您的Cargo.toml
(在[dependencies]
数组中)
caff-archive = "^ 0.1"
如何使用它?
fn main() {
let mut file = File::open(&archive).expect("failed to open archive for reading");
let mut archive = caff_archive::Archive::read(&mut file).expect("failed to read archive from input data");
}
可选功能
logging
在读取和写入归档时启用跟踪和调试日志。discovery
意味着logging
,并启用从该库的视角出发的额外日志记录,例如解析为枚举中的回退值的基本值,或预期为填充但包含非零字节的预期数据段,以及这些字节的不同潜在解析方式,以及其他事项。
这是如何制作的?
- 小心翼翼,不使用或引用格式供应商的任何代码或库。
- ImHex从MOC3ingbird漏洞(CVE-2023-27566)的突出显示模式在理解此格式方面发挥了重要作用。
- 未记录的二进制格式的发现过程描述在此处。
许可协议
caff-archive
可在MIT许可协议下获得。有关完整文本,请参阅LICENSE.txt
。
虽然许可协议简短,但仍然是用律师式的语言编写的。如果您喜欢更接地气的语言,请考虑以下
依赖项
~0.4–1MB
~21K SLoC