IDA Pro 9.0.241217 SP1
前言
使用了许久的ida7.7想更新到ida9,虽然成功安装并patch但IDAPython环境和插件没有配置好用起来不顺手
本文简单介绍IDA Pro 9.0.241217 SP1的安装步骤,IDAPython的配置,以及常用插件的地址和安装方法
打包了配置好的IDA9 SP1,设置IDAPython路径即可使用,使用方法文末简介
附件:
IDAPlugins.zip
IdaPro9Beta-Keygen-iRabbit.py
IDA Professional 9.0.7z 链接: af8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4K9K6q4Y4x3X3g2b7K9g2y4D9i4K6u0V1c8g2)9#2k6V1y4C8h3X3M7&6N6X3E0C8f1f1q4Q4x3@1k6H3N6$3c8Q4x3@1c8B7K9X3c8X3
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更稳定,故安装该版本,下载后直接运行即可
8b1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2H3P5i4c8Z5L8$3&6Q4x3X3g2G2M7X3N6Q4x3V1k6X3N6s2m8Q4x3V1k6H3P5i4c8Z5L8$3&6Q4x3V1j5K6i4K6u0W2x3e0q4Q4x3X3f1&6i4K6u0r3M7s2W2@1K9r3!0F1i4K6u0V1x3#2)9J5k6e0p5I4i4K6u0W2z5g2)9J5k6r3q4E0k6o6j5@1i4K6u0W2k6i4S2W2
为方便使用我安装到了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
ffeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6x3y4s2W2K6i4K6u0r3e0r3q4*7P5f1W2p5b7b7`.`.
将LazyIDA.py复制到plugins目录下即可
Keypatch
使用前需要安装keystone-engine和six模块(py3.11自带six无需额外安装)
1
2
python
-
m pip install keystone
-
engine
python
-
m pip install six
注意: 是keystone-engine不是keystone
项目地址: 503K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6C8k6i4W2K6N6r3!0F1k6g2)9J5k6r3g2F1k6$3W2F1k6g2)9J5c8X3E0W2P5i4m8S2N6r3y4Z5
适配IDA9的keypatch: https://bbs.kanxue.com/thread-282852.htm
将Keypatch.py复制到plugins目录下即可
Patching
3d5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Y4j5h3q4K6k6h3c8W2L8r3g2F1i4K6u0r3M7r3q4@1j5$3S2A6L8X3M7`.
将Patching文件夹和Patching.py复制到plugins目录下即可
findcrypt-yara
使用前需要idapython安装yara-pyhon(注意不是yara)
1
python
-
m pip install yara
-
python
地址: 90eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6H3L8$3I4&6L8h3!0J5k6W2)9J5c8X3k6A6L8X3c8U0M7Y4W2H3N6q4)9J5k6s2W2S2M7X3p5`.
将findcrypt3.py和findcrypt3.rules复制到ida/plugins目录下即可
注意: 该插件在python3.8环境下无法运行
D810
如果安装了Hrtng可以不安装该插件
使用前需要idapython安装z3
1
python
-
m pip install z3
-
solver
下载地址
1
git clone https:
/
/
gitlab.com
/
eshard
/
d810.git
将d810文件夹和d810.py复制到plugins目录下即可
auto-enum
自动恢复常见函数的枚举
d0bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6B7N6h3&6J5L8$3&6Q4x3V1k6S2N6i4c8G2i4K6u0V1k6h3&6#2L8b7`.`.
下载后将项目plugin目录内的所有文件复制到ida/plugins下即可
Hrtng
高亮括号,重定义关键函数声明,栈字符串识别,反ollvm等功能
817K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6w2j5i4y4H3k6i4u0K6K9%4W2x3j5h3u0Q4x3V1k6Z5M7Y4c8F1k6H3`.`.
下载release包后解压,复制plugins/windows/9.0/hrtng.dll到ida/plugins目录下即可
classinformer
5deK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Z5k6i4u0G2M7$3W2Q4x3V1k6U0L8r3q4K6M7$3W2F1k6X3!0J5L8h3g2J5
反编译C++时, 可以根据RTTI等信息综合恢复类Class的相关信息,例如继承信息,类名等。
下载release包后将Classinformer64.dll复制到ida/plugins目录下即可
deREferencing
292K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1j5h3&6A6k6$3q4J5k6%4g2Q4x3V1k6V1k6g2u0q4k6X3g2J5k6h3&6U0K9h3&6Y4
调试时使用,追踪栈和寄存器指向的内容
将dereferencing.py文件复制到ida/plugins目录下即可
HexRaysCodeXplorer
自动识别结构体,显示C++虚函数,生成函数结构树等
005K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3f1#2x3Y4m8G2K9X3W2W2i4K6u0W2j5$3&6Q4x3V1k6X3L8%4u0#2L8g2)9J5k6i4m8Z5M7q4)9K6c8X3#2G2k6q4)9K6c8s2k6A6k6i4N6@1K9s2u0W2j5h3c8Q4x3U0k6S2L8i4m8Q4x3@1u0@1K9h3c8Q4x3@1b7I4z5e0V1&6z5e0l9#2i4K6t1$3j5h3#2H3i4K6y4n7K9r3W2Y4K9r3I4A6k6$3S2@1i4K6y4p5d9r3g2^5f1X3q4&6M7@1y4G2k6r3g2j5M7r3I4G2M7X3g2J5
DataExportPlus
8beK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6w2M7X3W2W2N6s2Z5%4i4K6u0r3d9f1c8m8i4K6u0V1c8r3q4@1j5f1g2^5M7r3!0J5N6q4m8D9N6i4x3`.
问题-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的:a27K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6*7K9r3g2X3L8%4S2Q4x3V1k6n7K9h3&6V1K9h3k6X3i4K6g2X3k6X3!0J5i4K6g2X3d9f1c8m8z5g2)9J5k6e0l9`.
如果大佬们有适用于SP1的bindiff麻烦分享一下
直装
解压IDA Professional 9.0.7z后,运行根目录的idapyswitch设置idapython路径即可使用
1
idapyswitch.exe
-
-
force
-
path .
/
python311
/
python3.dll
首次打开文件时,会询问是否使用新快捷键,选择No
之后弹出许可证协议,选择Agree
连接ida server更新,直接点ok
最后于 19分钟前
被东方玻璃编辑
,原因: 添加直装链接
上传的附件: