NEUZZ 项目使用教程
neuzz neural network assisted fuzzer 项目地址: https://gitcode.com/gh_mirrors/ne/neuzz
1. 项目目录结构及介绍
NEUZZ 项目的目录结构如下:
neuzz/
├── programs/
│ ├── program1/
│ ├── program2/
│ └── README.md
├── LICENSE
├── README.md
├── afl-gcc
├── afl-showmap
├── neuzz
├── nn.py
└── ...
目录结构介绍
- programs/: 包含多个示例程序的目录,每个程序目录下有详细的 README 文件,介绍如何设置和运行该程序。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的主 README 文件,包含项目的概述、依赖项和基本使用说明。
- afl-gcc: AFL(American Fuzzy Lop)的编译器,用于编译目标程序。
- afl-showmap: AFL 的工具,用于生成覆盖率信息。
- neuzz: 项目的核心可执行文件,用于启动模糊测试。
- nn.py: 神经网络模块的 Python 脚本,用于训练和预测。
2. 项目的启动文件介绍
2.1 neuzz
neuzz
是项目的核心启动文件,用于启动模糊测试。它需要以下参数:
-i in_dir
: 输入目录,包含初始种子文件。-o out_dir
: 输出目录,用于存储生成的测试用例。-l mutation_len
: 突变长度,指定每次突变的字节数。[program path]
: 目标程序的路径。[arguments]
: 目标程序的参数。
示例命令:
./neuzz -i neuzz_in -o seeds -l 7506 /readelf -a
2.2 nn.py
nn.py
是神经网络模块的启动文件,用于训练和预测。它需要以下参数:
[program]
: 目标程序的路径。[arguments]
: 目标程序的参数。
示例命令:
python nn.py /readelf -a
3. 项目的配置文件介绍
NEUZZ 项目没有明确的配置文件,但依赖于以下环境配置:
3.1 依赖项
- Tensorflow 1.8.0: 用于神经网络的训练和预测。
- Keras 2.2.3: 用于构建神经网络模型。
- Python 2.7: 项目的主要编程语言。
- gcc: 用于编译目标程序。
3.2 环境设置
-
安装 Tensorflow 和 Keras:
pip install tensorflow==1.8.0 keras==2.2.3
-
安装 Python 2.7:
sudo apt-get install python2.7
-
安装 gcc:
sudo apt-get install gcc
3.3 编译目标程序
使用 afl-gcc
编译目标程序:
afl-gcc -O3 -funroll-loops /path/to/program.c -o program
通过以上步骤,您可以成功设置和运行 NEUZZ 项目。
neuzz neural network assisted fuzzer 项目地址: https://gitcode.com/gh_mirrors/ne/neuzz
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考