
Vibe Reverse Engineer with IDA SQL: Uma interface para IDA em SQL através de tabelas virtuais ao vivo
Dê a qualquer agente de IA a capacidade de entender binários compilados.
IDASQL é uma interface SQL para bancos de dados do IDA Pro, criada por Elias Bachaalany. Ela expõe mais de 30 tabelas virtuais que cobrem funções, referências cruzadas, strings, tipos, importações, desmontagem e descompilação. Use as habilidades /idasql do seu agente de codificação para trabalhar totalmente em modo headless -- o agente executa o IDA em segundo plano para você -- ou abra a interface do IDA e colabore com seu agente de codificação para fazer engenharia reversa em conjunto. Sem IDAPython. Sem scripts. Apenas SQL.
Por que SQL? SQL é a linguagem de consulta universal que todo agente de IA já fala. IDASQL é agnóstico em relação a agentes: Claude, ChatGPT, Copilot, Cursor, agentes personalizados ou nenhum agente. Qualquer ferramenta que consiga emitir uma consulta SQL pode analisar um binário.
O IDASQL suporta análise, referências cruzadas e transferência de anotações entre um ou mais bancos de dados ao mesmo tempo. O que você pode fazer é limitado apenas pela sua imaginação e pelo poder do modelo que você usa.
O IDA Pro já possui seu próprio formato de banco de dados que descreve funções, strings, referências cruzadas, tipos e muito mais. O IDASQL mapeia essas estruturas internas para tabelas virtuais SQL live. Não há etapa separada de exportação ou indexação -- as consultas são executadas diretamente contra o banco de dados do IDA e as alterações são refletidas em tempo real.
| Modo | Como iniciar | Melhor para |
|---|---|---|
| CLI autônoma | idasql -s binary.i64 -i | SQL direto, scripts, pipelines |
| Plugin do IDA | Selecione idasql no menu suspenso de CLI do IDA | SQL dentro da GUI, banco de dados ao vivo |
| Fluxo de trabalho com Skill | /idasql:connect no seu CLI de codificação | Análise orientada por IA -- o agente emite consultas SQL de forma autônoma |
| You / Agent --> Natural language or SQL |
|
/idasql skills (LLM translates intent to SQL)
|
IDASQL --> IDA database(s)
|
Results --> LLM summarizes & reasons
I'm unable to produce a translation because the input content for chunk 3 of 53 was not included in the message. Please provide the text to translate.```
$ 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)
Um comando. Resultados instantâneos. Nenhum script necessário.
Após instalar a CLI e o plug-in do IDASQL, inicie seu agente de programação favorito e comece a engenharia reversa por meio de prompts. O IDASQL executa totalmente em modo headless -- seu agente orquestra o IDA Pro: iniciando, analisando, descompilando, anotando, salvando -- ou hospedado dentro da GUI do IDA, onde você colabora com seu agente em tempo real.
Abra seu agente de programação favorito (por exemplo, Claude Code) e digite:``` /idasql:connect Please open sample_malware.exe in the background and let's analyze it together.
O agente inicia o IDASQL sem interface gráfica em segundo plano. A partir deste ponto, converse naturalmente com o banco de dados. Por exemplo:```
/idasql:annotations Fully annotate the function I'm looking at, also use the decompiler skill.
O modelo raciocina autonomamente sobre a melhor abordagem para entender a função, realiza engenharia reversa completa dela e a anota.
Ao terminar, peça ao agente para salvar e encerrar:``` /idasql:connect Please save all databases and shut down IDASQL.
### Trabalhando com Vários Bancos de Dados
Você pode trabalhar com dois ou mais bancos de dados simultaneamente. Instrua seu agente:```
/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.
Em seguida, acompanhe:``` Tell me, how many strings all these databases have in common?
O agente trabalha com todos os bancos de dados ao mesmo tempo. Você pode cruzar referências, comparar e transferir anotações entre eles.
### Trabalhando com a interface do IDA
Tudo o que foi dito acima funciona igualmente a partir da GUI do IDA. Para acionar seu agente com uma sessão IDA aberta:
1. No prompt `idasql>` do IDA, digite: ```
.http start
Agora o IDASQL e sua interface do IDA estão conectados e trabalhando juntos.
As habilidades do IDASQL dão ao seu agente de codificação controle total sobre bancos de dados do IDA por meio de linguagem natural.
allthingsida/idasql-skills.ida.exe no Windows, ida no macOS/Linux)idasql --version deve funcionar a partir da linha de comandoDentro do Claude Code, execute:```text /plugin marketplace add allthingsida/idasql-skills
then install the `idasql` plugin from that marketplace. See the [idasql-skills README](https://github.com/allthingsida/idasql-skills#installation) for Codex and other install paths.
#### Skills