根據官方文檔安裝坑實在挺多,所以值得記錄下來分享。
關於keystone-engine,無論是源碼安裝還是使用pip2 install keystone-engine總是錯誤連篇
這里借鑒一位大牛的安裝方法,在下列操作之前,需要安裝cmake,使用brew install cmake命令。
git clone https://github.com/fjh658/keystone-engine.git
cd keystone-engine
git submodule update --init --recursive
sudo python2 setup.py install --verbose
我的python2是使用brew安裝的,所以python擴展包的默認安裝路徑為/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/keystone/,安裝的過程中會提示安裝的路徑,請關注終端的輸出信息。
使用IDA最下方的python功能(print sys.path)打印系統環境變量中是否包含該路徑,即是否在python可檢索到的目錄,如果包含次路徑,不必進行下一步的拷貝,如果不在,將其拷貝在sys.path所顯示的某一目錄下,我的操作如下:
cp -r /usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/keystone /Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/python/lib/python2.7/lib-dynload/
下載最新版本的keypatch(支持IDA pro 7.0),地址為:https://raw.githubusercontent.com/keystone-engine/keypatch/master/keypatch.py
將其拷貝到 /Applications/IDA\ Pro\ 7.0/ida64.app/Contents/MacOS/plugins/這個目錄,對應32位的拷貝到對應目錄下。
重新運行IDA,當反匯編ARM程序,點擊ctrl+alt+k調出此功能,或者通過edit菜單的keypatch或者plugins找到。此功能非常實用,可以配合IDA完成相應patch的工作,不必再去轉換hex。
關於打開中文輸入法,運行IDA會FC的問題,大牛的解決方案請參考鏈接:https://www.cnblogs.com/cthon/p/10183892.html
相應補丁下載地址為:替換/Applications/IDA Pro 7.0/ida.app/Contents/PlugIns/platforms/目錄下的文件即可。
https://github.com/fjh658/IDA7.0_SP/releases/download/0.3/libqcocoa.dylib
https://github.com/fjh658/IDA7.1_SP/releases/download/0.2/libqcocoa.dylib
無法顯示中文請參考:https://blog.csdn.net/code_godfather/article/details/78133545
Windows安裝比較簡單,下載相應版本的keystone-engine安裝包, 再將keypatch.py拷貝至IDA安裝目錄下的plugins目錄下,重新運行IDA即可。
https://github.com/keystone-engine/keystone/releases/download/0.9.1/keystone-0.9.1-python-win32.msi
https://github.com/keystone-engine/keystone/releases/download/0.9.1/keystone-0.9.1-python-win64.msi