Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
idasql — 用 IDA Pro 进行 Vibe 逆向工程:通过实时虚拟表在 SQL 中操作 IDA 的接口。别被表象迷惑!:) | Kitploit
工具/GitHubGitHub/allthingsida/idasql
静态分析逆向工程调试器恶意软件分析二进制分析AI 辅助逆向固件分析
GitHuballthingsida/idasql

idasql

用 IDA Pro 进行 Vibe 逆向工程:通过实时虚拟表在 SQL 中操作 IDA 的接口。别被表象迷惑!:)

查看仓库
363203411天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

IDASQL

让任何 AI 智能体都能理解编译后的二进制文件。

Download IDASQL Donate with PayPal Buy Me a Coffee Star IDASQL on GitHub

IDASQL 是由 Elias Bachaalany 创建的 IDA Pro 数据库 SQL 接口。它公开了 30 多个虚拟表,涵盖函数、交叉引用、字符串、类型、导入、反汇编和反编译。使用你的编码智能体中的 /idasql 技能即可完全无头运行——智能体会在后台为你运行 IDA——或者打开 IDA 的 UI,与你的编码智能体协作,一起进行逆向工程。无需 IDAPython。无需脚本。只需 SQL。

为什么用 SQL? SQL 是每个 AI 智能体都已经掌握的通用查询语言。IDASQL 与智能体无关:Claude、ChatGPT、Copilot、Cursor、自定义智能体,或者根本不用智能体。任何能够发出 SQL 查询的工具都可以分析二进制文件。

  • 无需建立索引。 IDA 已经为一切建立了索引。查询会针对实时数据库即时运行。
  • 无需编写脚本。 30 多个 SQL 表取代了数百行 IDAPython 代码。
  • 无头、GUI,或两者兼用。 可以完全无头运行、在 IDA 的 UI 内运行,或同时连接多个数据库。
  • 读与写。 IDASQL 不仅仅是一个查询工具。它允许读取和写入 IDA 数据库最重要的方面:反编译注释、类型恢复、类型应用(结构体和联合体偏移)、检测类型转换,以及自动猜测并更新正确的原型。

IDASQL 支持同时分析、交叉引用并在一个或多个数据库之间传输注释。你能做什么,只受限于你的想象力和你所使用模型的能力。

工作原理

IDA Pro 已经拥有自己的数据库格式,用于描述函数、字符串、交叉引用、类型等。IDASQL 将这些内部结构映射到实时的 SQL 虚拟表。没有单独的导出或索引步骤——查询直接针对 IDA 的数据库执行,更改会实时反映。

模式如何启动最适合
独立 CLIidasql -s binary.i64 -i直接 SQL、脚本、流水线
IDA 插件从 IDA 的 CLI 下拉菜单中选择 idasqlGUI 内的 SQL、实时数据库
技能工作流在你的编码 CLI 中执行 /idasql:connectAI 驱动的分析——智能体自主发出 SQL 查询
You / Agent  -->  Natural language or SQL
                        |
                  /idasql skills (LLM translates intent to SQL)
                        |
                     IDASQL  -->  IDA database(s)
                        |
                     Results  -->  LLM summarizes & reasons
$ idasql -s WerFaultTool.exe.i64 -q "SELECT * FROM funcs LIMIT 5"
Opening: WerFaultTool.exe.i64...
Database opened successfully.

+------+-------------------------------------------------+------+----------+-------+
| addr | name                                            | size | end_addr | flags |
+------+-------------------------------------------------+------+----------+-------+
| 16   | WerFaultTool.AboutForm::.ctor                   | 13   | 29       | 4096  |
| 32   | WerFaultTool.AboutForm::Dispose                 | 30   | 62       | 4096  |
| 64   | WerFaultTool.AboutForm::InitializeComponent     | 295  | 359      | 4096  |
| 400  | WerFaultTool.WerFaultGUI::.ctor                 | 936  | 1336     | 4096  |
| 1344 | WerFaultTool.WerFaultGUI::CreateDynamicControls | 231  | 1575     | 4096  |
+------+-------------------------------------------------+------+----------+-------+
5 row(s)

一条命令。即时结果。无需编写脚本。

快速开始

在安装 IDASQL CLI 和插件后,启动你喜欢的编码代理,通过提示开始逆向工程。IDASQL 完全以无头模式运行——你的代理负责编排 IDA Pro:启动、分析、反编译、注释、保存——或者托管在 IDA GUI 内,你可以在其中与代理实时协作。

入门

打开你喜欢的编码代理(例如 Claude Code)并输入:

/idasql:connect Please open sample_malware.exe in the background and let's analyze it together.

代理在后台以无头模式启动 IDASQL。从此之后,就可以像聊天一样自然地与数据库交互。例如:

/idasql:annotations Fully annotate the function I'm looking at, also use the decompiler skill.

模型会自主推理理解该函数的最佳方法,对其进行完整逆向工程,并添加注释。

完成后,让 agent 保存并关闭:

/idasql:connect Please save all databases and shut down IDASQL.

使用多个数据库

你可以同时使用两个或多个数据库。向你的 agent 提示:

/idasql:connect In this folder, there are many *.exe files. Please use parallel agents to open IDASQL in the background and report how many functions each has.

然后跟进:

Tell me, how many strings all these databases have in common?

该代理可同时与所有数据库协同工作。你可以在它们之间进行交叉引用、比较和传输注释。

使用 IDA UI

上述所有功能同样可在 IDA GUI 中使用。要让你的代理与已打开的 IDA 会话交互:

  1. 在 IDA 的 idasql> 提示符下,输入:

    .http start
    
  2. IDA 输出:

    IDASQL HTTP server: http://127.0.0.1:8174
    
  3. 在你的编码代理中:

    /idasql:connect Let's work with this database: http://127.0.0.1:8174
    

现在 IDASQL 和你的 IDA UI 已经连接并协同工作了。

深度链接(IDA 9.4)

在 IDA 9.4 中,答案可以直接链接到 IDA 中。deep_links 表将任意 函数、地址、字符串或类型转换为 IDA 自身 Copy Link 格式的 ida:// 链接, 外加一个额外参数 idb_path,即数据库的完整路径。IDA 会忽略它;idasql 的 点击处理器使用它来启动 IDA 并打开正确的数据库。函数链接会打开 反编译器(没有反编译器时打开反汇编),其他链接打开反汇编:

SELECT f.name, dl.uri
FROM funcs f
JOIN deep_links dl ON dl.resource = 'functions' AND dl.addr = f.addr AND dl.view = 'pseudocode'
ORDER BY f.size DESC LIMIT 5;

编码代理会将这些渲染为可点击的名称。要使点击打开 IDA:

idasql link register        # handle ida:// links (a replaced handler, such as hcli's, is saved)
idasql link unregister      # remove it and restore the saved handler
idasql link open -- "ida:///sample.exe.i64/functions?rva=0x1130&view=pseudocode"
idasql link list            # running IDA 9.4 instances and their databases

idasql link open 会引导已打开该数据库的运行中 IDA。链接中精确的 idb_path 优先;只有当该文件不在本机上时,才会使用打开了同名数据库的运行中 IDA。 如果没有 IDA 打开该数据库,它会在该数据库上启动 IDA(仅限 .i64 或 .idb),等待分析完成(--timeout <seconds>,1 到 3600),然后进行导航。当运行中的实例 无响应或数据库解包后的 .id0 已存在(IDA 可能已将其打开)时,它会拒绝启动第二个 IDA; --launch-anyway 可覆盖此行为。 如果链接解码后的部分包含控制字符,则会被拒绝。--config <file> 放在动词之前 (idasql link --config <file> open ...)。在 IDA 内部, SELECT ida_open_link(uri) 会导航当前会话。

点击是否能到达处理程序取决于终端。Windows Terminal 在打开自定义 scheme 之前会询问, 除非该 scheme 已列在其 safeUriSchemes 设置中 ("safeUriSchemes": ["ida"])。

安装

编码代理插件

IDASQL 技能让你的编码代理通过自然语言完全控制 IDA 数据库。

  • Claude Code -- 完整插件,包含 15 个以主题为中心的技能,从 allthingsida/idasql-skills 市场安装。
  • GitHub Copilot CLI -- 也通过同一插件支持 IDASQL 技能。
  • Codex (OpenAI) -- 通过相同的插件打包方式支持技能。有关 Codex 的安装步骤,请参阅 idasql-skills 仓库。

先决条件

  1. IDA Pro 已安装,且其目录位于你的 PATH 中(Windows 上为 ida.exe,macOS/Linux 上为 ida)

  2. idasql 从 Releases 下载。选择与你的 IDA 版本匹配的 ida92、ida93 或 ida94 构件:

    • *-plugin.zip 是 HCLI 兼容的插件归档,包含 Windows x86-64、Linux x86-64 和 macOS ARM64 二进制文件。
    • *-cli-manual.zip 包含独立的 CLI 可执行文件,按主机架构组织。
    • *-arm64-plugin-manual.zip(适用于 IDA 9.3 和 9.4)包含 Linux ARM64 插件二进制文件,对于 IDA 9.4 还包含 Windows ARM64 插件二进制文件,用于手动安装。

    插件二进制文件特定于 SDK 版本;不要将 ida92、ida93 或 ida94 构建用于其他 IDA 版本。

  3. 验证设置:idasql --version 应能在命令行中正常工作

安装(Claude Code)

在 Claude Code 中,运行:

/plugin marketplace add allthingsida/idasql-skills

然后从该市场安装 idasql 插件。有关 Codex 及其他安装方式,请参阅 idasql-skills README。

技能

技能描述
connect连接到 IDA 数据库:CLI、HTTP 服务器、会话引导、技能路由、全局契约。
disassembly查询 IDA 反汇编:函数、段、指令、基本块、操作数、图。
data查询 IDA 字符串、字节和二进制数据:搜索、重建、字节模式。
xrefs分析 IDA 交叉引用:调用者、被调用者、导入、数据引用、grep 搜索。
decompiler反编译 IDA 函数:伪代码、ctree AST、局部变量、标签。
annotations编辑 IDA 数据库:注释、重命名、类型、书签、枚举/结构体渲染。
typesIDA 类型系统:创建/修改/应用结构体、联合体、枚举、typedef、parse_decls。
debuggerIDA 调试器:断点、字节修补、条件、补丁清单。
storage通过 netnode_kv 在 IDA 数据库中持久化键值存储。
idapython通过 idasql 执行 IDAPython:代码片段、沙箱、输出捕获。
functions完整的 idasql SQL 函数参考目录。
analysis分析 IDA 二进制文件:分类、安全审计、加密/网络检测、多表查询。
resource重新溯源 IDA 二进制文件:递归注释、结构恢复、类型重建。
ui-context捕获实时 IDA UI 上下文:屏幕、选择、控件焦点、地址锚点。

示例提示词

/idasql:analysis analyze this binary; tell me the most called functions.
/idasql:data find functions that reference "password" strings and rank by xrefs.
/idasql:xrefs show callers of CreateFileW and summarize error handling.
/idasql:data identify suspicious hardcoded URLs and the functions that reference them.
下载工具