8个版本 (破坏性更新)
0.100.2 | 2024年4月21日 |
---|---|
0.100.1 | 2023年2月11日 |
0.99.0 | 2023年2月1日 |
0.91.0 | 2022年9月21日 |
0.82.0 | 2022年1月22日 |
#46 in WebAssembly
284,812 每月下载量
用于 195 个Crates(直接使用7个)
660KB
14K SLoC
这是一个来自
wasmparser
crate的分支,由Bytecode Alliance维护,目的是为了添加no_std
支持,重点关注嵌入式环境。当原始的
wasmparser
crate本身支持no_std
时,此crate将被弃用。注意:自版本
0.99.0及以上,由于
url
crate本身不支持no_std
编译,因此将Url
类型从url
crate替换为简单的String
,以将整个crate移植到no_std
。
Rust中的WebAssembly二进制文件解码器
解码库提供了对WebAssembly二进制文件的轻量级和快速的解码/解析。
另一个目标是最小化内存占用。因此,没有WebAssembly数据的AST或IR。
另见其兄弟项目https://github.com/wasdk/wasmparser
文档
文档和示例可以在https://docs.rs/wasmparser/找到
模糊测试
要模糊测试wasmparser.rs,切换到nightly Rust编译器并安装cargo-fuzz
cargo install cargo-fuzz
然后,从仓库的根目录运行
cargo fuzz run parse
如果您想将文件作为fuzzer的种子,请将它们添加到fuzz/corpus/parse/
,并重新启动cargo-fuzz。