7个版本
0.13.2 | 2024年7月31日 |
---|---|
0.13.1 | 2024年6月30日 |
0.12.0 | 2024年4月12日 |
0.11.2 | 2023年12月21日 |
0.11.1 | 2023年8月31日 |
#653 in 测试
每月下载701次
用于 8 crates
560KB
12K SLoC
LibAFL_bolts: OS和Fuzzer开发者库集合。
libafl_bolts
crate公开了LibAFL的许多底层功能,供与模糊测试无关的项目或与LibAFL完全不同的模糊器使用。螺栓中的跨平台功能包括(但不限于)
- SerdeAnyMap:一个通过类型存储和检索元素的映射,可序列化和反序列化
- ShMem:一个跨平台(Windows、Linux、Android、MacOS)的共享内存实现
- LLMP:通过SharedMap实现的快速、无锁的IPC机制
- Core_affinity:维护版本的
core_affinity
,可用于获取核心信息和将进程绑定到核心 - Rands:用于模糊测试的快速随机数生成器(如RomuRand)
- MiniBSOD:获取并打印有关当前进程状态的信息,包括重要的寄存器。
- Tuples:类似Haskel的编译时元组列表
- Os:特定于操作系统的事物,如信号处理、Windows异常处理、管道和
fork
的帮助器
LibAFL_bolts由以下人员编写和维护
- Andrea Fioraldi [email protected]
- Dominik Maier [email protected]
- s1341 [email protected]
- Dongjia Zhang [email protected]
- Addison Crump [email protected]
贡献
对于bug,请随意打开问题或直接联系我们。感谢您的支持。<3
虽然我们很乐意帮助您完成PR,但请尽量
- 使用稳定 rust编译所有crate(将最终的非稳定代码隐藏在
cfg
中) - 在推送代码之前,运行
cargo nightly fmt
- 检查
cargo clippy --all
或./clippy.sh
的输出 - 运行
cargo build --no-default-features
以检查no_std
兼容性(并可能添加#[cfg(feature = "std")]
以隐藏代码的部分)
列表中的某些部分可能很难,如果您无法自行修复,请不要害怕打开PR,我们可以帮助。
许可
根据您的选择,在Apache License, Version 2.0或MIT license下许可。除非您明确表示,否则任何有意提交以包含在此crate中的贡献,如Apache-2.0许可中定义,应按上述方式双许可,不附加任何额外条款或条件。
在更严格的许可下,如GPL或AGPL,可以使用每个crate中存在的相应功能启用依赖项,例如libafl crate的'agpl'功能。
依赖项
~0.5–43MB
~676K SLoC