楼主: Jessicajing1
591 0

[其他] IDA Pro 9.2 python环境切换、插件配置和常用快捷键 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-8-28
最后登录
2018-8-28

楼主
Jessicajing1 发表于 2025-12-12 20:35:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Python环境切换与IDA插件配置指南

一、安装新版本Python

访问Python官方网站,下载所需版本的安装包:

https://www.python.org/downloads/release/python-390/

运行安装程序时选择“自定义安装”选项,并将Python安装路径设置为IDA的安装目录下,以便后续集成和调用。

二、切换IDA默认使用的Python环境

以管理员身份启动命令提示符(cmd),进入IDA的安装路径。

执行以下指令进行Python环境绑定:

idapyswitch.exe --force-path PATH\TO\YOUR\PYTHON3.9\python3.dll

其中需将

PATH\TO\YOUR\PYTHON3.9

替换为实际的

python3.9

安装路径。特别注意:在执行

idapyswitch.exe

前,请确保所有

ida pro

相关窗口均已关闭。

三、验证Python切换结果

启动IDA后,在底部的Python命令行中输入:

import sys; print(sys.path),

若输出信息中包含类似

D:\\software\\IDA_Pro_9.2\\IDA_Pro_9.2\\python39new\\python39.zip

的路径内容,则表示Python环境已成功切换至目标版本。

四、常用IDA插件介绍及安装方法

核心功能插件

插件名 作用 安装方法 备注
Keypatch 用于patch汇编指令
Keypatch.py

复制到

plugins

目录

使用前需先安装keystone-engine(非keystone)以及six模块:

python -m pip install six

适配IDA 9.2的版本可参考:https://bbs.kanxue.com/thread-282852.html

注意:请确认是keystone-engine而非keystone。

keystone-engine
python -m pip install keystone-engine
Patching 实现快速十六进制patch操作
Patching

文件夹与

Patching.py

一同复制至

plugins

目录

当前版本不直接支持IDA 9.2,需启用PyQt5 Shims兼容模式方可使用。

DataExportPlus 增强版数据导出工具,支持Shift+E快捷键提取数据
DataExportPlus.py

放入plugins目录

支持IDA 9.2版本。

findcrypt-yara 通过特征常数识别常见加密算法 将
findcrypt3.py

findcrypt3.rules

复制到

ida/plugins

目录

需提前为IDAPython安装yara-python(注意不是yara):

python -m pip install yara-python

该插件在Python 3.8环境下无法正常运行。

hrtng 具备去OLLVM混淆、栈字符串识别、括号高亮、字符串解密等功能 下载release压缩包并解压,将
plugins/windows/9.0/hrtng.dll

复制到

ida/plugins

目录即可使用

支持IDA 9.2。另提供如下附加文件,拖入ida/plugins目录生效:

  • IDA的Markdown编辑器插件 ——
  • notepad-md.pyhrtng
  • API枚举恢复列表 ——
  • literal.txt
  • Windows专用组件 ——
  • apilist.txt
LazyIDA 实现数据的快速转换与提取 将
LazyIDA.py

复制到

plugins

目录

支持IDA 9.2;注意原convert标签现已更改为Dump。

auto-enum 自动恢复Windows/Linux平台API参数的枚举名称 将
plugin

目录下的全部文件复制至

ida/plugins

路径下:

enumlib, auto_enum.py, ida-plugin.json

支持IDA 9.2,使用时需在伪C代码界面右键点击

Auto Enum

触发功能。

bindiff 用于函数相似度比对,常用于符号恢复 将
binexport12_ida64.dll

bindiff8_ida64.dll

复制到

ida/plugins

目录

原版不支持IDA 9.2;适配版本见:https://bbs.kanxue.com/thread-283804.htm

其他实用插件

插件名 作用 安装方法 备注
Ponce 提供符号执行与污点分析能力,可用于破解场景 将ponce.dll文件放入plugins目录 官方未明确支持IDA 9.2;但基于https://github.com/copythere/Ponce 的9.1适配版本经测试可在9.2中使用
deREferencing 调试过程中追踪寄存器与栈指针所指向的内容
dereferencing.py

dereferencing

文件夹复制到

ida/plugins

目录

实际效果有限,因IDA 9.2优化了寄存器视图,目前仅调用栈视图相对有用。

D810 用于去除OLLVM控制流混淆 需先为IDAPython安装z3求解器:
python -m pip install z3-solver"

然后将

d810

文件夹与

d810.py

复制到

plugins

目录

若已安装Hrtng插件,可不必单独安装此插件。

IDA Feeds 匹配部分常见的库函数符号 详见下方“IDA Feeds安装”说明 整体效果较为有限 ida-pro-mcp 在IDA中接入MCP服务 详见下方“ida-pro-mcp安装”说明 功能与WPeChatGPT类似,但token消耗更高 WPeChatGPT 利用大语言模型辅助逆向分析 详见下方“WPeChatGPT”章节 分析结果仅供参考,辅助使用为主 IDA_ClassInformer_PlugIn 反编译C++代码时,可根据RTTI等信息恢复类结构,如继承关系、类名等 将
IDA_ClassInformer.dl

复制到

ida/plugins

目录

HexRaysCodeXplorer 自动识别结构体、展示C++虚函数、生成函数结构树等 将
HexRaysCodeXplorer64.dll

复制到

ida/plugins

目录

兼容性支持组件

PyQt5 Shims

尽管IDA已从

ida

升级至

QT5

,为保证旧有插件的兼容性,系统提供了

QT6

的兼容层——即PyQt5 Shims。

PyQt5 Shims

更多细节请参考官方文档或项目说明。

1. 等待 IDA 检测到与 QT6 不兼容的插件

当 IDA 检测到存在不兼容 QT6 的插件时,会弹出提示窗口。此时只需点击“Yes”即可继续。

2. 手动配置方法

打开以下文件:

ida/cfg/idapython.cfg

将文件中最后一行的:

IDAPYTHON_USE_PYQT5_SHIM

修改为:

1

IDA Feeds 安装与配置

详细信息可参考官方文档中的 IDA Feeds 部分。

安装必要依赖

基础功能支持顺序扫描,若需启用并行扫描,则需额外配置如下依赖项:

  • idalib
  • RPyc 5.x(用于实现并行分析)
  • 配置 ida_feeds/config.json 中的 flair 路径

具体操作步骤

步骤一:安装并激活 idalib

使用以下命令进行安装和激活。注意替换路径为实际的 IDA 安装目录:

idapython

指定如下目录进行操作:

pip

下载内容至该路径下的目录中:

idalib/python
setup.py

执行以下命令:

python -m pip install "D:\tools\IDA Professional 9.2\idalib\python\."
python "D:\tools\IDA Professional 9.2\idalib\python\py-activate-idalib.py"

说明:

D:\tools\IDA Professional 9.2

即为 IDA 的安装根目录。

步骤二:安装 idafeeds 所需依赖(RPyc)

运行以下命令安装 requirements.txt 中列出的依赖包:

python -m pip install -r "D:\tools\IDA Professional 9.2\plugins\ida_feeds\requirements.txt"

requirements.txt 文件内容如下:

PySide6==6.8.0
PyQt6-sip==13.10.0
Requests==2.32.3
rpyc==6.0.1
tomli==2.2.1

步骤三:配置 ida_feeds/config.json 中的 flair 路径

修改以下配置项:

config.sample.json

将其复制一份,并重命名为:

config.json

使用 IDA Feeds 功能

登录 hex-rays 官网后,下载相关资源并解压:

signatures-bundles-9.2.zip

将解压后文件夹内的符号库子目录复制到以下目标路径:

~\IDA Professional 9.1\sig

插件位于:

Edit>plugins>IDA Feeds

启动界面如下:

使用流程说明

  1. 首先选择所需的符号库,然后设定扫描模式。
  2. 选中符号库中的某个符号文件,按下:
  3. ctrl+a
  4. 全选所有符号后,点击“运行探测”按钮。
  5. 按住以下按键:
  6. ctrl
  7. 选中所有匹配的签名条目,最后点击:
  8. Apply signatures

最终符号恢复效果如下图所示,能够成功识别并恢复大量常见的库函数符号:

ida-pro-mcp 插件安装

项目地址:https://github.com/mrexodia/ida-pro-mcp

配置 VSCode Cline 插件

任何可以连接或探测本地 MCP Server 的工具均可使用。推荐在 VSCode 插件市场中安装 Cline 插件,随后配置模型与 API 参数,支持开启自动授权选项。

安装 IDA MCP Server

首先确认使用的是独立 Python 环境,避免与系统 Python 冲突。建议通过以下命令安装:

idapython

下载并安装程序:

ida-pro-mcp
python -m pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp

如因网络问题无法直接访问 GitHub,可采用离线方式安装:

在一台可正常访问 GitHub 的设备上执行:

git clone https://github.com/mrexodia/ida-pro-mcp.git
cd ida-pro-mcp
python -m pip wheel . -w dist

示例输出:

PS D:\code\pythonprojects\ida-pro-mcp> D:\environment\python\python-3.11.9\python.exe -m pip wheel . -w dist
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing d:\code\pythonprojects\ida-pro-mcp
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting idapro>=0.0.7 (from ida-pro-mcp==2.0.0)
Building wheels for collected packages: ida-pro-mcp
Building wheel for ida-pro-mcp (pyproject.toml) ... done
Created wheel for ida-pro-mcp: filename=ida_pro_mcp-2.0.0-py3-none-any.whl size=71075 sha256=e3bcc5f0ed99f554f405db2e90b6e73542d3732194fe1749793c6bcd8737c065
Stored in directory: c:\users\zhubayi\appdata\local\pip\cache\wheels\71\2f\56\3b1092f23a031cb42fad07e9fa2257f6f5dd9277f36193298d
Successfully built ida-pro-mcp

Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fb/5d/6e6565d9a1d6ecf1b48a2bea326f0e3dbe4c3199adfc0a5456b83d235f99/idapro-0.0.7-py3-none-any.whl (2.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 4.8 MB/s 0:00:00
Collecting tomli-w>=1.0.0 (from ida-pro-mcp==2.0.0)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl (6.7 kB)
Saved d:\code\pythonprojects\ida-pro-mcp\dist\idapro-0.0.7-py3-none-any.whl
Saved d:\code\pythonprojects\ida-pro-mcp\dist\tomli_w-1.2.0-py3-none-any.whl

安装成功后的文件目录如下:
c:\users\zhubayi\appdata\local\pip\cache\wheels\71\2f\56\3b1092f23a031cb42fad07e9fa2257f6f5dd9277f36193298d
将相关文件拷贝至指定路径:
ida-pro-mcp
随后执行安装命令: python -m pip install --upgrade D:\pkgs\ida_pro_mcp-xxx.whl 进入以下目录进行操作:
IDAPython
中的
Scripts
并在该路径下运行:
ida-pro-mcp.exe
IDAPython
并非系统默认路径,
python
则需手动切换至该目录后再执行运行指令。 注意:必须先安装必要的插件(例如 Cline),再运行
ida-pro-mcp
,否则系统将不会生成所需的配置文件。 当确认配置文件已成功生成后,启动 IDA 并运行 MCP-Server: 如果 Cline 能够检测到服务端,则表明配置已完成。 此后即可通过提问实现自动化分析功能。 WPeChatGPT 安装说明 项目源码位置参考:
https://github.com/WPeace-HcH/WPeChatGPT
本项目基于 Gepetto 框架开发,涉及插件的安装与使用流程如下: 首先安装插件所需依赖项: python -m pip install -r ~\WPeChatGPT-main\requirements.txt 依赖文件 requirements.txt 的具体内容如下:
openai >= 0.27.0
anytree
httpx
根据需要修改 WPeChatGPT.py 文件中的配置参数。 该脚本默认支持 OpenAI 和 DeepSeek 模型,只需调整 PLUGIN_NAME 与 model_api_key 即可完成模型切换。 鉴于
OpenAI API
申请难度较高,且
DeepSeek
已关闭注册通道,推荐采用火山引擎提供的 API 接口。 如需接入其他模型,需手动添加如下两个 elif 分支(依据所用模型具体设置): client = openai.OpenAI(base_url = "https://ark.cn-beijing.volces.com/api/v3", api_key = model_api_key) 步骤三: 复制以下两个文件:
WPeChatGPT.py
Auto-WPeGPT_WPeace
至目标目录:
ida/plugins
实际使用效果展示如下: API 申请指引 该插件依赖于
OpenAI SDK
接口调用,目前默认兼容
OpenAI
DeepSeek
模型。使用前需提前申请对应服务权限。
api
建议选择火山引擎平台,每个模型均提供
50万
免费额度
token https://www.volcengine.com
,使用过程中请注意监控
token
调用量。 操作步骤如下: 1. 创建 Token,名称可自定义。创建完成后,请复制并妥善保存 API Key,后续模型调用将依赖此密钥(切勿泄露)。 2. 在“开通管理”页面中,启用所需使用的模型服务。 3. 查询并确认服务状态是否正常。

模型的ID

创建完成后进行复制操作,随后将其填入指定位置。

模型id

与之前配置的内容相结合,完成填充步骤。

API Key
model_api_key
MODEL

完成上述设置后,重启IDA即可启用插件功能。

IDA Pro 常用快捷键汇总

一、文件相关操作

快捷键 功能说明
Ctrl+F9 解析 C 头文件,将C语言头文件导入IDA以辅助类型识别
Alt+F10 生成 ASM 文件,导出反汇编代码为汇编格式
Ctrl+W 保存当前 IDA 数据库(.idb 或 .i64 文件)
Ctrl+F5 保存当前查看的 C 伪代码内容
Alt+X / Alt+F4 退出程序并自动保存更改

二、导航功能

快捷键 功能说明
Enter 跳转至操作数目标地址,如函数调用、跳转指令或数据引用位置
Alt+Enter 在新窗口中打开目标地址,便于多点对比分析
Esc 返回上一个浏览位置,实现“后退”导航
Ctrl+Enter 前进到下一个历史位置,配合 Esc 实现完整导航回溯
G 跳转到指定地址,支持输入十六进制数值或符号名称快速定位
Ctrl+L 按名称搜索并跳转,适用于查找函数、变量或标签等符号
Ctrl+P 打开函数列表并跳转,快速浏览和选择程序中的函数
Tab 切换至伪代码视图(需 Hex-Rays 插件),将汇编转换为类 C 形式
Ctrl+S 跳转至内存段,查看.text、.data等段分布情况
Ctrl+X 显示交叉引用列表,分析当前地址被引用或引用其他位置的情况
X 跳转至对操作数的交叉引用,追踪数据流或函数调用链
Ctrl+E 跳转至程序入口点,例如 main 函数或原始入口 OEP
Alt+M / Ctrl+M 标记当前位置 / 跳转至已标记位置,方便复杂逻辑中标记关键节点

三、搜索功能

快捷键 功能说明
Alt+C / Ctrl+D / Ctrl+A / Ctrl+U 依次搜索下一个代码段、数据段、已探索区域、未探索区域,用于遍历程序结构
Alt+I / Ctrl+I 搜索立即数或下一个立即数,常用于定位硬编码值(如密钥、地址)
Alt+T / Ctrl+T 查找文本字符串或下一个匹配项,用于发现字符串常量或指令特征
Alt+B / Ctrl+B 搜索特定字节序列或下一项,适用于识别 Shellcode 或机器码特征

四、编辑与类型调整

快捷键 功能说明
C / D / A 将选中区域分别定义为代码、数据、字符串,是修正 IDA 分析错误的核心手段
U 取消定义内容,恢复为原始字节状态,用于撤销误识别
N 重命名函数、变量或地址,赋予更具语义的名称(如将 sub_401000 改为 Decrypt)
; / : 添加可重复显示的注释或普通注释,用于标注功能逻辑或数据用途
Q / H / B / R 切换数值显示方式:十六进制、十进制、二进制、字符形式
Y 设置变量或函数的数据类型(如 int、char* 等),提升伪代码可读性

五、窗口与子视图管理

快捷键 功能说明
Shift+F12 打开字符串窗口,列出程序中所有发现的字符串,常用于定位关键行为入口
Shift+F3 / Shift+F4 / Shift+F7~F12 分别打开函数窗口、符号名称窗口、段窗口、结构体、枚举等辅助视图,支持全局分析
Ctrl+Tab 在多个打开的子窗口之间循环切换
Alt+1~9 快速切换至编号对应的窗口,适合多窗口布局下的高效操作

六、函数分析相关操作

快捷键 功能说明
P 创建函数,将选定指令块识别为独立函数,IDA 自动分析栈帧和局部变量
E 设置函数结束位置,修正因跳转异常导致的函数边界识别错误
F5 执行反编译操作(依赖 Hex-Rays 插件),将汇编函数转化为类 C 伪代码,为核心逆向手段
空格 在反汇编文本视图与图形化控制流视图间切换,图形模式更直观展示逻辑分支

七、调试功能(仅适用于支持调试的 IDA 版本)

快捷键 功能说明
F2 在光标所在地址设置或清除断点
F9 启动调试进程
F7 / F8 单步步入(进入函数内部)/ 单步步过(跳过函数调用)
F4 运行程序至当前光标所在位置,快速跳过无关代码段
Ctrl+Alt+B 打开断点管理窗口,查看和管理所有已设断点

以上快捷键涵盖了从文件加载、代码导航、结构分析到动态调试的完整工作流程。其中:

F5(反编译
Ctrl + F5(保存反编译
空格(视图切换)
Shift+F12(字符串窗口)
G(地址跳转)

这些操作在实际逆向工程中使用频率极高,属于核心技能范畴,建议优先掌握以显著提升分析效率。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 快捷键 Requirements Professional Successfully

返回列表 发帖 回复
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002号-2 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2025-12-23 07:14