IDA Pro 9.0.241217 SP1
前言
使用了许久的ida7.7想更新到ida9,虽然成功安装并patch但IDAPython环境和插件没有配置好用起来不顺手
本文简单介绍IDA Pro 9.0.241217 SP1的安装步骤,IDAPython的配置,以及常用插件的地址和安装方法
打包了配置好的IDA9 SP1,设置IDAPython路径即可使用,使用方法文末简介
附件:
吾爱文件上传限制3.1MB 可以去隔壁下载[原创] IDA Pro 9 SP1 安装和插件配置
IDA9 SP1 安装
地址[Disassemblers]IDA Pro 9.0.241217 SP1
参考如下步骤
- 运行ida-pro_90sp1_x64win.exe安装ida
- 修改IdaPro9Beta-Keygen-iRabbit.py文件的部分内容,复制到ida根目录
- python运行keygen,自动修补
- 修改patched文件后缀,替换ida.dll和ida32.dll(注意保存原始文件)
keygen修补成功输出如下,windows平台patch ida.dll和ida32.dll
优化设置
使用经典快捷键
ida9的新快捷键用起来不习惯, 可在options>shortcuts,取消勾选use new shortcuts使用老快捷键
开启操作码显示
options>general>Number of opcode bytes, 输入10在大部分情况下够用
插件安装
灵感来源IDA 9.0.20241216 (SP1)安装教程 由于不想交钱故自己折腾
IDAPython
大部分插件的运行依赖于IDAPython环境,而IDAPython并不神秘,使用官方的Python解释器即可
python目录内是idapython脚本相关模块
PyQt5文件夹内可以发现不同python版本的库(ida插件图形化)
所以ida9的python版本需要在3.8-3.13之间(推荐3.10和3.11)
最初我直接使用ida7.7绿色版的python3.8,大部分插件仍然可以运行,但findcrypt报错
网上冲浪听说ida9使用python 3.11更稳定,故安装该版本,下载后直接运行即可
https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe
为方便使用我安装到了IDA根目录内并命名为python311(不需要添加到环境变量)
安装完python后,需要手动设置idapython路径,运行ida根目录的idapyswitch即可
可以参考IDA Pro 切换 Python 版本
Plugins
以下为插件名及其功能介绍
插件 |
功能 |
LazyIDA |
convert快速提取数据等 |
Keypatch |
patch指令方便 |
Patching |
patch16进制数据方便 |
findcrypt-yara |
常见加密算法识别 |
auto-enum |
自动恢复常见api的枚举变量 |
Hrtng |
高亮括号,重定义关键函数声明,栈字符串识别,反ollvm等功能 |
D810 |
去ollvm混淆脚本,安装Hrtng后可不安装该插件 |
classinformer |
反编译C++时, 可以根据RTTI等信息综合恢复类Class的相关信息,例如继承信息,类名等。 |
deREferencing |
调试时使用,追踪栈和寄存器指向的内容 |
HexRaysCodeXplorer |
自动识别结构体,显示C++虚函数,生成函数结构树等 |
DataExportPlus |
提取数据增强版 |
下面简介各插件的地址,功能,安装方法
LazyIDA
https://github.com/L4ys/LazyIDA
将LazyIDA.py复制到plugins目录下即可
Keypatch
使用前需要安装keystone-engine和six模块(py3.11自带six无需额外安装)
python -m pip install keystone-engine
python -m pip install six
注意: 是keystone-engine不是keystone
项目地址: https://github.com/keystone-engine/keypatch
适配IDA9的keypatch: https://bbs.kanxue.com/thread-282852.htm
将Keypatch.py复制到plugins目录下即可
Patching
https://github.com/gaasedelen/patching
将Patching文件夹和Patching.py复制到plugins目录下即可
findcrypt-yara
使用前需要idapython安装yara-pyhon(注意不是yara)
python -m pip install yara-python
地址: https://github.com/polymorf/findcrypt-yara
将findcrypt3.py和findcrypt3.rules复制到ida/plugins目录下即可
注意: 该插件在python3.8环境下无法运行
D810
如果安装了Hrtng可以不安装该插件
使用前需要idapython安装z3
python -m pip install z3-solver
下载地址
git clone https://gitlab.com/eshard/d810.git
将d810文件夹和d810.py复制到plugins目录下即可
auto-enum
自动恢复常见函数的枚举
https://github.com/junron/auto-enum
下载后将项目plugin目录内的所有文件复制到ida/plugins下即可
Hrtng
高亮括号,重定义关键函数声明,栈字符串识别,反ollvm等功能
https://github.com/KasperskyLab/hrtng
下载release包后解压,复制plugins/windows/9.0/hrtng.dll到ida/plugins目录下即可
https://github.com/herosi/classinformer
反编译C++时, 可以根据RTTI等信息综合恢复类Class的相关信息,例如继承信息,类名等。
下载release包后将Classinformer64.dll复制到ida/plugins目录下即可
deREferencing
https://github.com/danigargu/deREferencing
调试时使用,追踪栈和寄存器指向的内容
将dereferencing.py文件复制到ida/plugins目录下即可
HexRaysCodeXplorer
自动识别结构体,显示C++虚函数,生成函数结构树等
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1999905&highlight=HexRaysCodeXplorer
DataExportPlus
https://github.com/Krietz7/IDA-DataExportPlus
问题-bindiff(已解决)
下载地址[下载]bindiff_binexport for windows将binexport12_ida64.dll和bindiff8_ida64.dll复制到ida/plugins或C:\Users\用户名\AppData\Roaming\Hex-Rays\IDA Pro\plugins下即可同时支持32和64位样本问题描述: 报错如下
推测是该路径为ida默认的设置路径,ida9.0和ida7.7的设置发生了冲突
备份保存一份7.7的IDA Pro设置后,删除C:\Users\admin\AppData\Roaming\Hex-Rays\IDA Pro\plugins下的文件即可解决报错
但是支持IDA9 SP1的插件没有找到,只有适用于RC1的:https://github.com/zhefox/Bindiff_for_IDA9.0
如果大佬们有适用于SP1的bindiff麻烦分享一下
直装
解压IDA Professional 9.0.7z后,运行根目录的idapyswitch设置idapython路径即可使用
idapyswitch.exe --force-path ./python311/python3.dll
首次打开文件时,会询问是否使用新快捷键,选择No
之后弹出许可证协议,选择Agree
连接ida server更新,直接点ok