我对IDA Pro还是一个新手,并且已经发现了RE社区及其供应商提供的一些出色的插件。我发现对我来说非常有价值的一小部分插件是:



Hex-Rays Decompiler(商业)-将程序转换为伪C

IDA工具包-为IDA列出了太多令人敬畏的功能。只需查看/阅读它即可。

IDAscope-函数标记/检查,WinAPI查找,加密识别

这是很短的清单。您觉得哪些IDA Pro脚本/插件很重要?

评论

这个问题很主观,更像是民意测验。但是,可能有很多插件和脚本会对许多人有所帮助,因此这可能是社区Wiki。

@HenryHeikkinen使用社区Wiki来抽拔民意测验成为一个问题和答案平台,事实证明这是一个错误,现在不再做。请参阅社区Wiki的未来。 Stack Exchange不接受民意调查,因此我投票决定将其关闭。

也许可以将这样的主观列表添加到[idapro]的标签Wiki。

如果我们不考虑StackExchange的知识,那么很难说这样的问题实际上“不是建设性的”。因此,充其量我们应该说“关闭是因为它不符合StackExchange metamoderation社区的异想天开。”

从目前的角度来看,这不是一个建设性的问题,我不认为应该重新讨论。如果用户确实认为这是一个重要的讨论,那么我建议按照此处meta.reverseengineering.stackexchange.com/questions/53/…的方式进行处理。讨论应该移到meta上,最好/必要的插件可以根据协议/投票添加到Tag Wiki。

#1 楼

还有二进制差异插件也非常方便分析漏洞:patchdiff2和zynamics bindiff。他们可以帮助您分析二进制文件所具有的补丁,并且对分析非常有用,例如,为什么应用程序在补丁之前易受攻击以及供应商如何对其进行修复。

除了IDA的这两个插件之外,还有DarunGrim,出色的二进制比较工具。

评论


你试过这个吗?我会对您的意见感兴趣。

–伊戈尔·斯科钦斯基♦
13年3月20日在14:51

@IgorSkochinsky听起来真的很有趣。我会深入研究它。谢谢!

– jyz
13年3月20日在16:46

#2 楼

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


Microsoft VC ++ RTTI和EH解析器脚本。作为插件有一个重新实现(但我还没有尝试过)。
memcpy.idc来自IDA的IDC目录。非常简单,但在处理可复制代码的固件时非常有用。
在进行PE拆箱时,请注意renimp.idc。尽管最近它已被UUNP的手动重建功能所取代。
一个小的脚本,用于将选定的字节保存到文件中。



#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代码段,这些代码对二进制文件有特定的作用。我正在倒车,例如解析自定义符号表,或将某些特定的字节序列转换为代码。这些通常很少重复使用。

#3 楼

为了分析RPC,我使用mIDA:
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


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

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



#4 楼

我想添加collabREate-插件,该插件允许在小组中进行逆向工程,它们都共享相同的IDA会话。