IdaCode使您可以轻松地在IDA环境中执行和调试Python脚本,而无需离开Visual Studio代码。 VS代码扩展可以在市场上找到。
idacode仍处于非常早的状态,预计错误。如果您遇到任何问题,请打开新问题。
debugpy进行通信,它将输出窗口自然同步与VS Code的输出面板。idacode支持Python 2和Python 3!
设置IDA插件运行的依赖项:
# make sure to use the correct Python version
# IDACode supports the latest debugpy as of version 3.0.0, make sure to upgrade!
python -m pip install --user debugpy tornado克隆此存储库或从此处下载发布包。 ida.zip反映了此存储库中ida文件夹的内容。将所有文件复制到IDA插件目录中。
下一步是配置您的设置以匹配您的环境。编辑idacode_utils/settings.py相应:
HOST :这是主机地址。除非您希望可以从远程位置访问它,否则这总是127.0.0.1 。请记住,此插件不利用身份验证。PORT :这是您要IDA收听的端口。这用于IDA和VS代码之间的WebSocket通信。DEBUG_PORT :这是您要收听的端口,以进行调试会议。PYTHON :这是您IDA设置使用的Python分布的绝对路径。LOGGING :确定调试器是否应登录到文件中。当您遇到IDACODE问题时,这特别有用。如果您发现任何东西,请提交新问题。这些文件始终位于您的温度目录中(例如Windows: %TEMP% )。文件称为debugpy.*.log 。现在,您可以通过单击插件菜单中的IDACode来启动插件。
VS代码扩展可以在市场上找到。要配置扩展名,请参考扩展名的读数。
在插件菜单中点击IDACode 。您应该受到以下文字的欢迎:
IDACode listening on 127.0.0.1:7065
从0.2.0版本开始,iDaCode支持“执行保存”,默认情况下启用。保存当前文档后,VS代码将在IDA中自动执行您的脚本(例如,使用CTRL+S)。可以在设置中禁用此行为。
您可以使用4个命令:

打开文件夹后,您想将脚本放入中(VS代码要求您时,必须指定文件夹!),您就可以连接到IDA。您可以通过执行Connect to IDA或Connect and attach a debugger to IDA来做到这一点。请记住,在您重新启动IDA之前,调试会议是永久的。调试器启动后,您将无法更改工作区文件夹。
确保工作区文件夹是您的主要脚本所在的文件夹。
连接后,您可以Execute script in IDA 。
IDACODE使用VS代码的远程调试器连接到IDA。支持所有VS代码功能。但是,您必须使用python内置功能: breakpoint指定脚本入口点。该指令告诉调试器暂停执行,如果没有调试器,它将忽略该功能。 idaCode导入一个名为dbg的帮助助手软件包,该软件包实现了一个称为bp的breakpoint 。此功能支持日志记录和条件:
name = idc . get_segm_name ( segment )
dbg . bp ( name == ".text" , f"found { name } at { segment } " )另请注意, breakpoint()呼叫绝不应该在文件末尾发生,它必须始终是在代码上的任何其他代码线上,因为它在代码中的下一个指令中断裂。另请注意,如果您决定使用dbg软件包,则必须删除所有参考文献,或者在将其作为普通IDA脚本执行之前,将变量__idacode__作为条件。
同样重要的是,附加调试器将创建一个新的调试器实例。在大多数情况下,这不是您想要的。如果您与调试器断开连接,请使用VS Code的远程调试器连接。
