Atualizado em:
Reverse Engineer Anything (REA): o guia completo
Reverse Engineer Anything (REA) é um servidor MCP e uma ferramenta de linha de comando open source que permite que agentes de programação com IA, como Claude Code, Cursor e Codex, inspecionem binários nativos, apps Electron e sites sem ter o código-fonte. Você faz uma pergunta em linguagem natural, o REA aciona as ferramentas de análise da sua máquina e o seu agente recebe código, referências e evidências que ele pode explicar ou usar como base.
O que é o Reverse Engineer Anything (REA)?
REA, sigla de Reverse Engineer Anything, é um projeto de morluto no GitHub. O slogan é “One MCP for reverse engineering across binaries, applications, and runtime behavior” (um único MCP para engenharia reversa de binários, aplicativos e comportamento em tempo de execução). Na prática, ele dá ao seu agente de programação um conjunto de ferramentas de engenharia reversa, para você apontar um app em que viu uma funcionalidade e perguntar como ela funciona. A versão atual no npm, rea-agents 6.4.0, tem licença MIT, e a análise roda localmente na sua máquina.
- Inspeção sem código-fonte. Binários nativos voltam como pseudocódigo, assembly, strings, símbolos e referências de chamadas. Apps JavaScript e Electron voltam como módulos, imports, source maps, rotas e IPC.
- Evidências em cada resposta. Cada descoberta informa de onde veio e o que ainda é desconhecido, para que o agente (e você) possa conferir uma afirmação antes de confiar nela.
- Uma ferramenta, vários alvos. Além de binários e Electron, o REA lê sites, capturas de rede HAR salvas, assemblies .NET, APKs Android, binários Go, WASM, firmware e mais, pelo mesmo MCP e pela mesma CLI.
Fonte: GitHub: morluto/rea (README)
Fonte: rea.tools: site oficial
Como o REA AI funciona: agentes, MCP, Ghidra e Hopper
O REA em si não é um disassembler. Ele é um servidor MCP (Model Context Protocol) que fica entre o seu agente e os motores de análise de verdade. Quando você pergunta ao Claude Code ou ao Cursor sobre um binário, o agente chama as ferramentas do REA; o REA inicia o Hopper, o Ghidra ou o IDA (ou o próprio analisador de JavaScript, ou um navegador da família Chrome para sites), roda a análise e devolve resultados estruturados. O comando de terminal rea usa os mesmos fluxos.
- Você faz ao seu agente (Claude Code, Cursor, Codex) uma pergunta sobre um app ou arquivo da sua máquina.
- O agente chama as ferramentas do REA via MCP.
- O REA roda localmente o motor certo: Hopper, Ghidra ou IDA para código nativo, o analisador JS para Electron, um navegador para sites.
- O REA devolve código, referências, evidências e pontos em aberto.
- O agente explica o comportamento, ou escreve e testa uma versão para o seu projeto.
O provedor do modelo do seu agente continua vendo os resultados de ferramentas que recebe, conforme a política de dados dele. O REA em si não envia o seu alvo para lugar nenhum.
Fonte: GitHub: morluto/rea (README)
Fonte: Documentação do REA: instalação e configuração
Guia de instalação pelo REA GitHub: requisitos e comandos
- Node.js 22.x (22.19 ou mais recente), 24.x (24.11 ou mais recente) ou 26+, além do npm.
- Para binários nativos: Hopper, Ghidra ou IDA. O setup pode instalar o Hopper para você depois da sua aprovação; Ghidra e IDA já precisam estar instalados.
- Para sites: um navegador da família Chrome. Para JavaScript, Electron e .NET: nada além disso.
- Base para o host nativo: macOS 12+ ou um Linux recente (Ubuntu 24.04+, Fedora 41+, Arch e alguns outros). O suporte ao Ghidra no Windows é experimental.
- Rode npx rea-agents setup.
- Escolha seus agentes na lista, revise os caminhos exatos de configuração que serão alterados e aprove. As configurações existentes ganham backup antes.
- Reinicie o agente para ele carregar o novo servidor MCP.
- Se quiser, instale o comando rea globalmente para usar no terminal e rode rea update de vez em quando: o projeto lança correções com frequência.
# 1) Register REA with your agents (Claude Code, Codex, Cursor, Gemini CLI ...)
npx rea-agents setup
# 2) Optional: install the rea command for regular terminal use
npm install --global rea-agents
rea --help
# 3) Keep it current (global install / npx setup)
rea update
npx rea-agents@latest setupComandos copiados do README de github.com/morluto/rea. Se você usa Bun, troque npx rea-agents@latest por bunx rea-agents@latest.
Fonte: GitHub: morluto/rea (README)
Fonte: Documentação do REA: instalação e configuração
Fonte: npm: rea-agents
Usando o REA com Claude Code, Cursor e Codex
O setup registra o mesmo servidor MCP em cada agente e instala junto as instruções de fluxo de trabalho do REA (a skill “reverse-engineer-anything”). Depois de reiniciar, é só perguntar em linguagem natural. O primeiro prompt é o exemplo do próprio README; os outros são nossos, um por agente.
- Claude Code. Selecione Claude Code no setup (client ID claude_code), reinicie e pergunte na sessão do terminal. O Claude Code se sai bem em rastreamentos longos de várias etapas, então peça que ele mostre evidências a cada passo.
- Cursor. Selecione Cursor (cursor). O REA aparece entre as ferramentas MCP do Cursor; use o modo Agent para que ele possa chamá-las e depois editar o seu projeto.
- Codex. Selecione Codex (codex). O Codex funciona bem em tarefas do tipo “encontre e depois reimplemente”, em que o resultado é um patch no seu próprio repositório.
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.Use o REA em /Applications/Example.app. Descubra como funciona o comando “copy as Markdown”: comece pelo renderer, siga pelo preload e pelo IPC até o processo principal e mostre o arquivo e a função em cada etapa. Liste tudo o que você não conseguiu confirmar.Use o REA para inspecionar ./vendor/libexample.dylib. Encontre a função que faz o parse do arquivo de configuração, me passe o pseudocódigo dela e as strings que ela referencia, e depois escreva um parser equivalente em TypeScript em src/config/ com testes unitários.Perdi o código-fonte de ./legacy/report.exe (um app meu, de 2014). Use o REA com o Ghidra para encontrar onde ele formata as datas na exportação CSV e explique por que ele grava os anos com 2 dígitos.Fonte: GitHub: morluto/rea (README)
Fonte: Documentação do REA: instalação e configuração
Teste o REA primeiro pelo terminal
Dá para testar o REA sem nenhum agente. Este comando inspeciona o diretório extraído de um app JavaScript/Electron ou um ASAR e mostra os módulos, imports e fronteiras do Electron que encontrou, com as evidências. Não precisa de nenhum motor nativo.
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonTroque o caminho pelo do seu alvo, por exemplo "D:/apps/example" no Windows.
Fonte: GitHub: morluto/rea (README)
Casos de uso do REA: engenharia reversa de tudo, de apps Electron a malware
- Engenharia reversa de apps Electron. Apps Electron trazem o JavaScript dentro de um arquivo ASAR. O REA recupera módulos, rotas e canais IPC; é assim que o estudo de caso do Notion rastreia a ponte da área de transferência do renderer até o processo principal.
- Analisar APIs de código fechado (“API anything”). Carregue uma captura HAR salva ou deixe o REA observar um site num navegador, e ele lista requisições, respostas e payloads junto com os scripts que os enviam. É o jeito mais rápido de documentar uma API sem documentação que você tem permissão para usar e escrever um cliente para ela.
- Análise de malware e incidentes. A política de uso responsável do REA inclui análise de malware e de incidentes e pesquisa de segurança entre os usos previstos. Trabalhe numa VM isolada: a inspeção estática lê os arquivos sem executá-los, mas a captura em tempo de execução executa o alvo.
- Depurar seus próprios programas antigos. Perdeu o código-fonte de algo que você escreveu, ou precisa entender por que um build antigo se comporta de outro jeito? O estudo de caso do DX-Ball reconstrói em C uma função que reproduz todos os 63 bytes compilados do original.
Fonte: Estudos de caso do REA (DX-Ball, Notion, TH04)
Fonte: REA: aviso de uso responsável
Tutoriais em vídeo do REA
Dois passo a passo de Reverse Engineer Anything feitos por criadores do YouTube (não foram feitos pelo projeto REA nem por nós). Os vídeos só carregam do YouTube quando você clica em play.


REA vs Ghidra vs Hopper
Na verdade, eles não são concorrentes. Ghidra e Hopper são os motores que fazem o disassembly e a descompilação. O Reverse Engineer Anything é a camada de agente por cima, que comanda esses motores e transforma a saída em evidências que o seu agente consegue usar.
| REA | Ghidra | Hopper | |
|---|---|---|---|
| O que é | Servidor MCP + CLI que conecta agentes de IA a ferramentas de análise | Suíte de engenharia reversa da NSA | Disassembler e descompilador |
| Quem comanda | Seu agente de IA, ou você no terminal | Você, pela GUI ou com scripts | Você, pela GUI ou com scripts |
| Preço | Grátis, licença MIT | Grátis, Apache 2.0 | Comercial, com demo gratuita limitada |
| Plataformas | macOS, Linux; Windows para agentes, JS/.NET e Ghidra experimental | Windows, macOS, Linux (requer um JDK) | macOS, Linux |
| Alvos | Nativo, Electron/JS, sites, HAR, .NET, Android, firmware e mais | Binários nativos para várias CPUs | Binários nativos (Mach-O, ELF, PE) |
| Melhor para | Fazer perguntas e receber respostas com evidências | Análise manual aprofundada, scripting | Análise manual rápida no Mac |
O IDA é um terceiro motor suportado. Motores comerciais exigem a sua própria licença válida; o REA não fornece uma.
Fonte: GitHub: morluto/rea (README)
Fonte: GitHub: NationalSecurityAgency/ghidra
Fonte: Hopper Disassembler
Engenharia reversa é legal?
Muitas vezes sim, mas depende de onde você está, do que você analisa e da licença que aceitou. Muitos lugares permitem para interoperabilidade, pesquisa de segurança, educação e correção de software que é seu; a DMCA dos EUA tem uma exceção para interoperabilidade e a Diretiva de Software da UE permite a descompilação para interoperabilidade sob certas condições. Mesmo assim, uma licença de software ou termos de serviço podem proibir a prática.
O próprio aviso do REA diz que ele serve para pesquisa lícita, educação, interoperabilidade, preservação de software e análise de software que é seu ou que você tem autorização para examinar. O projeto não vai ajudar a burlar DRM, verificações de licença ou anti-cheat, criar cheats para jogos, contornar autenticação em sistemas que você não tem autorização para testar, nem copiar código e assets proprietários.
Isto é informação geral, não aconselhamento jurídico. Se você pretende publicar descobertas ou distribuir código baseado no software de outra pessoa, converse antes com um advogado.
Fonte: REA: aviso de uso responsável
Perguntas frequentes
O REA é gratuito?
Sim. O REA é open source sob a licença MIT, e o pacote npm rea-agents é gratuito. Você paga só pelo que está em volta: o plano ou o uso de API do seu agente de IA, e uma licença do Hopper ou do IDA se usar esses motores. O Ghidra é gratuito.
O que é a REA skill?
A skill reverse-engineer-anything é um conjunto de instruções que diz ao seu agente quando e como usar o REA. O npx rea-agents setup instala a skill junto com o servidor MCP. Você também pode instalar só a skill com npx skills add morluto/rea --skill reverse-engineer-anything, mas isso não registra as ferramentas MCP.
O REA funciona no Mac/Windows?
macOS 12+ e distribuições Linux recentes são os principais hosts suportados, com Hopper, Ghidra ou IDA para análise nativa. No Windows, o setup consegue configurar seus agentes e a análise estática de JavaScript, Electron e .NET funciona; o suporte ao Ghidra é experimental e o Hopper não está disponível.
O que é REA AI?
O pessoal usa “REA AI” para falar do REA (Reverse Engineer Anything), a ferramenta que dá capacidades de engenharia reversa a agentes de programação com IA. O REA não tem modelo próprio: a IA é o seu agente (Claude, GPT, Gemini etc.), e o REA fornece as ferramentas e as evidências.
REA vs servidores MCP?
O REA é um servidor MCP. Em comparação com servidores MCP de uma ferramenta só, como uma ponte exclusiva para o Ghidra, ele reúne vários motores (Hopper, Ghidra, IDA, um navegador e analisadores de JS, .NET e Android) numa única instalação, devolve evidências em cada resultado e já vem com as instruções correspondentes para o agente.
Onde fica o repositório do Reverse Engineer Anything no GitHub?
Em github.com/morluto/rea. O pacote npm que o README instala é o rea-agents, e os guias e estudos de caso ficam em rea.tools.
Guia independente, sem vínculo com o projeto REA, morluto, Anthropic, Cursor, OpenAI, a NSA ou o Hopper. As informações vêm do README de morluto/rea, da documentação de instalação e do aviso de isenção (versão 6.4.0), conferidos em 12 de outubro de 2026. O REA muda rápido; confira o README antes de instalar.