我对IDA Pro还是一个新手,并且已经发现了RE社区及其供应商提供的一些出色的插件。我发现对我来说非常有价值的一小部分插件是:
Hex-Rays Decompiler(商业)-将程序转换为伪C
IDA工具包-为IDA列出了太多令人敬畏的功能。只需查看/阅读它即可。
IDAscope-函数标记/检查,WinAPI查找,加密识别
这是很短的清单。您觉得哪些IDA Pro脚本/插件很重要?
#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不提供对此工具的支持,也不保证其使用或输出。在使用此程序之前,请阅读最终用户许可协议。
评论
这个问题很主观,更像是民意测验。但是,可能有很多插件和脚本会对许多人有所帮助,因此这可能是社区Wiki。@HenryHeikkinen使用社区Wiki来抽拔民意测验成为一个问题和答案平台,事实证明这是一个错误,现在不再做。请参阅社区Wiki的未来。 Stack Exchange不接受民意调查,因此我投票决定将其关闭。
也许可以将这样的主观列表添加到[idapro]的标签Wiki。
如果我们不考虑StackExchange的知识,那么很难说这样的问题实际上“不是建设性的”。因此,充其量我们应该说“关闭是因为它不符合StackExchange metamoderation社区的异想天开。”
从目前的角度来看,这不是一个建设性的问题,我不认为应该重新讨论。如果用户确实认为这是一个重要的讨论,那么我建议按照此处meta.reverseengineering.stackexchange.com/questions/53/…的方式进行处理。讨论应该移到meta上,最好/必要的插件可以根据协议/投票添加到Tag Wiki。