一、GitHub下载AFL源码
我没有在官网下载,而是在GitHub上下,使用clone或者下载压缩包解压。
git clone https://github.com/google/AFL.git
二、编译afl
进入afl文件夹并执行make
make
make install
三、编译QEMU
进入qemu_mode文件夹执行build_qemu_support.sh
./build_qemu_support.sh
1、报错lib-tool not found,接下来缺少各种库,参考深入分析 afl / qemu-mode(qemu模式)解决安装各种库问题。
2、然后重新执行./build_qemu_support.sh,报错无法下载qemu-2.10.0.tar.xz,电脑网络受限无法从网上下载qemu-2.10.0.tar.xz,根据提示到http://download.qemu-project.org/qemu-2.10.0.tar.xz下载压缩包放到qemu_mode目录下。
3、重新执行./build_qemu_support.sh,又报解压错误tar: qemu-2.10.0/roms/u-boot/scripts/Kconfig: Cannot open: Is a directory,将压缩包复制到Windows上用winrar一顿操作解压好房回去,并且修改build_qemu_support.sh,把121、122行
rm -rf "qemu-${CERSION}" || exit 1
tar xf "$ARCGIVE" || exit 1
注释掉(加#注释)
3、重新执行./build_qemu_support.sh,报错Cannot use 'python', Python 2.6 or later is required,安装python2.7,使用虚拟环境或者将python命令指向python2.7(可使用软连接或者修改用户配置文档等操作)参考AFL(afl-qemu mode)的安装和使用(一)解决接下来的问题。
4、重新执行./build_qemu_support.sh,经历无数次失败,一次次折磨之后出现Build process successful,恭喜,还好没放弃。