安装AFL前期工作:
编译安装AFL,及其LLVM_MODE
$ git clone https://github.com/google/AFL.git
$ cd AFL
$ make
$ cd llvm_mode
$ make
$ export LLVM_CONFIG=/usr/bin/llvm-config-10 #需要指定LLVM_CONFIG路径,不然会报错
$ cd ..
$ make install
llvm_mode将启用对afl-clang-fast和afl-clang-fast++的支持。 它将用于持久模式。 这将需要安装clang和llvm。
$ sudo apt-get install clang
安装QEMU_MODE:
这里需要安装一些依赖项
$ sudo apt install libtool-bin
$ sudo apt install bison
$ sudo apt install libglib2.0-dev
以及安装python环境,笔者安装的是2.7版本
$ wget https://www.python.org/ftp/python/2.7.x/Python-2.7.x.tgz
$ tar -zxvf Python-2.7.x.tgz
$ cd Python-2.7.x
$ ./configure --prefix=/usr/local/python
$ make && sudo make install
$ ln -s /usr/local/python-2.7.x/bin/python /usr/bin/python2.7.x
安装完成后,开始通过构建脚本安装qemu_mode,过程中出现了一些问题,下面是解决方案。
问题1是参考:http://fuzzing.in/codelabs/fuzzing_opensource_cn
因为直接安装可能会报错,需要完成以下操作,对 ~/xxx/AFL/qemu_mode/build_qemu_support.sh 对 122行中的内容进行修改:
tar xf "$AR