转载于:https://www.anquanke.com/post/id/208940#h2-20
目录
安装 honggfuzz (以 Ubuntu 16.04 为例)
首先我们需要拉取项目
git clone https://github.com/google/honggfuzz.git
cd honggfuzz
然后需要安装相关的依赖库文件
apt-get install libbfd-dev libunwind8-dev clang-5.0 lzma-dev
接下来需要确认 lzma
的存在:
locate lzma
如果发现只有liblzma.so.x
文件,那么需要建立一个符号链接
sudo ln -s /lib/x86_64-linux-gnu/liblzma.so.5 /lib/x86_64-linux-gnu/liblzma.so
接下来执行以下命令来完成编译安装:
sudo make
cp libhfcommon includes/libhfcommon
cp libhfnetdriver includes/libhfnetdriver
cp libhfuzz includes/libhfuzz
sudo make install
至此,我们的 honggfuzz
主程序安装结束。
安装 honggfuzz-qemu (以 ubuntu 16.04 为例)
接下来因为我们要进行fuzz
的是黑盒状态下的程序,因此我们需要使用qemu
模式来辅助我们监控fuzz
的代码覆盖率,那么honggfuzz
为我们提供了honggfuzz
的MAKEFILE
,我们直接使用如下命令即可安装
cd qemu_mode
make
sudo apt-get install libpixman-1-dev
cd honggfuzz-qemu && make
⚠️:使用 docker
化的 honggfuzz
时会产生变量类型的报错,目前没有找到解决方式,已经提了 issue
,因此不建议使用 docker
化的 honggfuzz
安装 honggfuzz-qemu
。
⚠️:安装时会使用 git
安装不同的几个包。