Kali 2024 逆向调试 GDB 13.2 安装插件 Peda 不兼容报错解决方案

发现问题

如果你尝试直接进行$ apt install gdb安装后应该是最新版的gdb 13.2。并且尝试安装peda后将会出现from six.moves import range报错

image.png

image-1.png

2024版的kali的python3是python3.11版本,而peda中的six库支持的是3.11之前的。而gdb13是支持python3.12的。

有趣的一点是,当我们在gdb中查看python版本的时候是3.12.4

(gdb) python import sys; print(sys.version_info)

sys.version_info(major=3, minor=12, micro=4, releaselevel=‘final’, serial=0)

(gdb) python import sys; print(sys.version_info)

/usr/bin/python (真实情况是软连接指向python3.11)

跟进路径发现是一个用于开发和编译与 Python 3.12 版本相关的程序和模块

image-3.png

(gdb) python import sys; print(sys.path)

[‘/home/maptnh/peda/lib/’, ‘/usr/share/gdb/python’]

跟进/home/maptnh/peda/lib/发现存在six.py。

image-5.png

解决方案

1.下载gdb 13

$ sudo apt install gdb

2.下载gdb-peda

$ git clone https://github.com/longld/peda.git ~/peda;echo "source ~/peda/peda.py" >> ~/.gdbinit

3.安装python12替换软连接

$ sudo apt install python3.12

$ sudo ln -sf $(which python3.12) /usr/bin/python

$ sudo ln -sf $(which python3.12) /usr/bin/python3

$ if [[ $(python --version 2>&1) == *"Python 3.12"* ]] && [[ $(python3 --version 2>&1) == *"Python 3.12"* ]]; then
    echo "[+] Success"
else
    echo "[-] Failure"
fi

输出Success即可

4.替换备份six模块

启动gdb,获取库路径

$ gdb
(gdb) python import sys; print(sys.path)

$ mv /home/maptnh/peda/lib/six.py /home/maptnh/peda/lib/six.py.bak

image-6.png

再次启动gdb,成功将peda插件载入

image-7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值