honggfuzz

作者: YW23 | 来源:发表于2018-11-23 16:56 被阅读0次

一、简介

honggfuzz项目网站https://github.com/google/honggfuzz

二、安装

安装环境: Ubuntu 16.04 64-bits (虚拟机)

2.1 安装依赖:

需求:Linux - The BFD library (libbfd-dev) and libunwind (libunwind-dev/libunwind8-dev), clang-4.0 or higher for software-based coverage modes

sudo apt-get install libbfd-dev libunwind

安装gcc (版本要> 7.0)

对于ubuntu 16.04,最简单的方式为

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

2.2 安装Honggfuzz

sudo git clone https://github.com/google/honggfuzz.git

cd honggfuzz

make

三、hongfuzz的使用

3.1 对程序进行源码插桩编译

export CC=/path/to/honggfuzz/hfuzz-cc/hfuzz-gcc CXX=/path/to/honggfuzz/hfuzz-cc/hfuzz-g++

honggfuzz/hfuzz-cc目录下提供了编译器的wrapper,其实也可以设置CC, CXX为hfuzz-cc,因为其他的warapper都链接到hfuzz-cc

3.2 用honggfuzz进行fuzz

详细用法见USAGE

假设已用hfuzz-cc插桩编译了软件exiv2, 并make install 到/usr/local/bin中。

./honggfuzz -f input_dir -P  -z -- /usr/local/bin/exiv2 -pv __FILE__

-f 指向初始输入的文件夹

-P 表示persistent模式

-z 表示采用插桩模式,及使用了hfuzz-cc 对源码进行编译时插桩,并根据覆盖率对fuzz过程进行反馈、

/usr/local/bin/exiv2:被测二进制程序的路径

-pv: exiv2的运行参数

__FILE__: 相当于AFL中的@@, 在实际的运行中会被input_dir中的输入所替换。

相关文章

  • honggfuzz

    一、简介 honggfuzz项目网站https://github.com/google/honggfuzz 二、安...

网友评论

      本文标题:honggfuzz

      本文链接:https://www.haomeiwen.com/subject/gigjqqtx.html