Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在IDAPro之外调试IDAPython脚本_Python_Debugging_Reverse Engineering_Ida - Fatal编程技术网

在IDAPro之外调试IDAPython脚本

在IDAPro之外调试IDAPython脚本,python,debugging,reverse-engineering,ida,Python,Debugging,Reverse Engineering,Ida,我对为IDA编写脚本有点陌生——不过,我已经编写了一个需要调试的复杂脚本,因为它不能正常工作 它由几个包含几个不同类的不同文件组成。 由于明显的原因,在命令行中逐行书写是无效的。 从文件运行整个脚本不允许调试 是否有一种方法可以不从IDA内部使用idc、idautils、idaapi? 我已经在PyDev for Eclipse上编写了脚本,我希望有一种方法可以在其中运行脚本 类似的问题是,我提到的api类可以在idb文件上工作,而IDA没有加载它们吗? 谢谢。现在我可能错了,因为我很久没有写任

我对为IDA编写脚本有点陌生——不过,我已经编写了一个需要调试的复杂脚本,因为它不能正常工作

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

是否有一种方法可以不从IDA内部使用idc、idautils、idaapi?

我已经在PyDev for Eclipse上编写了脚本,我希望有一种方法可以在其中运行脚本

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


谢谢。

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

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

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

import code
all = globals()
all.update(locals())
code.interact(local = all)
不管怎样-日志很好,调试打印也很好


祝您好运:)

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

谢谢您的回复。我一直在尝试使用cmdline,但这很痛苦,因为脚本很长,由几个模块组成(驻留在不同的文件中)。我将考虑使用IDA的TUI版本。我在哪里可以找到你提到的黑客的信息?答案中添加了黑客。如果脚本很长,这也是你应该考虑使用TUI的另一个原因。