ubuntu16.04+python2.7+pwntools

 作为小菜鸟本🐤,想要开始学习ctf,第一步就是学习安装pwntools。因为考虑到ctf中可能有32位可执行程序,于是搭建了32位的ubuntu系统,具体版本号是ubuntu16.04,系统默认安装python2.7。又考虑python3在语法上与python2有些区别,为防止在使用pwntools时有其他额外的变化,决定就基于已有的python2. 7进行安装。本以为能够很快安装好,但实际过程中遇到几个坑,查了半天也没完全解决,后来自己摸索,成功解决问题,觉得有必要记录下来。
第一步,安装pwntools前先安装pip。这一步网上有很多教程,也都很好用。找到源,换个源安装就行了。
第二步,升级pip。这一步需要注意的问题是,必须强制升级。有些网上没有这一步,直接跳到第三步,pip安装pwntools,会显示语法错误。这是因为初始安装的pip是8.几版本,需要先升级。而有些网上写的,用一般的升级命令 pip install --upgrade pip,在升级后会报错,即便没有报错,在窗口中输入pip,会发现有语法错误,pip没法正常使用。此时就需要重新卸载安装,很麻烦。为避免出错,直接采用强制升级,具体命令是python -m pip install -U --force-reinstall pip。升级后用pip -V命令查看pip版本,应该是20.3.4。因为pip21已经放弃了对python2的支持,能升级到最高版本就是20,不能再往上升。
第三步,安装pwntools。很多网上写直接用命令pip安装pwntools,不同的是换了源。按照网上同样操作后会发现,安装失败,报错提示cryptography不能成功building。于是各种搜索,按照网上教程,安装了libssl-dev等基本库再重试也不能解决问题。后来就想,如果我自己先安好crytography,再pip安装pwntools是不是可行呢?按照这个思路,查了一下python2支持的比较高版本大概就到2.8,比对了一下pwntools要求的最低版本,于是指定安装2.8版本的cryptography,具体命令是:pip install cryptography==2.8 -i (国内源,我用的清华源),可以成功安装,太开心了!再重新运行pip安装pwntools的命令,没再报错,显示条件都满足。于是满怀希望,也许这样就成功了吧!命令行进入python环境检验一下,输入import pwn,很遗憾出现了语法错误。显示找不到pathlib2模块。于是根据提示,打开pwn的文件夹,看哪里调用pathlib2,发现有个语句大概是
if six. python3
import *from pathlib
else  import* from pathlib2
一开始不知道pathlib2是什么,手动改成pathlib后还是提示找不到。于是搜索一下错误,才知道pathlib2也是个现在的模块,可以直接安装。于是就想,手动pip安装一下试试吧。于是pip install pathlib2,成功。再进入python,import pwn测试,不出错啦!再调用asm也正常,问题解决!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值