IDA 插件推荐和使用指南。IDA Pro 是强大的逆向分析工具,通过安装插件可以大幅增强其功能。

0x01、插件安装方法

方法一:复制插件文件

  1. 下载插件文件(通常是 .dll.py
  2. 复制到 IDA 安装目录的 plugins 文件夹
  3. 重启 IDA Pro
  4. EditPlugins 菜单中查看插件

方法二:使用脚本插件(Python)

  1. .py 脚本复制到 plugins 目录
  2. 确保 IDA 支持 Python 脚本
  3. 重启 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

使用方法

  1. 安装插件
  2. 在 View 菜单选择 “Open subviews” → “Classes”
  3. 插件会自动重建类结构

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 PythonPython 脚本内置
ScyllaHide反调试GitHub
BinDiff差异对比官网
Diaphora函数对比GitHub

0x04、使用技巧

  1. 常用快捷键

    • Space - 切换图形/文本视图
    • G - 跳转到地址
    • N - 重命名
    • : - 添加注释
    • X - 交叉引用
  2. 插件管理

    • 定期更新插件
    • 备份自定义插件
    • 查看插件文档

更新时间: 2026-03-27