在IDAPro之外调试IDAPython脚本

时间:2012-09-01 15:36:58

标签: python debugging reverse-engineering ida

我是IDA脚本的新手 - 然而,我编写了一个我需要调试的复杂脚本,因为它无法正常工作。

它由几个包含几个不同类的不同文件组成。 由于显而易见的原因,在命令行中逐行编写是无效的。 从文件运行整个脚本不允许调试。

有没有办法在IDA中使用idc,idautils,idaapi?

我已经在PyDev for Eclipse上编写了脚本,我希望有一种从内部运行脚本的方法。

类似的问题是,我提到的api类可以在没有IDA加载的idb文件上工作吗?

感谢。

2 个答案:

答案 0 :(得分:1)

现在我可能错了,因为我没有长时间写任何IDA脚本。但据我记得,你的第一个问题的答案是否定的。有一部分加载IDA脚本并准备整个环境,以便您可以重新实现它并创建自己的环境,但我不建议这样做。

我可以告诉您的是,如果自动化是您的目标,则考虑从命令行运行脚本。 IDA python(以及任何其他IDA插件)对从命令行运行脚本有很好的支持。为了提高性能,您还可以运行IDA的TUI版本。

还有一个hack,可以让你在IDA脚本中间启动一个新的python解释器。它对调试当前状态很有用,但每次启动解释器时仍需要编辑python文件。 这是黑客:

import code
all = globals()
all.update(locals())
code.interact(local = all)

无论如何 - 日志很好,调试打印也没问题。

祝你好运:)

答案 1 :(得分:0)

我们刚收到一位用户的通知,说最新版本的WingIDE支持调试IDAPython脚本。我认为有一些其他程序使用相同的方法(导入模块进行RPC调试)可能有效。