解决(docker中)64位ubuntu系统pwndbg无法调试32位程序堆块无法使用bin和heap的问题

杂言:碰到这个问题已经是十几天前了,当时想着就这样把它忽略过去,但是呢现在想了一下还是要解决的,所以请教了大佬,问题也得到了解决。

32位依赖相关

一开始是没有安装32位依赖的问题,碰巧我得docker镜像源用不了,原因是https:要改成http,具体什么原因不太懂

 首先是apt-get install lib32ncurses5 lib32z1 lib32stdc++6 这条报错,无法安装32位依赖

 ​

 它要我们去执行apt-get update,我们执行它也报错

经大佬指点发现是源头的问题,要把 source.list 里面的 https 换成 http,但是我碰巧没有下载vi和vim,所以使用这条指令:sed -i 's/https/http/g' source.conf

修改成功,依次执行apt-get update、apt-get install lib32ncurses5 lib32z1 lib32stdc++6这两条指令,安装32位依赖完成

pwndbg调试32位程序堆块无法使用bin的问题

问题放在这里,大佬点拨第一想法是pwndbg版本过老,需要更新。在pwndbg文件夹中执行./setup.sh指令,发现还是没用,一样报错。 

这时候我们需要本地下载pwndbg的压缩包,下载链接:https://codeload.github.com/pwndbg/pwndbg/zip/d626db172dcb97682f2436d966c9bdc3d178ec44

下载完之后cp到docker里面

docker cp /本机路径 容器名字:/容器路径

之后解压,有不同的解压方式:(24条消息) Linux命令之解压缩:tar、zip、rar 命令_linux解压命令_阿飞__的博客-CSDN博客

解压之后,删除旧的pwndbg文件夹(最好先备份)

rm -r 文件夹

在新的pwndbg文件夹里执行./setup.sh

发现报错:fatal: Not a git repository (or any of the parent directories): .git

我们输入git init再次执行即可。

之后可以bin了,但是结果不一样了

我们按照它的提示,依次执行:

dpkg --add-architecture i386

apt-get update

apt-get install libc6-dbg

apt-get install libc-dbg:i386

下载完这些包后,再次调试,解决问题! 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值