#syscalls #syzkaller #syzlang

nightly no-std bin+lib syzlang-parser

解析 Syzlang 语言

5 个版本

0.1.4 2024 年 3 月 7 日
0.1.3 2024 年 3 月 3 日
0.1.2 2024 年 2 月 25 日
0.1.1 2024 年 1 月 28 日
0.1.0 2024 年 1 月 28 日

#942 in 数据结构

每月 28 次下载
3 crate(2 个直接)中使用

自定义许可证

130KB
4K SLoC

syzlang-parser

将 Syzkaller 数据解析为在 Rust 中更有用的结构。

状态

该项目创建用于提取一些系统调用描述,因此您不应期望它能够解析 Syzkaller 最新版本的 everything。已知可工作的 Syzkaller 版本哈希为 1834ff143d083ae2c374f2a18d887575887321a9

我在我的 build.rs 文件中使用此工具,因此我没有看到很多修复 unwrap() 使用的需求。如果您在编译时未决定数据源,则不应将该 crate 视为稳定的可使用工具。我希望在某个时候修复此问题。

构建

使用或无需 CLI 工具解析 Syzkaller 检出。

cargo build --release
cargo build --release --features=cli

还有由 cargo-make 使用的 Makefile.toml,但可以忽略。

要在 Syzkaller 检出上进行测试,可以使用

cargo run --features=cli -- --os all --dir /path/to/syzkaller -a process

这将解析 everything,但不会存储结果,请参阅帮助命令以获取更多信息。

依赖项

~1–2.7MB
~53K SLoC