项目简介
本项目是一个基于Unicorn引擎的模糊测试框架,主要用于模拟执行二进制程序并开展模糊测试。框架借助Unicorn引擎模拟CPU执行,结合LibFuzzer进行模糊测试,致力于找出二进制程序中潜藏的漏洞与错误。
项目的主要特性和功能
- 多架构支持:能够支持x86、MIPS、ARM等多种CPU架构。
- Unicorn引擎:利用Unicorn引擎模拟CPU执行,提供轻量级的CPU模拟器。
- LibFuzzer集成:集成LibFuzzer进行模糊测试,通过提供随机或特定输入数据,尝试触发潜在的错误或异常行为。
- 内存管理:提供工具函数,可对内存分配、释放、映射和补丁添加等操作进行管理。
- 状态管理:具备恢复和保存模拟器状态的功能,便于后续测试与分析。
- 执行路径跟踪:提供工具用于跟踪和分析程序执行路径及覆盖情况。
安装使用步骤
安装依赖库
bash
sudo dnf install cmake ninja pkg-config llvm-devel gtest-devel clang capstone-devel
构建项目
bash
mkdir build
cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
ninja
安装Python绑定
bash
python3 -m venv venv
source venv/bin/activate
pip install -e python-bindings/
运行模糊测试
- 使用GDB或其他工具生成进程快照。
- 运行示例脚本进行模糊测试:
bash python3 examples/basic.py -s dump_<timestamp>.json
分析和调试
- 分析输出的崩溃信息,确定潜在的漏洞或错误。
- 使用Unicorn引擎和相关的工具进行动态二进制分析和逆向工程。
请在使用本框架前,对Unicorn引擎和LibFuzzer有基本了解,并熟悉相关命令和工具。建议在隔离环境中运行测试,防止对系统造成潜在影响。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】