说说pwntools安装完后,import pwn时出现的ImportError:cannot import name ENUM_P_TYPE

本博客年代久远,图片已经失效,但不影响解题方法,若是解决了您的问题,很是欣慰
闲来无事,装个kali玩玩,结果,遇到的坑真是一步接一步,今天说说import pwn时,出现苦逼的ImportError:cannot import name ENUM_P_TYPE,*“No picture,you say a j8”*上图:
*[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OerFtISZ-1602040145475)(https://ws1.sinaimg.cn/large/006SH20tly1fveosmlzjxj309r07tjs6.jpg)] *
类似以上什么不能导入name XXX的稀奇古怪的问题,我一个菜鸡哪里知道,于是试遍各大搜索引擎,终于在一篇满是英文的网站找到了这个问题的描述,好心的我给你们贴上链接:https://github.com/Gallopsled/pwntools/issues/1189(github上有解决方法)
github就是强大,我感动的痛哭流涕,不枉费我的一片苦苦查找。在这里我了解到了一个东西:pyelftools,具体是什么,恕在下无能,我没查到。
如果知道的话,欢迎评论留言,感激不尽。
在github里面关于ImportError问题,给出了答案,如果我没翻译错的话,有两种改法;

1.找到错误的目录,修改文件里的源码,将ENUM_P_TYPE改为ENUM_P_TYPE_BASE,我的那个elf.py文件目录如下,(每个人大概差不多)/usr/local/lib/python2.7/dist-packages/pwntools-3.14.0.dev0-py2.7.egg/pwnlib/elf/elf.py
在这个py文件里,修改551749行的ENUM_P_TYPE,改为ENUM_P_TYPE_BASE,(具体的行数可能有出入,相差几行左右)。
是的,有人用这种方法成功了,但是,不是我。就当我,满心欢喜的时候,又出现了另一个导入错误。所以我用了第二种方法,

2.reduce your pyelftools version to 0.24

我还不清楚pyelftools是什么,就让我把他的版本降到0.24版本,
首先,这个文件在哪?怎么降低(当然我采用的是删了现有版本,下个0.24版本的)
我的pyelftools路径如下:
/usr/local/lib/python2.7/dist-packages/pyelftools-0.25(没错原来是0.25的)
然后我搜索了一波,找到了pyelftools

下载地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEMUf82P-1602040145476)(https://ws1.sinaimg.cn/large/006SH20tly1fveqrdf6acj30pj0d9dgu.jpg)]
那个pip install pyelftools==0.2x,就是linux下的安装的命令,点击Release history就可以查看以往的历史版本。替换之后,我高兴的import pwn测试了一下,结果,留下了悲伤的泪水,还是错误,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DJ9SbkiM-1602040145478)(https://ws1.sinaimg.cn/large/006SH20tly1fveqyg4uquj30eh0ajtat.jpg)]
我又紧接着换了0.23的版本,
*[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PrFEsUu5-1602040145479)(https://ws1.sinaimg.cn/large/006SH20tly1fver0e2aglj30gq08jjt2.jpg)] *
没错,成功了,没错,成功了,没错,成功了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值