honggfuzz是谷歌的一个模糊测试工具
1.准备
1.1环境
系统:
- Ubuntu 16.04 64-bits (虚拟机)
- gcc版本大于7
- 各类环境依赖库
#查看gcc版本
gcc -c
#如果版本小于7 这同时也是更改gcc版本的办法
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
#再次查看版本,确认版本大于7
gcc -c
#各类环境依赖库安装
apt-get install libbfd-dev libunwind8-dev clang-5.0 lzma-dev
2.安装honggfuzz
sudo git clone https://github.com/google/honggfuzz.git
cd honggfuzz
make
2.1编译过程中可能遇到的问题
2.1.1 问题1
linux/bfd.c:28:10: fatal error: bfd.h: No such file or directory
#include <bfd.h>
^~~~~~~
compilation terminated.
Makefile:259: recipe for target 'linux/bfd.o
#解决方法
apt-get install binutils-dev
2.1.2 问题2
linux/unwind.c:27:10: fatal error: libunwind-ptrace.h: No such file or directory
#include <libunwind-ptrace.h>
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:259: recipe for target 'linux/unwind.o' failed
make: *** [linux/unwind.o] Error 1
#解决方法
apt-get install libunwind-dev
2.1.3 问题3
=== Configuring QEMU for "i386-linux-user x86_64-linux-user" ===
ERROR: glib-2.40 gthread-2.0 is required to compile QEMU
Makefile:11: recipe for target 'honggfuzz-qemu/config.status' failed
#解决方法
apt-cache search glib2
sudo apt-get install libglib2.0-dev
2.1.4 问题4
=== Configuring QEMU for "i386-linux-user x86_64-linux-user" ===
ERROR: pixman >= 0.21.8 not present.
Please install the pixman devel package.
Makefile:11: recipe for target 'honggfuzz-qemu/config.status' failed
#解决方法
apt-get install libpixman-1-dev
3.honggfuzz安装qemu模式
cd /honggfuzz
cd honggfuzz-qemu/ && make
4.安装完成测试
#命令行窗口输入
honggfuzz
结果如下
安装完成