杂言:碰到这个问题已经是十几天前了,当时想着就这样把它忽略过去,但是呢现在想了一下还是要解决的,所以请教了大佬,问题也得到了解决。
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
下载完这些包后,再次调试,解决问题!