IDA Pro 安装

cd /Applications/IDA Professional 9.0.app/Contents/MacOS
 
python3 sigpayload.py
 
mv libida.dylib.patched libida.dylib
 
mv libida64.dylib.patched libida64.dylib
 
cp ~/Downloads/arm_mac_user64.dylib /Applications/IDA Professional 9.0.app/Contents/MacOS/plugin
 
sudo codesign --remove-signature libida.dylib && sudo codesign -f -s - --timestamp=none --all-architectures --deep libida.dylib && sudo xattr -cr libida.dylib
 
sudo codesign --remove-signature libida64.dylib && sudo codesign -f -s - --timestamp=none --all-architectures --deep libida64.dylib && sudo xattr -cr libida64.dylib
 
cd plugin
 
sudo codesign --remove-signature arm_mac_user64.dylib && sudo codesign -f -s - --timestamp=none --all-architectures --deep arm_mac_user64.dylib && sudo xattr -cr arm_mac_user64.dylib

Keypatch 插件安装

安装依赖

  • cmake 安装:brew install cmake
  • 安装依赖
pip install keystone-engine
pip install six
# 可通过 pip show keystone-engine 查看所在目录
sudo cp -r /opt/homebrew/Caskroom/miniconda/base/envs/python3.9.6/lib/python3.9/site-packages/keystone /Applications/IDA\ 
Professional\ 9.0.app/Contents/MacOS/python
sudo cp -r /opt/homebrew/Caskroom/miniconda/base/envs/python3.9.6/lib/python3.9/site-packages/six.py /Applications/IDA\ 
Professional\ 9.0.app/Contents/MacOS/python
  • 放置 Keypatch 插件文件
sudo cp keypatch.py /Applications/IDA Professional 9.0.app/Contents/MacOS/plugins

dylib自编译

尽管我们在安装 keystone-engine 前已经安装了 cmake ,但是还是可能会没有 dylib 文件,这里我们在本地自编译生成 dylib 文件
  • 拉取项目
git clone <https://github.com/keystone-engine/keystone.git>
cd keystone
mkdir build
  • 修改 make-common.sh 文件
ARCH='arm64'
  • 修改 make-shared.sh 文件,添加了指定 cmake 最低版本
# 修改前
cmake -DBUILD_LIBS_ONLY=$BUILD_LIBS_ONLY -DLLVM_BUILD_32_BITS="$LLVM_BUILD_32_BITS" -DCMAKE_OSX_ARCHITECTURES="$ARCH" -DCMAKE_BUILD_TYPE=$BUILDTYPE  -DBUILD_SHARED_LIBS=ON -DLLVM_TARGETS_TO_BUILD="all" -G "Unix Makefiles" ..

# 修改后
cmake -DBUILD_LIBS_ONLY=$BUILD_LIBS_ONLY -DLLVM_BUILD_32_BITS="$LLVM_BUILD_32_BITS" -DCMAKE_OSX_ARCHITECTURES="$ARCH" -DCMAKE_BUILD_TYPE=$BUILDTYPE -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DBUILD_SHARED_LIBS=ON -DLLVM_TARGETS_TO_BUILD="all" -G "Unix Makefiles" ..
  • 修改主目录下和llvm目录下 CMakeLists.txt 文件,将有关 POLICY CMP0051 代码注释掉
  • 编译
cd build
../make-shared.sh
  • 编译完成后会在 build/llvm/lib 目录下生成 libkeystone.dyliblibkeystone.0.dylib 动态库,将其拷贝到 IDA 对应目录即可

参考文章

END
本文作者:
文章标题:MAC ARM64 IDA Keypatch 插件安装(自编译dylib库)
本文地址:https://ruochen.net/archives/77/
版权说明:若无注明,本文皆ruochen's blog原创,转载请保留文章出处。
最后修改:2025 年 05 月 28 日
如果觉得我的文章对你有用,请随意赞赏