Peach Fuzzer V4模糊测试工具Linux版本编译

1 篇文章 0 订阅
1 篇文章 0 订阅

本人是在VMWare虚拟机中执行的Peach编译步骤,所使用的原始镜像为;
ubuntu-16.04.6-server-i386.iso
Peach的编译所需部件较多,请在尝试编译时保持耐心

本文所有步骤参考自下列网址:
[1]. Gitlab官方仓库:https://gitlab.com/gitlab-org/security-products/protocol-fuzzer-ce.git
[2]. BruceWayne09的博客:ubuntu 16.04 安装peach - BruceWayne09 - 博客园 (cnblogs.com)

前置条件

关于Linux编译执行前的环境,Peach官方给出了下图中所示的要求,这些步骤所指代的工具在linux中的安装步骤不分先后,但个人建议初学者(本人是初学者qwq)在成功安装所给出的8条工具后(除了mono-complete 之外,从 Ubuntu16.04Intel Pin 一共8条)就拍摄系统快照,以免在编译的最后一步切换 mono-complete 版本时出了差错等等原因导致无法正确退回前一步。
在这里插入图片描述

具体步骤

下述将会频繁用到apt命令,而原始apt来源下载过慢,请参照下述博客更换为对应系统版本的文件
ubuntu 提升下载速度—更换阿里源 - 知乎 (zhihu.com)

  1. 第一步:安装 gccg++
sudo apt install gcc
sudo apt install g++
  1. 第二步:安装 g+±multilib
sudo apt install g++-multilib
  1. 第三步:安装 python2.7
sudo apt install python2.7
which python2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python
  1. 第四步:安装 ruby2.3
sudo apt install ruby2.3
  1. 第五步:安装 doxygen、java、xmllint、xsltproc
sudo apt install doxygen
sudo apt install openjdk-8-jdk
sudo apt install libxml2-utils
sudo apt install xsltproc
  1. 第六步:安装 nodejs、tsc
sudo apt install nodejs
sudo apt install npm
sudo npm install -g typescript@2.8
sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. 第七步:安装 Intel Pin

    在windows中点击该链接下载Intel Pin工具包linux版,之后可以用文件传输工具发往你的linux主机中,并解压:

tar -zxvf pin-3.19-98425-gd666b2bee-gcc-linux.tar.gz

更改解压后的文件名:

mv pin-3.19-98425-gd666b2bee-gcc-linux pin-3.19-98425-gcc-linux
  1. 第八步:下载peach项目

    将peach项目下载并拷贝到linux中,之后将第七步解压后的 pin-3.19-98425-gcc-linux 拷贝到peach项目中 3rdParty/pin/ 目录下,命令如下(请根据你自己的路径更改命令):

mv pin-3.19-98425-gcc-linux/ protocol-fuzzer-ce-main/3rdParty/pin/

更改peach项目文件 protocol-fuzzer-ce-main/core/BasicBlocks/bblocks.cpp ,添加一行宏定义:
在这里插入图片描述

  • 建议保存一次系统快照
  1. 第九步:安装 mono-complete

    下述指令参照mono官方网址

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https ca-certificates
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
  1. 第十步:开始编译(先进入你自己的peach目录下,即第八步中的 protocol-fuzzer-ce-main )
sudo python waf configure

效果如下(只要有一个linux开头的variant是available就可以):在这里插入图片描述

sudo python waf build

效果如下:在这里插入图片描述

删除第九步中下载的mono-complete v6.12,参照下述指令安装mono v4.8.1:
在这里插入图片描述

由于我的电脑缺少一些工具,执行完其中的 ./autogen.sh 命令后,会出现下面的打印信息,根据你自己的打印信息,用 sudo apt install xxx 安装缺少的组件即可:在这里插入图片描述

安装完成后再次执行 ./autogen.sh 命令,打印信息如下:在这里插入图片描述

发现还缺少两个组件,再次安装:

sudo apt install libtool-bin
sudo apt install cmake

再次执行 ./autogen.sh 命令,成功信息如下:在这里插入图片描述

依次执行 sudo makesudo make install ,等待时间较长,结果如图:在这里插入图片描述

之后再次进入peach项目根目录下,执行 sudo python waf install在这里插入图片描述

成功编译!目录如下:在这里插入图片描述

编译好的peach项目就在output目录下,自由选择使用。

  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值