Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
idacode — 一款用于IDA和VS Code的集成工具,连接两者以轻松执行和调试IDAPython脚本。 | Kitploit
工具/GitHubGitHub/ioncodes/idacode
逆向工程脚本与自动化调试器二进制分析
GitHubioncodes/idacode

idacode

一款用于IDA和VS Code的集成工具,连接两者以轻松执行和调试IDAPython脚本。

查看仓库
98785511个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

IDACode

IDACode 让您无需离开 Visual Studio Code 即可轻松在 IDA 环境中执行和调试 Python 脚本。该 VS Code 扩展可在市场中找到。
IDACode 仍处于非常早期的阶段,可能会存在错误。如果您遇到任何问题,请提交新的 issue。

特点

  • 速度:快速创建和执行脚本。
  • 调试:随时附加 Python 调试器。
  • 兼容性:IDACode 不要求您以特定方式修改脚本。所有脚本均可直接在 IDA 中执行,无需更改。
  • 模块化:IDACode 不过度依赖线程同步的安全包装器,这让您可以随时从任何路径导入任何模块。相反,IDACode 将脚本执行线程与 IDA 主线程同步,以避免出现性能和非预期问题。
  • 同步:由于 IDACode 使用 debugpy 进行通信,它会自然地将输出窗口与 VS Code 的输出面板同步。

IDACode 已在 Windows 和 macOS 上使用 IDA 8.4/9.0 和 Python 3.12 测试通过(旧版 Python 在调试方面存在问题)。

设置

要为 IDA 插件安装依赖项,请运行:

root@kitploit:~
# 确保使用正确的 Python 版本
# IDACode 从 3.0.0 版本开始支持最新的 debugpy,请务必升级!
python -m pip install --user debugpy tornado

克隆此仓库或从此处下载发布包。ida.zip 反映了此仓库中 ida 文件夹的内容。将所有文件复制到 IDA 的插件目录中。

下一步是根据您的环境配置设置(可选)。编辑 idacode_utils/settings.py 文件:

  • HOST:主机地址。除非您希望从远程位置访问,否则始终为 127.0.0.1。请注意,此插件不使用身份验证。
  • PORT:您希望 IDA 监听的端口。用于 IDA 与 VS Code 之间的 WebSocket 通信。
  • DEBUG_PORT:用于监听传入调试会话的端口。
  • LOGGING:确定调试器是否将日志记录到文件。当您遇到 IDACode 问题时尤其有用。如果发现任何问题,请提交新的 issue。日志文件始终位于您的临时目录中(例如,Windows 下的 %TEMP%)。文件名为 debugpy.*.log。

现在,您可以通过点击插件菜单中的 IDACode 来启动插件。

VS Code 扩展可在市场获得。有关扩展的配置,请参考扩展的 README。

用法

IDA

点击插件菜单中的 IDACode。您应该会看到以下文字:

root@kitploit:~
IDACode listening on 127.0.0.1:7065

VS Code

从 0.2.0 版本开始,IDACode 支持“保存时执行”,该功能默认启用。当您保存当前文档时(例如使用 CTRL+S),VS Code 会自动在 IDA 中执行您的脚本。此行为可以在设置中禁用。使用 Ctrl-Shift-P 打开 VS Code 扩展开发控制台,输入 "idacode" 查看以下命令列表。不要使用 VS Code 的“运行”或“调试”功能,否则 IDA 中会收到 "HTTP misformed" 消息。

您可以使用以下 4 条命令:

commands

一旦您打开了一个要放置脚本的文件夹(VS Code 询问时必须指定该文件夹),您就可以连接到 IDA。您可以通过执行 Connect to IDA 或 Connect and attach a debugger to IDA 来完成连接。请注意,调试会话在您重启 IDA 之前是永久性的。调试器启动后,您无法更改工作区文件夹。
请确保工作区文件夹是您主脚本所在的文件夹。
连接后,您就可以选择 Execute script in IDA。

调试

IDACode 使用 VS Code 的远程调试器连接到 IDA。所有 VS Code 功能均受支持。但是,您必须使用 Python 内置功能 breakpoint 来指定脚本的入口点。此指令告诉调试器暂停执行,如果没有调试器存在,它只会忽略该函数。IDACode 导入了一个名为 dbg 的帮助包,该包实现了 breakpoint 的重载,称为 bp。此函数支持日志记录和条件:

root@kitploit:~
name = idc.get_segm_name(segment)
dbg.bp(name==".text", f"found {name} at {segment}")

另请注意,breakpoint() 调用绝不应出现在文件末尾,它必须始终位于其他代码行之前,因为它会在代码的_下一个_指令处中断。另请注意,如果您决定使用 dbg 包,则必须删除所有引用,或在将其作为普通 IDA 脚本执行之前使用变量 __idacode__ 作为条件。
此外,附加调试器会创建一个新的调试器实例,这在大多数情况下并不是您想要的。如果您断开与调试器的连接,请使用 VS Code 的远程调试器重新连接。

已知问题

  • 导入的模块在更改后不会重新加载,请参考此 issue 以了解解决方法。

演示

demo

贡献者

  • mrexodia
  • MeitarR
  • Plutoberth
  • OevreFlataeker
  • RolfRolles
下载工具