IDA 插件推荐和使用指南。IDA Pro 是强大的逆向分析工具,通过安装插件可以大幅增强其功能。
0x01、插件安装方法
方法一:复制插件文件
- 下载插件文件(通常是
.dll或.py) - 复制到 IDA 安装目录的
plugins文件夹 - 重启 IDA Pro
- 在
Edit→Plugins菜单中查看插件
方法二:使用脚本插件(Python)
- 将
.py脚本复制到plugins目录 - 确保 IDA 支持 Python 脚本
- 重启 IDA Pro
插件目录位置
Linux
# IDA Pro 安装目录
/opt/ida/plugins/Windows
C:\Program Files\IDA\plugins\
0x02、必备插件推荐
类重建插件
Class Informer
功能:重建 C++ 类结构,显示类的继承关系和成员
特点:
- 识别 RTTI 信息
- 重建虚函数表
- 显示类层次结构
GitHub: https://github.com/herOSI/classinformer-ida8
使用方法:
- 安装插件
- 在 View 菜单选择 “Open subviews” → “Classes”
- 插件会自动重建类结构
Hex-Rays Decompiler
功能:将汇编代码反编译为 C 代码
特点:
- IDA 官方反编译器
- 高质量伪代码生成
- 支持 ARM、x86、x64 等架构(需单独购买)
字符串和数据分析
Strings
功能:识别和标记二进制文件中的字符串
特点:
- 自动扫描字符串
- 支持 Unicode 和 ASCII
- 可配置最小字符串长度
脚本和自动化
IDAPython
功能:Python 脚本扩展 IDA
特点:
- IDA 内置的 Python 接口
- 编写自动化脚本
- 批量分析
- 自定义功能
示例脚本:
# 获取所有函数并导出
import idautils
import idaapi
def export_functions():
for func in idautils.Functions():
func_name = idaapi.get_func_name(func)
print(f"Function: {func_name} @ 0x{func:x}")
export_functions()调试增强
ScyllaHide
功能:隐藏调试器,防止反调试检测
特点:
- NtSetInformationThread 钩子
- NtQueryInformationProcess 钩子
- 配置简单
图形化和可视化
BinDiff
功能:二进制文件差异比较
特点:
- 比较函数差异
- 相似度分析
- 补丁分析
0x03、推荐插件列表
| 插件名称 | 功能 | 链接 |
|---|---|---|
| Class Informer | 重建 C++ 类 | GitHub |
| Hex-Rays Decompiler | 反编译 | 官网 |
| Strings | 字符串扫描 | 内置 |
| IDA Python | Python 脚本 | 内置 |
| ScyllaHide | 反调试 | GitHub |
| BinDiff | 差异对比 | 官网 |
| Diaphora | 函数对比 | GitHub |
0x04、使用技巧
-
常用快捷键
Space- 切换图形/文本视图G- 跳转到地址N- 重命名:- 添加注释X- 交叉引用
-
插件管理
- 定期更新插件
- 备份自定义插件
- 查看插件文档
更新时间: 2026-03-27