pwn环境搭建_kernel pwn 入门环境搭建

本文介绍了kernel pwn新手在环境搭建过程中遇到的挑战,主要涉及qemu和gdb的源码安装步骤。首先,qemu安装需要依赖libsdl2、libsdl2-dev等库,接着下载源码并进行编译安装。gdb的源码安装前需修改remote.c文件以解决运行错误。此外,确保虚拟机开启虚拟化功能以避免KVM相关错误,并安装pwntools、ropper和pwndbg等辅助工具。
摘要由CSDN通过智能技术生成

刚开始上手kernel pwn,光环境就搭了好几天,应该是我太菜了。。

好下面进入正题,环境总共就由两部分构成,qemu和gdb。这两个最好都需要使用源码安装。

我使用的安装环境为

qemu:安装前要先安装

sudo apt-get install libsdl2-2.0

sudo apt-get install libsdl2-dev

sudo apt-get install libpixman--dev

sudo apt-get install flex bison

否则会出现QEMU界面弹不出来的问题。

源码下载网址:https://download.qemu.org/

然后是编译安装:

./configure --enable-debug --target-list=x86_64-softmmu

sudo make

sudo make install

gdb:

一开始使用的是直接安装的gdb,然后卸不掉了,只好重新建一个虚拟机来配环境。

gdb源码下载官网:http://www.gnu.org/software/gdb/download/

gdb源码下载地址:http://ftp.gnu.org/gnu/gdb

国内镜像:https://mirrors.nju.edu.cn/gnu/

gdb在源码编译前要先改gdb/remote.c中的process_g_packet函数,其中没有做处理而报了个error,这里添加处理:

if (buf_len > * rsa->sizeof_g_packet)

error (_("Remote 'g' packet reply is too long: %s"), rs->buf);

改为

if (buf_len > * rsa->sizeof_g_packet) {

rsa->sizeof_g_packet = buf_len;

for (i = ; i < gdbarch_num_regs (gdbarch); i++)

{

if (rsa->regs[i].pnum == -)

continue;

if (rsa->regs[i].offset >= rsa->sizeof_g_packet)

rsa->regs[i].in_g_packet = ;

else

rsa->regs[i].in_g_packet = ;

}

}

否则的话在之后使用gdb连上之后可能会报selected thread is running。以及Remote 'g' packet reply is too long的错误。

对于该错误,网上有相关建议是在gdb中set architecture i386:x86-64:intel设置架构,然后我这里没有效果。

安装gdb时如果遇到makeinfo is missing on your system ,需要安装sudo apt-get install texinfo

另外如果有安装过gdb可以通过sudo apt-get source gdb获取到源码,但注意需要在Software&Update中把Source code勾选上。

本来呢,故事到这里就结束了,然而并没有,。。

然后gdb告诉我Python scripting is not supported in this copy of GDB.

所以gdb的安装为

sudo apt-get install texinfo

./configure --with-python

make

make install

然后又新建一个虚拟机跑了一遍,。。

然后要将虚拟机->硬件->虚拟化Inter VT-x/EPT..选中。

不然会出现如下错误:

Could not access KVM kernel module: No such file or directory

qemu-system-x86_64: failed to initialize KVM: No such file or directory

然后是相关工具的安装:

sudo pip install pwntools

sudo pip install ropper

git clone https://github.com/pwndbg/pwndbg

cd pwndbg

./setup.sh

Windows C&num;入门环境搭建

Windows C#入门环境搭建 1. 安装Microsoft .NET Framework目录: C:\Windows\Microsoft.NET\Framework,查看已经安装的版本. 如果未安 ...

ArcGIS API for Silverlight&sol; 开发入门 环境搭建

Silverlight/ 开发入门 环境搭建1 Silverlight SDK下载ArcGIS API for Microsoft Silverlight/WPF ,需要注册一个ESRI Gloab ...

Android开发使用控件入门--环境搭建

Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

57&period;NodeJS入门--环境搭建 IntelliJ IDEA

转自:https://blog.csdn.net/wang19891106/article/details/51127133 NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习N ...

NodeJS入门--环境搭建 IntelliJ IDEA

NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习NodeJS,所以以此做个笔记,欢迎大家提出意见. 1.首先 下载安装NodeJS,下载安装IntelliJ IDEA 2.接下 ...

Couchbase入门——环境搭建以及HelloWorld

一.引言 NoSQL(Not Only SQL),火了很久了,一直没空研究.最近手上一个项目对Cache有一定的要求,借此机会对NoSQL入门一下.支持NoSQL的数据库系统有很多,  比如Redis ...

Jenkins入门-环境搭建&lpar;1&rpar;

因为Jenkins的环境搭建比较简单,本来不想来介绍,但是发现有些入门小朋友,从各种网站上下载的各种安装包来搭建,最后导致出现了各种千奇百怪的问题,介于这种情况下我决定还是来写一下Jenkins的环境 ...

Activiti入门 -- 环境搭建和核心API简介

相关文章: 本章内容,主要讲解Activiti框架环境的搭建,能够使用Activi ...

Jenkins入门-环境搭建&lpar;1&rpar;-转

因为Jenkins的环境搭建比较简单,本来不想来介绍,但是发现有些入门小朋友,从各种网站上下载的各种安装包来搭建,最后导致出现了各种千奇百怪的问题,介于这种情况下我决定还是来写一下Jenkins的环境 ...

随机推荐

Appium学习实践(五)遇到的坑(记录自己工作中遇到的坑以及解决方案,不定时更新)

1.错误截图,有时候测试用例执行错误的话,相对于复杂的log,一张错误截图也许能更明确哪里出的问题(当然有时,截图+log还是最好了) 坑:本来是想测试用例fail的时候捕获异常来执行截图操作,但是由 ...

git 版本控制

用gitbash进入类似命令行的窗口 用命令 cd e:/learngit 进入该目录,然后在此目录下初始化$ git init, 于是该文件夹就成为了一个工作区,里面的.git文件就是版本库(rep ...

Linux下安装php加速软件Xcache

Nginx网站根目录:/usr/share/nginx/html 1.安装xcache cd /usr/local/src #进入软件包存放目录 wget http://xcache.lighttpd ...

python学习之——eclipse&plus;pydev 环境搭建

最终选用 eclipse+pydev,网上相关资料也是极多的~~~ 1.安装python: 2.安装eclipse: 3.eclipse中安装pydev,eclipse中help—>eclipl ...

Win7安装错误提示与解决办法大全

Windows7安装时有许多提示错误,许多朋友不知道如何解决,那就看看这篇软媒整理的文章吧,或许有些帮助.本文出现的问题同样应用于其他版本的Windows 7,甚至是Vista,收藏一下本文,或者某天 ...

Apache CXF框架结构和基本原理&lpar;转&rpar;

原文链接:http://blog.sina.com.cn/s/blog_6182547f01017pak.html CXF旨在为服务创建必要的基础设施,它的整体架构主要由以下几个部分组成: 1.Bus ...

iOS开发tips总结

tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

Node版本管理工具-NVM的安装与使用&lpar;windows系统&rpar;

友情提示:为避免踩坑,建议浏览全文后动手操作!!! 一.nvm是什么 看到这篇文章的猿/媛们肯定不会问这个问题了,但是我还是要说,哈哈哈! 无论工作还是干嘛,就不会一直做项目,所以肯定也不会一直用一个 ...

window上安装zabbix agent使用案例

下载对应的zabbix windows版本 因为zabbix server使用的版本为3.2.0版本 所以下载window 3.2的版本 https://www.zabbix.com/download ...

solr 5&period;0&period;0 bin&sol;start脚本详细解析

参考文档:https://cwiki.apache.org/confluence/display/solr/Solr+Start+Script+Reference#SolrStartScriptRef ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值