我是IDA脚本的新手 - 然而,我编写了一个我需要调试的复杂脚本,因为它无法正常工作。
它由几个包含几个不同类的不同文件组成。 由于显而易见的原因,在命令行中逐行编写是无效的。 从文件运行整个脚本不允许调试。
有没有办法在IDA中使用idc,idautils,idaapi?
我已经在PyDev for Eclipse上编写了脚本,我希望有一种从内部运行脚本的方法。
类似的问题是,我提到的api类可以在没有IDA加载的idb文件上工作吗?
感谢。
答案 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调试)可能有效。