- 安装 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
- 安装 mono 包,为了在 Linux 上支持 C#
sudo apt-get install mono-complete
- 安装 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)
- 修改 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
- 设置 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
- 进入到 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。后期有时间再用别的软件实验一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)