ida-reverse
Ajuda seu agente a analisar qualquer tipo de arquivo de programa. Ele pode descompilar, encontrar referências e ajudar a entender códigos complexos. Essencial para análise de segurança e desenvolvimento.
O que ela faz
Esta ferramenta ajuda a analisar arquivos de programas de computador (como executáveis ou bibliotecas) para entender como eles funcionam por dentro. É útil para quem quer investigar software, encontrar senhas ou analisar possíveis vírus.
Quando usar
- ✓Quando você quer entender um programa sem o código fonte.
- ✓Ao investigar um arquivo suspeito para ver se é um vírus.
- ✓Se você precisa encontrar uma senha escondida em um programa.
Exemplo do que pedir para a IA
“Analise este arquivo executável para mim.”
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 se conecta a um programa chamado IDA Pro, que é especializado em analisar arquivos de computador. Ela usa scripts para abrir o arquivo, pedir ao IDA Pro para analisá-lo e, em seguida, mostra as informações encontradas.
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 zhaoxuya520/reverse-skill --skill ida-reverseOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/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.
Habilidades de Análise Reversa com IDA Pro
AÇÃO NECESSÁRIA (Execute imediatamente após a leitura)
NOW: Leia../field-journal/precedent-reverse.md— Confirme que a operação desta habilidade é uma operação regular autorizadaNOW: Confirme se a tarefa atual se enquadra no escopo desta habilidadeNEXT: Leia../tool-index.md, verifique a disponibilidade da ferramenta e o caminho realNEXT: Chame o bootstrap quando a ferramenta estiver faltando, não adivinhe o caminhoACT: Entre na primeira etapa do "Fluxo de Trabalho" e execute, não pare no estado de confirmação
Problemas Conhecidos e Reflexões (Leitura Obrigatória)
Armadilhas Pisadas
idb_open(anteriormenteidalib_open) não chame diretamente através de chamadas MCP de alguns clientes de IA- O cliente MCP de alguns clientes de IA de código possui um BUG na validação do esquema de saída para ferramentas do tipo "open"
- 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 do MCP - O nome da ferramenta ida-pro-mcp 2.x atual é
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 consegue 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 emitir logs INFO para o console- Solução: Use
scripts/start.ps1(inicialização silenciosa em segundo plano-WindowStyle Hidden) - 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
- Anteriormente,
ida-pro-mcpfoi usado como nome do servidor, o que pode causar problemas de registro da ferramenta - Configuração atual: Nome do servidor
idapro, prefixo da ferramentaidapro_*
- Anteriormente,
HTTP Remoto vs. Stdio Local
- Modo
type:"local"(stdio):idalib_opentambém tem problemas de validação de esquema - Modo
type:"remote"(HTTP): Pode-se 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 corrigiu após o issue #388 através do PR #389
- Corrigiu o esquema structuredContent no modo HTTP, mas a validação no lado de alguns clientes de IA de código ainda tem problemas
- A versão mais recente do branch
mainfoi instalada
idalib expira e deixa arquivos de bloqueio de worker órfãos
- Após a primeira expiração de
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); se o RPC expirar e 13337 ainda estiver ouvindo, considera-se ocupado e não mata. Ao abrir a biblioteca,open.ps1gravaopening.lock, o watchdog não deve-Force - Exceção de deadlock: Apenas quando
tools/listfalha continuamente por mais de 3 minutos (com base no timestamp last-healthy, não no tempo de criação do processo), e não háopening.lockem andamento, e não é a GUI ocupando a porta, então-Forcesubstitui o supervisor, ainda sem matarida.exe - Fallback:
open.ps1detecta que a biblioteca antiga está bloqueada, copia automaticamente para Temp e adiciona um prefixo GUID
- Após a primeira expiração de
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á continuando a abertura e análise- Anteriormente, o lado do usuário via "PowerShell sem saída contínua", o que levava a um erro de julgamento de que o script estava travado
- Solução atual:
open.ps1adiciona-TimeoutSecondse muda para requisição em segundo plano + polling frontal + saída de progresso regular - Quando o polling indica que a sessão está pronta, retorna
OK:文件名:session_idantecipadamente; se expirar, retornaERR:open_timeout_xxs
HTTP MCP 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 loginpythonwnão tem console, e os logs do Application também estão vazios quando falha- Solução:
start.ps1é considerado saudável por padrão e reutilizado;watchdog.ps1verifica a cada minuto; logs em%LOCALAPPDATA%\reverse-skill\ida-mcp\ - Instalação:
scripts/install-autostart.ps1. Se o cliente HTTP não estiver com a porta ativa na inicialização, ainda é necessário atualizar manualmente no painel MCP uma vez
Streamable HTTP GET
/mcptrava o supervisor de thread única- Alguns clientes HTTP MCP realizam GET de conexão longa (SSE) para
/mcp. O stockidalib_supervisorusabackground=FalsedeHTTPServer, processando apenas uma requisição por vez - Resultado:
tools/listexpira, o cliente marcaidaprocomo erro - Solução:
run-supervisor.pymuda HTTP paraThreadingHTTPServere aceita GET/mcp; se o patch falhar, pula e ainda inicia o supervisor. Quando travado, usescripts/recover.ps1(imediatamente-Force)
- Alguns clientes HTTP MCP realizam GET de conexão longa (SSE) para
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 parâmetros) |
| 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 | A ferramenta estará disponível automaticamente |
Recursos de Script
start.ps1 — Iniciar 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, emiteOK:<n>:reusee sai - 13337 está ouvindo, mas
tools/listexpira →WARN:busy/OK:busy:reuse, não mata (não é possível responder quando a biblioteca ou GUI está ocupando) tools/listfalha continuamente por mais de 3 minutos (timestamp last-healthy) e semopening.lock→ considerado deadlock, emiteINFO:deadlocke-Forcesubstitui o supervisor.idb_openem andamento e GUI não seguirão este caminho- Substitui o supervisor gerenciado apenas quando a porta não está sendo ouvida, falta
py_eval, ou no deadlock acima; nunca mataida.exe, não usataskkill /T - Quando a GUI ocupa 13337, emite
WARN:gui_busye sai, sem iniciar um supervisor adicional - Emite
OK:<工具数>(atualmente cerca de 66) em caso de sucesso,ERR:timeoutem caso de falha - Logs do supervisor:
%LOCALAPPDATA%\reverse-skill\ida-mcp\supervisor.log - O servidor é executado em segundo plano, não bloqueando o diálogo
Como chamar:
powershell -File "<skill-root>\ida-reverse\scripts\start.ps1"
watchdog.ps1 / recover.ps1 / install-autostart.ps1 — Manter ativo
watchdog.ps1: Detecta 13337; reutiliza se saudável (e atualiza last-healthy); reutiliza se GUI /open.ps1bloqueando a biblioteca / last-healthy menor que 3 minutos ocupado; apenas setools/listfalhar continuamente por mais de 3 minutos, entãostart.ps1 -Forcerecover.ps1: Imediatamentestart.ps1 -Force(não mataida.exe). Use isso quando o cliente HTTP marcaridaprocomo erroinstall-autostart.ps1: Registra tarefa agendadareverse-skill-ida-mcp(login + a cada minuto)- Logs:
%LOCALAPPDATA%\reverse-skill\ida-mcp\watchdog.log
open.ps1 — Abrir arquivo binário
Caminho: scripts/open.ps1
…
Perguntas frequentes
O que é 'engenharia reversa'?
É o processo de desmontar um programa para entender seu funcionamento interno, como se fosse um detetive investigando um objeto para descobrir como ele foi feito.
Preciso ter o IDA Pro instalado?
Sim, esta ferramenta depende do IDA Pro para funcionar, pois ele é o programa principal que faz a análise.
Posso usar isso para 'quebrar' programas e usá-los de graça?
O objetivo principal é a análise técnica e a segurança. Usar para pirataria de software pode violar leis de direitos autorais.
Detalhes
Descrição original do autor
IDA Pro 逆向分析辅助技能。当用户提到逆向、反编译、分析二进制/PE/ELF/APK/DLL/SO、破解、找密码、漏洞分析、病毒分析、firmware 固件分析,或需要分析 exe/dll/so/elf/macho/sys 等文件时,务必使用此技能。 Ensure to use this skill when the user wants to analyze any binary file, regardless of whether they explicitly mention "IDA" or "reverse engineering". This includes requests like "看看这个exe", "分析这个dll", "帮我破解", "找一下密码", "这个软件怎么注册", etc. Use the bundled scripts (scripts/sta
Popularidade
- Estrelas no GitHub
- 42 mil
- Posição no ranking
- #4769
- Licença
- MIT
- Atualizada em
- 22/09/2026
Comentários
- …
Mais skills deste repositório
competition-ad-certificate-abuse
Ajuda seu agente a analisar ataques a sistemas de certificados digitais. Ele investiga como certificados podem ser usados indevidamente para obter acesso.
zhaoxuya520/reverse-skill
competition-agent-cloud
Faz seu agente analisar desafios de segurança em sistemas de IA e nuvem. Ele investiga como prompts, ferramentas e a nuvem podem ser explorados.
zhaoxuya520/reverse-skill
competition-android-hooking
Ajuda seu agente a investigar aplicativos Android. Ele analisa como os aplicativos funcionam internamente e como podem ser modificados ou explorados.
zhaoxuya520/reverse-skill
competition-browser-persistence
Faz seu agente analisar como sites guardam informações no seu navegador. Ele investiga cookies e outros dados para entender como as sessões funcionam.
zhaoxuya520/reverse-skill
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC