栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

AFLsmart实践记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AFLsmart实践记录

下载
  1. 安装 automake 及一些其他的包
sudo apt-get install build-essential automake libtool libc6-dev-i386 python-pip g++-multilib

报错:E: Package ‘python-pip’ has no installation candidate

sudo apt-get install build-essential automake libtool libc6-dev-i386 python3-pip g++-multilib
  1. 安装 mono 包,为了在 Linux 上支持 C#
sudo apt-get install mono-complete
  1. 安装 gcc-4.4 以及 g+±4.4,(Peach 中的 Pin 组件在更高的 gcc 版本中会发生一些编译问题)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt install gcc-4.4
sudo apt install g++-4.4

如成功,则直接看第四步,如不能成功,可尝试以下命令

udo gedit /etc/apt/sources.list

向文件中添加如下内容:

deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe

然后安装

sudo apt-get update
    sudo apt install gcc-4.4
    sudo apt install g++-4.4

没用上的另外一种方法:https://blog.csdn.net/leviopku/article/details/101060133
4. 环境成功准备好后,开始 AFLSmart 的安装

git clone https://github.com/aflsmart/aflsmart
    cd aflsmart
    make clean all
    cd ..
    export AFLSMART=$(pwd)/aflsmart
    export WORKDIR=$(pwd)
  1. 修改 Peach 的版本
cd $AFLSMART
wget https://sourceforge.net/projects/peachfuzz/files/Peach/3.0/peach-3.0.202-source.zip
unzip peach-3.0.202-source.zip
patch -p1 < peach-3.0.202.patch
cd peach-3.0.202-source
CC=gcc-4.4 CXX=g++-4.4 ./waf configure
CC=gcc-4.4 CXX=g++-4.4 ./waf install

报错:/usr/bin/env: ‘python’: No such file or directory
如果已经下载python3:sudo ln -s /usr/bin/python3 /usr/bin/python
错误原因 :python3 中的 print 是一个内置函数, 而 python2 中的 print是一个语法结构 ,因此,python3 在打印时需要 加(),而 python2 打印时不需要加()。
解决:https://segmentfault.com/a/1190000022572643
将pyhton3改成2

sudo apt install python2
ls /usr/bin/python*

sudo update-alternatives --list python

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

sudo update-alternatives --list python
sudo update-alternatives --config python

选择1使用python2

  1. 设置 PATH 的环境变量
export PATH=$PATH:$AFLSMART:$AFLSMART/peach-3.0.202-source/output/linux_x86_64_debug/bin
    export AFL_PATH=$AFLSMART
    export LD_LIBRARY_PATH=/usr/local/lib
  1. 进入到 AFLSmart 目录,输入
cd ..
./afl-fuzz

成功界面:

使用 复现
git clone https://github.com/dbry/WavPack.git
cd WavPack
git checkout 0a72951
./autogen.sh
CC=afl-gcc ./configure --disable-shared
make clean all

Fuzz it in 24 hrs

timeout 24h $AFLSMART/afl-fuzz -m none -h -d -i $AFLSMART/testcases/aflsmart/wav -o out -w peach -g $AFLSMART/input_models/wav.xml -x $AFLSMART/dictionaries/wav.dict -e wav -- ./cli/wavpack -y @@ -o out

需要注意的是CC=afl-gcc ./configure --disable-shared需要使用静态库模式,所以不能用cmake。后期有时间再用别的软件实验一下。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号