安装pwntools

由于该版本kali系统已经预装了Python2和Python3环境。

Python2需要的环境:

1
python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential

Python3需要的环境:

1
python python-pip python-dev git libssl-dev libffi-dev build-essential

强烈推荐使用Python3环境,如果非要兼容老版本的代码则选择Python2版本。

这里,我把两个版本的环境都安装上了。

更新apt软件列表:

首先, 我们更新apt软件列表:

1
2
apt update
apt-get update

kali默认使用的是kali官方下载源,有时候会因为网络环境不好,需要多试几次。

(实在不行可以更换下载源,下载源在/etc/apt目录下的sources.list中保存)

安装相关环境和依赖库

Python3

在这个kali版本中。python3、python3-dev、git均默认安装。

我们安装pip和其它依赖库:

1
apt-get install python3-pip libssl-dev libffi-dev build-essential

全部安装完成后,我们可以使用下列命令,查看是否安装成功:

1
2
python3
pip3 -V

Python2

在这个kali版本中。python2、git均默认安装。

首先,我们安装python-dev:

1
apt install python-dev

然后安装pip,由于新版本的apt不再支持pip2的安装。

我们只能手动下载pip2的安装脚本,然后手动安装。

1
2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python2 get-pip.py

然后安装相关依赖库:

1
apt-get install libssl-dev libffi-dev build-essential

安装pwntools

Python3

首先,更新pip版本,然后使用pip安装最新版pwntools:

1
2
python3 -m pip install -- pip
python3 -m pip install --upgrade pwntools

Python2

使用Python2安装pwntools,pip必须是20.3.4版本(上面的安装脚本符合要求)。

1
python2 -m pip install --upgrade pwntools

这时候,可能会报错invalid command ‘egg_info’

我们更新一下setuptools即可解决问题:

1
pip2 install --upgrade setuptools

更新后重新安装pwntools即可。

测试环境是否正常安装

Python3:

1
2
python3
from pwn import *

如果没有报错,恭喜你,安装成功!

Python2:

1
2
python2
from pwn import *

这时可能会报错 ImportError: No module named pathlib2

我们按照pathlib2:

1
pip2 install pathlib2

重新测试,发现只有低版本警告信息,python无保存。安装成功!

总结

kali中默认python版本是2.7,建议切换默认python版本为3.9。

1
2
rm -rf python
ln -s /usr/bin/python3.9 /usr/bin/python

以上按照过程本人亲测,如果kali版本一致,并且没有对系统做其它改动。

严格按照上述流程,在官方按照包没有更新的情况下一般会成功。

如果出现错误,请先自行排查是否操作有误。(不排除官方已更新的可能)