
Vibe Reverse Engineer with IDA SQL: Eine Schnittstelle für IDA in SQL über Live-Virtual-Tabellen
Geben Sie jedem KI-Agenten die Fähigkeit, kompilierte Binärdateien zu verstehen.
IDASQL ist eine SQL-Schnittstelle für IDA-Pro-Datenbanken, erstellt von Elias Bachaalany. Es stellt mehr als 30 virtuelle Tabellen für Funktionen, Querverweise, Zeichenketten, Typen, Imports, Disassembly und Dekompilierung bereit. Verwenden Sie /idasql-Skills aus Ihrem Coding-Agenten, um vollständig headless zu arbeiten – der Agent führt IDA im Hintergrund für Sie aus – oder öffnen Sie die IDA-Benutzeroberfläche und arbeiten Sie gemeinsam mit Ihrem Coding-Agenten am Reverse Engineering. Kein IDAPython. Keine Skripte. Nur SQL.
Warum SQL? SQL ist die universelle Abfragesprache, die jeder KI-Agent bereits spricht. IDASQL ist agentenunabhängig: Claude, ChatGPT, Copilot, Cursor, eigene Agenten oder gar kein Agent. Jedes Tool, das eine SQL-Abfrage ausführen kann, kann eine Binärdatei analysieren.
IDASQL unterstützt die Analyse, Querverweisung und Übertragung von Annotationen zwischen einer oder mehreren Datenbanken gleichzeitig. Was Sie tun können, ist nur durch Ihre Vorstellungskraft und die Leistungsfähigkeit des verwendeten Modells begrenzt.
IDA Pro verfügt bereits über ein eigenes Datenbankformat, das Funktionen, Zeichenketten, Querverweise, Typen und mehr beschreibt. IDASQL bildet diese internen Strukturen auf live SQL-virtuelle Tabellen ab. Es gibt keinen separaten Export- oder Indizierungsschritt – Abfragen werden direkt gegen die IDA-Datenbank ausgeführt, und Änderungen werden live übernommen.
| Modus | So starten Sie | Am besten geeignet für |
|---|---|---|
| Eigenständige CLI | idasql -s binary.i64 -i | Direkte SQL-Abfragen, Skripte, Pipelines |
| IDA-Plugin | Wählen Sie idasql aus dem CLI-Dropdown von IDA | SQL in der GUI, Live-Datenbank |
| Skill-Workflow | /idasql:connect in Ihrer Coding-CLI | KI-gesteuerte Analyse – der Agent führt SQL-Abfragen autonom aus |
| You / Agent --> Natural language or SQL |
|
/idasql skills (LLM translates intent to SQL)
|
IDASQL --> IDA database(s)
|
Results --> LLM summarizes & reasons
Es wurde kein Inhalt zum Übersetzen bereitgestellt.```
$ 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)
Ein Befehl. Sofortige Ergebnisse. Kein Skripting erforderlich.
Nach der Installation von IDASQL-CLI und Plugin startest du deinen bevorzugten Coding-Agenten und beginnst per Prompt mit dem Reverse Engineering. IDASQL läuft vollständig headless -- dein Agent orchestriert IDA Pro: Starten, Analysieren, Dekompilieren, Kommentieren, Speichern -- oder ist im IDA-GUI gehostet, wo du in Echtzeit mit deinem Agenten zusammenarbeitest.
Öffne deinen bevorzugten Coding-Agenten (z. B. Claude Code) und gib Folgendes ein:``` /idasql:connect Please open sample_malware.exe in the background and let's analyze it together.
Der Agent startet IDASQL headless im Hintergrund.
Ab jetzt kannst du ganz natürlich mit der Datenbank chatten. Zum Beispiel:```
/idasql:annotations Fully annotate the function I'm looking at, also use the decompiler skill.
Das Modell überlegt autonom, wie es die Funktion am besten versteht, führt ein vollständiges Reverse Engineering durch und kommentiert sie.
Wenn Sie fertig sind, bitten Sie den Agenten, zu speichern und herunterzufahren:``` /idasql:connect Please save all databases and shut down IDASQL.
### Arbeiten mit mehreren Datenbanken
Sie können gleichzeitig mit zwei oder mehr Datenbanken arbeiten. Weisen Sie Ihren Agenten an:```
/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.
Dann fahren Sie fort:``` Tell me, how many strings all these databases have in common?
Der Agent arbeitet gleichzeitig mit allen Datenbanken. Sie können Annotationen zwischen ihnen referenzieren, vergleichen und übertragen.
### Arbeiten mit der IDA-Benutzeroberfläche
Alles oben Genannte funktioniert ebenso aus der IDA-GUI. Um Ihren Agenten mit einer offenen IDA-Sitzung zu verbinden:
1. Geben Sie in der IDA-Eingabeaufforderung `idasql>` Folgendes ein: ```
.http start
Jetzt sind IDASQL und Ihre IDA-Benutzeroberfläche verbunden und arbeiten zusammen.
IDASQL-Skills geben Ihrem Coding-Agenten die volle Kontrolle über IDA-Datenbanken mithilfe natürlicher Sprache.
allthingsida/idasql-skills.ida.exe unter Windows, ida unter macOS/Linux)idasql --version sollte von der Befehlszeile aus funktionierenFühren Sie in Claude Code Folgendes aus:```text /plugin marketplace add allthingsida/idasql-skills
installieren Sie dann das `idasql`-Plugin aus diesem Marketplace. Weitere Installationspfade für Codex und andere finden Sie in der [idasql-skills README](https://github.com/allthingsida/idasql-skills#installation).
#### Fähigkeiten