#binary-parser #binary-tree #extract #json #auditable #input #binaries

可审计信息

使用cargo auditable提取二进制中嵌入的依赖树的高级crate。

11 个版本

0.8.0 2024年7月30日
0.7.2 2024年5月8日
0.7.0 2023年4月27日
0.6.3-alpha.12022年10月24日
0.5.0-alpha.42022年9月18日

535编码

Download history 8020/week @ 2024-04-20 8332/week @ 2024-04-27 8497/week @ 2024-05-04 9376/week @ 2024-05-11 8268/week @ 2024-05-18 7494/week @ 2024-05-25 8270/week @ 2024-06-01 9385/week @ 2024-06-08 8232/week @ 2024-06-15 8328/week @ 2024-06-22 8257/week @ 2024-06-29 8875/week @ 2024-07-06 8486/week @ 2024-07-13 9877/week @ 2024-07-20 9561/week @ 2024-07-27 9175/week @ 2024-08-03

每月38,442次下载
3 个crate 中使用

MIT/Apache

32KB
389

使用cargo auditable从二进制中提取依赖树的高级crate。

可选地将它们反序列化为JSON字符串或Rust数据结构。

特性

  • 从头开始设计用于对恶意输入具有弹性的二进制解析。
  • 100%内存安全的Rust,包括所有依赖项。(在serde_json及其依赖项中存在一些unsafe,但仅在序列化中使用,此处未使用)。
  • 跨平台,可移植,易于交叉编译。在具有std的任何Rust目标上运行。
  • 解析来自任何支持平台的二进制文件,而不仅仅是它运行的平台。
  • 支持设置输入和输出的尺寸限制,以防止OOMszip bombs

用法

// Uses the default limits: 1GiB input file size, 8MiB audit data size
let info = audit_info_from_file(&PathBuf::from("path/to/file"), Default::default())?;

还提供了从Read实例或从&[u8]加载数据的函数,请参阅文档

替代方案

rust-audit-info是此crate的命令行界面。

如果您需要比此crate提供的更低级别的接口,请使用auditable-extractauditable-serdecrate。

依赖项

~0.3–0.8MB
~17K SLoC