您使用的基本 IDA 插件或 IDA Python 脚本是什么?

逆向工程 工具 艾达 蟒蛇
2021-07-05 02:56:43

我是 IDA Pro 的新手,并且一直在发现 RE 社区及其供应商提供的一些优秀插件。我发现对我非常有价值的插件小列表是:

当然,这是一个非常短的列表。您认为哪些 IDA Pro 脚本/插件必不可少?

4个回答

还有二进制差异插件也可以非常方便地分析漏洞:patchdiff2zynamics bindiff它们可以帮助您分析二进制文件中的补丁,并且非常有助于分析应用程序在补丁发布之前为何易受攻击以及供应商如何修复它。

除了这两个 IDA 插件之外,还有DarunGrim,另一个出色的二进制差异工具。

以下是我经常使用的一些:

  • Microsoft VC++ RTTI 和 EH 解析器脚本一个作为插件的重新实现(但我还没有尝试过)。

  • memcpy.idc来自 IDA 的 idc 目录。在处理复制代码的固件时非常简单但很有用。

  • renimp.idc做PE开箱时。尽管最近它已被 UUNP 的手动重建功能所取代

  • 一个将选定字节保存到文件的小脚本。用于从 dropper 中提取嵌入的二进制文件。


#include <idc.idc>
static main()
{
  auto s,e,f,name;
  s = SelStart();
  e = SelEnd();
  if (s==BADADDR || e==BADADDR)
    return;
  name = form("dump_%08X.bin", s);
  f = fopen(name,"wb");
  Message("Saving %a-%a to %s...", s, e, name);
  savefile(f,0,s,e-s);
  Message("done.\n");
  fclose(f);
}

此外,我经常编写小的 IDC 或 Python 片段,这些片段对我正在反转的二进制文件执行特定操作,例如解析自定义符号表,或将某些特定字节序列转换为代码。这些通常不会重复使用。

我使用mIDA 来分析 RPC :mIDA 是 IDA 反汇编程序的插件,它可以从二进制文件中提取 RPC 接口并重新创建相关的 IDL 定义。mIDA 是免费的,并且与最新版本的 IDA(5.2 或更高版本)完全集成。该插件可用于:

* Navigate to RPC functions in IDA
* Analyze RPC function arguments
* Understand RPC structures
* Reconstruct an IDL definition file

大多数情况下,mIDA 生成的 IDL 代码可以使用 Microsoft 的 MIDL 编译器 (midl.exe) 重新编译。

mIDA 由 Tenable 免费分发给社区,希望对您有用并帮助研究工程师更有效地处理 RPC 程序。但是,Tenable 不提供对此工具的支持,也不对其使用或输出提供任何保证。在使用此程序之前,请阅读最终用户许可协议。

mIDA 的示例输出

我想添加collabREate - 插件,它允许在小团队中进行逆向工程,都共享同一个 IDA 会话。