macOS下IDA插件安装的一些坑

安装unicorn

直接通过pip安装Unicorn是无法安装的,会报错。具体来说安装方法如下:
首先在pypi下载unicorn最新版本的代码,https://pypi.org/project/unicorn/#files ,然后解压,进入目录,执行如下操作

brew install unicorn #brew安装unicorn取其一部分库
cp /opt/homebrew/opt/unicorn/lib/lib* ./prebuilt # 对于intel芯片则是/usr/local/opt/unicorn/lib/lib*

这时库已经可以被本地安装了,但是我这里无法解析版本号,解析到的版本号是0.0.0,手动修改setup.cfg,在metadata下添加version(如果没有metasata就添加一个metadata),如下(修改为正确的版本号)

[metadata]
version = 2.1.3

然后执行python setup.py install即可安装成功

安装keystone

这里keystone可以直接通过pip install keystone-engine被安装,但是缺少一些动态库,使用的时候会报错ImportError: ERROR: fail to load the dynamic library.。需要手动编译keystone并安装。具体步骤如下

首先拉取代码

git clone https://github.com/keystone-engine/keystone.git

因为keystone的年代实在是太久远了,所以需要手动修改项目中的一些编译配置,主要修改的有三个文件,代码根目录下的CMakeLists.txtllvm/CMakeLists.txtkstool/CMakeLists.txt这三个。将所有的cmake_minimum_required(VERSION 2.8.7)改为cmake_minimum_required(VERSION 3.10),然后将所有的cmake_policy(SET CMP0051 OLD)改为cmake_policy(SET CMP0051 NEW)

然后需要一些编译选项,这里通过一些临时环境变量来做

export CXXFLAGS="-stdlib=libc++"
export LDFLAGS="-stdlib=libc++ -lc++abi -lc++"
export CMAKE_CXX_FLAGS="-stdlib=libc++"
export CMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -lc++abi -lc++"
export CMAKE_SHARED_LINKER_FLAGS="-stdlib=libc++ -lc++abi -lc++"
export CMAKE_MODULE_LINKER_FLAGS="-stdlib=libc++ -lc++abi -lc++"

这时就可以编译安装了,如下

mkdir build
cd build
../make-share.sh
sudo make install

这时keystone就能正常使用了。

如果依旧不行,用如下命令看一下具体原因,可能是缺了什么依赖库

python -c "
import ctypes
try:
    lib = ctypes.CDLL('/usr/local/lib/libkeystone.dylib')
    print('Library loaded successfully')
except Exception as e:
    print(f'Failed to load library: {e}')
"

如果缺少libc++abi.1.dylib,从llvm里面复制即可,复制到conda的目录下,或者软连接过去,一般来说需要libc++abi.dylib和libunwind.dylib。

安装IDA Feeds

这不算是坑,顺便一起记录一下,针对9.1。

首先安装idalib,在ida目录下的idalib/python

python -m pip install ./Contents/MacOS/idalib/python/.

安装ida feeds的依赖

python -m pip install -r ./Contents/MacOS/plugins/ida_feeds/requirements.txt

配置ida_feeds/config.json中的flair路径,需要把config.sample.json改名为config.json

flair在默认情况下在ida目录的/Contents/MacOS/tools中,我这里是ida pro 9.1,就是/Applications/IDA Professional 9.1.app/Contents/MacOS/tools/flair(文件夹的路径),写在config.json中即可(感觉像是半成品,都在目录下为什么没有默认路径)

下载泄露中一起的signatures-bundles-9.1.zip,这时额外提供的一些签名文件,将其复制到ida目录下的./Contents/Macos/sig目录下即可。

可以看到插件已经可以使用了

file

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇