前言
最近在做pwn的题目,好像也不怎么难,可能我做的题目比较简单吧。
其中就需要安装pwntools这种python工具,首先就需要搭建环境。
搭建环境的时间甚至可能比我做题目花的时间还要多。。。
先附上一张效果图。
环境搭建
众所周知,mac上的HomeBrew默认安装的是最新的版本。
如果你用的不是最新的版本,那么HomeBrew就会删除你当前的版本并且更新成最新的版本。
如果你一开始先装了低版本的pwntools,就会被高版本的覆盖掉。
所以需要先安装最新的版本。
brew install pwntools
当然此时还用不了,还需要配置环境变量。
环境变量
首先找到pwntools安装的路径
python3:
/usr/local/Cellar/pwntools/4.0.1_1/libexec/lib/python3.8/site-packages
python2:
/usr/local/Cellar/pwntools/3.13.0/libexec/lib/python2.7/site-packages
注意:pwntools的版本和python版本指定。
把pwntools路径加到python的路径里
python3:
echo /usr/local/Cellar/pwntools/4.0.1_1/libexec/lib/python3.8/site-packages >> /usr/local/lib/python3.8/site-packages/mypath.pth
python2:
echo /usr/local/Cellar/pwntools/3.13.0/libexec/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/mypath.pth
这样就能使用了,前提当然是你要安装指定版本的pwntools和python。
python链接
如图。最新的pwntools的python3.8版本和系统里python3指向的版本不一致。
所以需要修改它的指向。
在.zshrc里加入如下语句。
export PATH="/usr/local/Cellar/python@3.8/3.8.2/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
alias python3.8="/usr/local/Cellar/python@3.8/3.8.2/Frameworks/Python.framework/Versions/3.8/bin/python3"
这样,输入python3.8使用的就是最新的python版本了,嫌麻烦可以改成python3。
安装旧版本的pwntools
cd "$(brew --repo homebrew/core)"
git log master -- Formula/pwntools.rb //找到合适的版本
git checkout 哈希值
HOMEBREW_NO_AUTO_UPDATE=1 brew install pwntools
安装完毕后,就可以同时使用不同版本的pwntools了。
可以验证一下,如图。
参考资料
https://www.cnblogs.com/BlackStorm/p/homebrew-install-old-versions-take-node-for-example.html
https://www.jianshu.com/p/4ea08e6d7ae0