ubuntu 16.04 安装peach
当前操作系统:ubuntu 16.04
使用 TUNA 的软件源镜像替换sources.list
备份原sources.list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list,删除原有内容,输入以下内容
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
打开software-updater,勾选以下选项

执行以下命令
sudo apt update
sudo apt upgrade
安装依赖库
sudo apt update
sudo apt install -y \
coreutils apt-utils wget curl openssl ca-certificates bash-completion \
joe vim nano \
unzip p7zip \
fping hping3 httping thc-ipv6 gdb \
tcpdump wireshark-common \
locales-all \
git build-essential joe vim strace tcpdump \
ruby doxygen libxml2-utils less openjdk-8-jre xsltproc asciidoctor \
nodejs node-typescript wget \
apt-transport-https dirmngr gnupg ca-certificates apt-utils \
cmake dos2unix
sudo apt install -y libglib2.0-dev libcairo2-dev
sudo apt install -y autoconf
如果提示以下错误
ubuntu16.04安装vim报错 vim : Depends: vim-common (= 2:7.4.052-1ubuntu3.1) but 2:7.4.1689-3ubuntu1.3
参考 https://blog.csdn.net/yzf279533105/article/details/105101275,执行以下命令
sudo apt-get purge vim-common
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim
安装mono6 (出处见该网页 https://www.mono-project.com/download/stable/#download-lin-ubuntu)
mono6用于编译peach
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
sudo apt install mono-devel
安装后查看版本
$mono -V
Mono JIT compiler version 6.12.0.182 (tarball Tue Jun 14 22:35:00 UTC 2022)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(610)
Suspend: hybrid
GC: sgen (concurrent by default)
下载peach
mkdir peach
cd peach
git clone https://gitlab.com/gitlab-org/security-products/protocol-fuzzer-ce.git
cd protocol-fuzzer-ce/3rdParty/pin
wget http://software.intel.com/sites/landingpage/pintool/downloads/pin-3.2-81205-gcc-linux.tar.gz
tar -xf pin-3.2-81205-gcc-linux.tar.gz
获取paket.bootstrapper.exe,paket.targets,paket.exe,Paket.Restore.targets
注意:由于github网站连接不稳定,wget https://github.com/... 的命令建议逐条执行,并确保每条命令执行成功
cd protocol-fuzzer-ce/paket/.paket
wget https://github.com/fsprojects/Paket/releases/download/5.258.1/paket.bootstrapper.exe
wget https://github.com/fsprojects/Paket/releases/download/5.258.1/paket.targets
wget https://github.com/fsprojects/Paket/releases/download/5.258.1/paket.exe
wget https://github.com/fsprojects/Paket/releases/download/5.258.1/Paket.Restore.targets
执行ls查看是否成功获取以下文件
paket.bootstrapper.exe,paket.targets,paket.exe,Paket.Restore.targets
下载pin-3.19-98425-gd666b2bee-gcc-linux.tar.gz
https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.19-98425-gd666b2bee-gcc-linux.tar.gz
解压
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
移动pin-3.19-98425-gcc-linux到3rdParty/pin目录下
mv ./pin-3.19-98425-gcc-linux ./protocol-fuzzer-ce/3rdParty/pin
修改代码
当前commit(Merge branch 'pin3.19support' into 'main')下修改代码不完整,无法编译,需要修改代码。
core\BasicBlocks\bblocks.cpp增加STATIC_ASSERT定义
#define STATIC_ASSERT(expr) typedef char __static_assert[expr ? 1 : -1] __attribute__((__unused__));
peach configure,以下命令执行较慢,需要等待约1分钟后才会得到提示
cd protocol-fuzzer-ce/
python2 waf configure --buildtag=0.0.2
成功 linux_x86_64 : Available
Configuring variant linux_x86 : Not Available - Cross compilation failed
Configuring variant linux_x86_64 : Available
Configuring variant win_x86 : Not Available - Unsupported build host
Configuring variant win_x64 : Not Available - Unsupported build host
Configuring variant osx : Not Available - Unsupported build host
Configuring variant doc : Available - Missing Features: asciidoctor-pdf,webhelp
'configure' finished successfully (36.764s)
build Peach
python2 waf build
build成功后会提示成功
'build' finished successfully (1m28.530s)
mono 卸载mono6
sudo apt-get autoremove mono-devel -y
编译安装mono4.8.1
wget https://download.mono-project.com/sources/mono/mono-4.8.1.0.tar.bz2
tar -jxvf mono-4.8.1.0.tar.bz2
cd mono-4.8.1
按照README.md操作
./autogen.sh
make get-monolite-latest
sudo make
sudo make install
检查mono版本
mono -V
Mono JIT compiler version 4.8.1 (Stable 4.8.1.0/22a39d7 2021年 07月 14日 星期三 14:30:01 CST)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
安装Peach
cd protocol-fuzzer-ce
python2 waf install
最后会提示成功
'install' finished successfully (9.800s)
运行peach
退出protocol-fuzzer-ce路径,进入到peach路径
cd ..
例如在peach路径下创建peach_linux,将./peach/protocol-fuzzer-ce/output/linux_x86_64_debug/bin/路径下所有内容拷贝到peach_linux路径
mkdir ./peach_linux
cd ./peach_linux
cp ./peach/protocol-fuzzer-ce/output/linux_x86_64_debug/bin/* -R .
./peach_linux$ ./peach
ubuntu 16.04 安装peach的更多相关文章
- Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2
Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- Ubuntu 16.04安装Matlab 2016b教程
由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...
- ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA
ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...
- ROS_Kinetic_01 在ubuntu 16.04安装ROS Kinetic 2017.01更新
ROS_Kinetic系列学习(一),在ubuntu 16.04安装ROS Kinetic. Celebrating 9 Years of ROS! ubuntu16.04已经发布半年多了,ROS的K ...
- Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)
Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...
- Ubuntu 16.04安装JDK(转载)
1.简单的安装方法 安装JDK的最简单方法应该就是使用apt-get来安装了,但是源一般是OpenJDK,如果需要安装Oracle的JDK这种方法就不合适了,直接跳过看下面的章节. 1.使用ctrl+ ...
- Ubuntu 16.04 安装Mysql数据库
系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...
- Ubuntu 16.04安装sogou 拼音输入法
一.更换为国内的软件源 安装搜狗输入法之前请先更换为国内的软件源,否则无法解决依赖问题.首先,用以下命令打开源列表: sudo gedit /etc/apt/sources.list #用文本编辑器打 ...
随机推荐
- Golang make和new的区别及实现原理详解
在Go语言中,有两个比较雷同的内置函数,分别是new和make方法,二者都可以用来分配内存,那他们有什么区别呢?下面我们就从底层来分析一下二者的不同.感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助 ...
- react快速创建组件
安装ES7插件 组件页面输入rcc
- pgbouncer相关概念和使用
pgbouncer相关概念和使用 1.pgbouncer介绍 PG 是多进程结构,每新增一个会话就会新增一个进程,相对而言对数据库的开销就会比较巨大. 因为在正常业务会话中,有不少sessio ...
- JavaScript 静态方法
JavaScript 静态方法 静态方法是使用 static 关键字修饰的方法,又叫类方法,属于类的,但不属于对象,在实例化对象之前可以通过 类名.方法名 调用静态方法. 静态方法不能在对象上调用,只 ...
- 【SQL SERVER】DATEDIFF() :两个日期的日期差
定义用法 DATEDIFF() 函数返回两个日期之间的日期差. 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期 ...
- FreeRdp(一):主要数据结构
/** RDP连接实例 * 这是创建连接后的客户端选项 * 数据结构申请内存调用freerdp_new,释放为freerdp_free */ struct rdp_freerdp { ALIGN64 ...
- VSCode 设置启用终端执行yarn
如果你的vscode终端不支持 yarn run * 的命令你可以新建终端执行:get-ExecutionPolicy执行结果为:RemoteSigned 表示为禁用状态. 执行:set-Execut ...
- 利用Opencv+Python 实现二维码识别
pip3 install pyzbar 准备工作: 二维码图片,我这里直接打印在了一张A4纸上,或者直接在草料网站上生成 草料二维码生成器,存放在手机上进行显示.在安装条码扫描库的时候大家注意:z ...
- Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
可能是多数据源使用分页pageHelper导致的: 解决方法:https://blog.csdn.net/qq_35378008/article/details/90024365 https://bl ...
- net core swaagger ui 报 Failed to load API definition错误
在net core webapi用swaagger 报错记录,截图如下 解决办法,出现这种是因为我的controller里面的有一个方法确缺少了HttpGet attribute就是auction上 ...