不要使用pip安裝!
不要使用pip安裝!
不要使用pip安裝!
首先要保證你的電腦上裝了homebrew,沒裝的自行搜索,這個都不裝就別用Mac搞技術了。
直接敲命令:
brew install pwntools
回車之後就裝好了。
安裝完後會在/usr/local/Cellar/下生成pwntools文件夾,不用管它,我們只需要用到這個路徑
/usr/local/Cellar/pwntools/3.12.2/libexec/lib/python2.7/site-packages
裏面包含了pwntools所需要的各種python相關文件,終端中cd進入然後pwd複製路徑
然後只需把這個文件夾添加到python的sys.path中,方法如下:
首先是Mac自帶的python:
➜ ~ cd /Library/Python/2.7/site-packages
➜ site-packages sudo vim mypkpath.pth //自己把路徑複製進去,esc+wq保存
➜ site-packages cat mypkpath.pth //看一下對不對,不看也無妨
/usr/local/Cellar/pwntools/3.12.2/libexec/lib/python2.7/site-packages
然後是brew安裝的python,操作同上:
➜ ~ cd /usr/local/lib/python2.7/site-packages
➜ site-packages git:(master) ✗ vim mypkpath.pth
➜ site-packages git:(master) ✗ cat mypkpath.pth
/usr/local/Cellar/pwntools/3.12.2/libexec/lib/python2.7/site-packages
這裏同時改了系統自帶的和brew的,是爲了防止下面出現莫名其妙的錯誤。
然後試驗一下,沒有報錯就是正常:
➜ site-packages git:(master) ✗ python
Python 2.7.16 (default, Apr 12 2019, 15:32:40)
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pwn
>>> pwn.asm("xor eax,eax")
'1\xc0'
>>>
如果報錯,那麼首先檢查一下路徑填的對不對:
import sys
list = sys.path
print(list)
#sys.path.append('/usr/local/Cellar/pwntools/3.12.2/libexec/lib/python2.7/site-packages')
#print(list)
from pwn import *
如果沒問題,那麼你需要安裝二進制工具binutils:
還是用brew:
➜ ~ brew install https://raw.githubusercontent.com/Gallopsled/pwntools-binutils/master/osx/binutils-amd64.rb
安裝完之後就好啦。
另附Mac上python的環境變量:
我用的ohmyzsh,所以環境變量在~/.zshrc中配置:
#brew安裝的python2和python3
export PATH="/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH="/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#系統的python,不同版本系統會不一樣,我這裏是最新的10.14.5,自帶2.7.10
#不要跟brew安裝的python2同時加,二選一
export PATH="/System/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"