ida-reverse
Ajuda seu agente a analisar programas de computador em baixo nível. Ele investiga o código para encontrar falhas de segurança ou entender como funciona.
O que ela faz
Esta ferramenta ajuda a analisar programas de computador (arquivos executáveis) para entender como eles funcionam internamente. Ela decompila o código, mostra as instruções, rastreia o fluxo de dados e encontra conexões entre diferentes partes do programa.
Quando usar
- ✓Quando você precisa entender um programa sem ter o código fonte.
- ✓Para investigar como um programa manipula dados.
- ✓Ao procurar por vulnerabilidades ou comportamentos suspeitos em um executável.
Exemplo do que pedir para a IA
“Analise o arquivo 'meu_programa.exe' e me diga quais funções ele chama.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa o IDA Pro, um programa especializado em engenharia reversa. Ela carrega o arquivo executável e aplica técnicas como descompilação e análise de fluxo de dados para revelar a estrutura e o comportamento do programa.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill ida-reverseOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ida-reverse/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Suporte upstream incluído
Arquivos de suporte estão incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.
Disponibilidade de material de suporte
Estes caminhos permanecem indisponíveis nesta cópia do catálogo:
<support-root>/scripts/start.ps1<support-root>/scripts/install-autostart.ps1
Não invoque uma etapa que exija um desses arquivos. Obtenha o material original e revise suas dependências, licença e efeitos antes de usar. Etapas inline independentes e os auxiliares incluídos podem prosseguir dentro do escopo autorizado pelo usuário.
Habilidade de Análise Reversa IDA Pro
Quando Usar
- Análise estática profunda de um alvo compilado onde o IDA está disponível.
- Rastreamento de fluxo de dados ou referências cruzadas através de binários grandes.
Problemas Conhecidos e Reflexões (Leitura Obrigatória)
Armadilhas Pisadas
idb_open(anteriormenteidalib_open) não chame diretamente por alguns clientes de IA MCP- O cliente MCP de alguns clientes de IA para ferramentas da classe open tem um BUG na validação do esquema de saída.
- Erro:
Structured content does not match the tool's output schema - Solução: Use o script
scripts/open.ps1para chamar diretamente via API HTTP, contornando a camada de validação MCP. - As ferramentas atuais ida-pro-mcp 2.x chamam
idb_open/idb_list/idb_save(não maisidalib_*). - Após abrir o arquivo, retorna
session_id(database), chamadas de ferramentas subsequentes precisam levar essa sessão.
Arquivo
C:\Windows\System32\sem permissão para abrir- idalib não pode ler diretamente arquivos no diretório System32.
- Solução:
open.ps1detecta e copia automaticamente para o diretório临时目录antes de abrir.
Comando de inicialização do servidor bloqueia o diálogo
idalib-mcp, após a inicialização, continuará a exibir logs INFO no console.- Solução: Use
scripts/start.ps1(-WindowStyle Hiddeninicialização silenciosa em segundo plano). - O script aguardará o serviço ficar pronto e sairá automaticamente, sem bloquear o diálogo.
Nome do servidor MCP não pode conter traço
- Usar
ida-pro-mcpcomo nome do servidor anteriormente pode causar problemas de registro da ferramenta. - Configuração atual: Nome do servidor
idapro, prefixo da ferramentaidapro_*.
- Usar
HTTP Remoto vs. Stdio Local
- Modo
type:"local"(stdio):idalib_opentambém tem problemas de validação de esquema. - Modo
type:"remote"(HTTP): Pode abrir o arquivo diretamente com um script primeiro e depois usar ferramentas MCP. - Solução atual: Modo HTTP Remoto.
- Modo
PR #389 corrigiu alguns problemas de esquema
- O autor mrexodia, após o issue #388, mesclou a correção através do PR #389.
- Corrigiu o esquema structuredContent no modo HTTP, mas a validação do lado de alguns clientes de IA ainda tem problemas.
- Versão mais recente do branch
maininstalada.
Timeout do idalib deixa arquivos de bloqueio de worker órfãos
- Após o primeiro timeout do
open.ps1, o processo filho worker do python do idalib pode se tornar órfão, mantendo.id0/.id1/.nambloqueados. - Qualquer ferramenta subsequente ou arrastar e soltar manualmente na GUI do IDA relatará "permissão negada".
- Proibido matar a árvore de processos com
taskkill /F /T-/Ttambém matará os processos filhos da GUIida.exe. - Solução:
start.ps1substitui o supervisor gerenciado apenas quando a porta não está sendo ouvida, ou quandotools/listretorna rapidamente, mas faltapy_eval(supervisor antigo); timeout de RPC e 13337 ainda ouvindo é considerado ocupado, não mata. - Plano de contingência:
open.ps1detecta automaticamente bibliotecas antigas bloqueadas, copia para Temp e adiciona um prefixo GUID.
- Após o primeiro timeout do
Abrir com análise automática parece travar
idalib_open(run_auto_analysis=true)pode não responder por um longo tempo, mas o backend ainda está abrindo e analisando.- Anteriormente, o lado do usuário via "PowerShell sem saída", levando a um erro de julgamento de que o script travou.
- Solução atual:
open.ps1adiciona-TimeoutSecondse muda para requisição em segundo plano + polling em primeiro plano + saída de progresso periódica. - Quando o polling indica que a sessão está pronta, retorna
OK:文件名:session_idantecipadamente; se houver timeout, retornaERR:open_timeout_xxs.
MCP HTTP sai silenciosamente após o login
type: httpdo Cursor/Claude não inicia processos em nome do usuário; a antiga tarefa agendada é executada apenas uma vez no login.pythonwnão tem console, e os logs do Application também estão vazios em caso de falha.- Solução:
start.ps1é reutilizado por padrão se estiver saudável;watchdog.ps1verifica a cada minuto; logs em%LOCALAPPDATA%\reverse-skill\ida-mcp\. - Instalação:
scripts/install-autostart.ps1. Se o Cursor iniciar e a porta ainda não estiver ativa, ainda é necessário atualizar manualmente uma vez no painel MCP.
Princípios do Fluxo de Trabalho
| Etapa | O que fazer | O que usar |
|---|---|---|
| 1 | Garantir que o servidor HTTP esteja em execução | scripts/start.ps1 (sem argumentos) |
| 2 | Abrir o arquivo binário alvo | scripts/open.ps1 -Path "xxx.exe" |
| 3 | Usar ferramentas de análise MCP | Chamar diretamente idapro_* / ferramentas HTTP (cerca de 65, dependendo da versão) |
| 4 | Análise concluída | Ferramentas disponíveis automaticamente |
Recursos de Script
start.ps1 — Inicia o servidor HTTP MCP
Caminho: scripts/start.ps1
- Analisa automaticamente
IDADIR(variável de ambiente / caminho da área de trabalho da versão portátil / caminhos de instalação comuns). - Prioriza o uso do
Python314\python.exe -m ida_pro_mcp.idalib_supervisorincluído no IDA. - Por padrão, primeiro detecta
http://127.0.0.1:13337/mcp, se saudável, exibeOK:<n>:reusee sai. - 13337 está ouvindo, mas
tools/listexpira →WARN:busy/OK:busy:reuse, não mata (supervisor é single-threaded, não pode retornar pacotes ao abrir bibliotecas). - Substitui o supervisor gerenciado apenas quando a porta não está sendo ouvida, ou retorna rapidamente e falta
py_eval; nunca mataida.exe, não usataskkill /T. - Quando a GUI ocupa 13337, exibe
WARN:gui_busye sai, sem iniciar um novo supervisor. - Saída de sucesso
OK:<工具数>(atualmente cerca de 66), saída de falhaERR:timeout. - Logs do supervisor:
%LOCALAPPDATA%\reverse-skill\ida-mcp\supervisor.log. - O servidor é executado em segundo plano, sem bloquear o diálogo.
Como chamar:
powershell -File "<skill-root>\ida-reverse\scripts\start.ps1"
watchdog.ps1 / install-autostart.ps1 — Manter ativo
watchdog.ps1: Detecta 13337, se saudável, entãoOK:<n>:reuse, apenas chamastart.ps1se falhar.install-autostart.ps1: Registra tarefa agendadareverse-skill-ida-mcp(login + a cada minuto).- Logs:
%LOCALAPPDATA%\reverse-skill\ida-mcp\watchdog.log.
open.ps1 — Abre o arquivo binário
Caminho: scripts/open.ps1
- Chama diretamente
idb_openvia API HTTP, contornando a validação de esquema MCP. - Detecta automaticamente o caminho System32 e copia para um diretório temporário.
- Limpa automaticamente arquivos de banco de dados antigos com o mesmo nome (
.id0/.id1/.nam/.til/.i64). - Degrada automaticamente quando a biblioteca antiga está bloqueada: copia para Temp com um prefixo GUID antes de abrir, sem erros.
- Coloca a solicitação de abertura para execução em segundo plano, evitando que o script não responda devido a longos tempos de espera síncronos.
- Suporta
-TimeoutSeconds, retornaERR:open_timeout_xxsapós o timeout, não trava indefinidamente. - Exibe
INFO:opening:已用时/超时秒数a cada 10 segundos, facilitando a verificação de que a análise ainda está em andamento. - Saída de sucesso
OK:文件名:session_id, com marcação(temp copy)ao degradar. - Tenta novamente automaticamente com uma cópia do Temp em caso de falha.
Como chamar: ```
Perguntas frequentes
O que é engenharia reversa?
É o processo de desmontar um produto (neste caso, um programa de computador) para entender como ele foi feito e como funciona, sem ter acesso aos planos originais (o código fonte).
Preciso ter o IDA Pro instalado?
A ferramenta utiliza as capacidades do IDA Pro, mas você não precisa instalá-lo separadamente. A ferramenta cuida disso.
Quais tipos de arquivos ela pode analisar?
Ela pode analisar arquivos executáveis comuns em sistemas como Windows (PE), Linux (ELF) e macOS (Mach-O).
Detalhes
Descrição original do autor
Reverse engineer binaries with IDA Pro: decompilation, disassembly, data-flow tracking, cross-references, and IDA MCP automation for deep static analysis of PE/ELF/Mach-O targets.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3305
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC