折腾安装Afl-Dyninst
巨无语,弄了两天
首先根据afl-dyninst的更新时间,选择到最近的一个commit - 332198e9abd581de1070f1010932067bcd2ed60b
https://github.com/dyninst/dyninst/tree/332198e9abd581de1070f1010932067bcd2ed60b
下载包,安装
1 | sudo apt-get install libiberty-dev libboost-all-dev libtbb-dev libdwarf-dev |
还需要下载elfutils-0.173版本,默认编译和安装目录即可,主要是apt里面的版本太老了。
解压dyninst,到文件夹下
1 | mkdir build && cd build |
这之后dyninst会被安装到target目录下,也可通过修改CMAKE_INSTALL_PREFIX
参数来调整。
最后就是编译afl-dyninst
了,找到afl-dyninst
的git仓库,clone下来。
需要手动修改Makefile
,DYNINST_ROOT
选择我们编译的target文件夹,AFL_ROOT
选择一个afl的目录即可,安装目录我们放到target文件夹里。
1 | make |
但是此时,去运行target/bin
中的afl-dyninst会报错
1 | ❯ ./afl-dyninst --help |
使用时需要设定下库的路径
1 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path to dyninst>/target/lib |
最后成功。
也可以安装在系统中
https://fansonfan.github.io/2018/10/07/AFL漫谈/
1 | sudo cp afl-dyninst /usr/bin/ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 X Mεl0n | 随手记!