heliofilho.devNewsletter
Cofre/Vídeos
Vídeo · 7 de out. de 2026

REA: a IA que abre um aplicativo e te explica como ele funciona por dentro

O repositório do vídeo, sem enrolação: o que o REA faz de verdade, a instalação passo a passo no Windows, Mac e Linux, um primeiro teste de 5 minutos e onde fica o limite legal.

Você comentou LINK e aqui está tudo: o repositório, o que ele faz de verdade (e o que não faz), a instalação passo a passo e um primeiro teste que roda em 5 minutos, mesmo no Windows. Se você nunca instalou nada pelo terminal, passe antes no meu guia GitHub do zero e volte pra cá.

Resumo pra quem tem pressa

O que éUm kit que dá ferramentas de engenharia reversa pro seu agente de IA
NomeREA, de Reverse Engineer Anything
PreçoGrátis, código aberto, licença MIT
Funciona comClaude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, VS Code, Copilot CLI e outros
Onde rodaNa sua máquina. Mac e Linux completos, Windows em fase experimental
Precisa deNode.js 22.19 ou mais novo. Para programa compilado, também Ghidra, Hopper ou IDA
Instalarnpx rea-agents setup
Linkgithub.com/morluto/rea

O que é o REA

Pensa num relógio fechado. Você vê os ponteiros andando, mas não vê as engrenagens. Engenharia reversa é abrir a tampa e descobrir como as peças se encaixam, sem ter o desenho do fabricante.

Com software é igual. O aplicativo que você instala é um arquivo compilado, escrito pra máquina ler, não pra gente. Abrir esse arquivo e entender o que ele faz sempre foi trabalho de especialista, com programas como o Ghidra e o Hopper, que têm centenas de botões e uma curva de aprendizado longa.

O REA coloca esses programas na mão do seu agente de IA. Ele é um servidor MCP (o padrão que deixa a IA usar ferramentas) e também um comando de terminal. Você escreve em português o que quer descobrir, e o agente opera o descompilador por você.

Quando este texto foi escrito (07/10/2026), o repositório tinha 14,4 mil estrelas e 1,5 mil forks no GitHub, estava na versão 5.0.0 e oferecia 133 ferramentas ao agente.

Como funciona por dentro

O projeto resume o trabalho em três verbos:

DESCOMPILAR  →  ENTENDER  →  RECRIAR

Descompilar é abrir o aplicativo e recuperar o que dá pra ler: nomes de funções, textos, pseudocódigo. Entender é seguir o caminho de uma função até outra, até o agente conseguir explicar como um recurso funciona. Recriar é pegar o que foi aprendido e escrever uma versão sua, no seu projeto e na sua linguagem.

O exemplo do README é este pedido:

Reverse engineer the Notes app. Find how offline search works, explain it, and build a version for my project using TypeScript and SQLite.

Em português: descubra como a busca offline do app de Notas funciona, explique e faça uma versão pro meu projeto. Por baixo, o agente segue este caminho:

PassoO que o agente fazFerramentas do REA
1Abre e identifica o binárioopen_binary, binary_overview
2Procura pistas da busca offlinesearch_strings, search_procedures, list_names
3Liga essas pistas ao código que executafind_xrefs_to_name, xrefs, procedure_callers
4Reconstrói o fluxo entre as funçõesget_call_graph, procedure_callees, procedure_info
5Descompila as rotinas que importamprocedure_pseudo_code, procedure_assembly, batch_decompile
6Escreve o recurso no seu projetoAs ferramentas normais de edição do agente

O REA cuida dos passos 1 a 5. O passo 6 é o seu agente programando como sempre, só que agora sabendo como o original funciona.

O REA abrindo a ponte de análise dentro do Hopper enquanto inspeciona um binário nativo. Imagem do repositório oficial.
O REA abrindo a ponte de análise dentro do Hopper enquanto inspeciona um binário nativo. Imagem do repositório oficial.

Cada resposta vem com o que o projeto chama de Evidence: de qual arquivo saiu, qual ferramenta analisou, em que endereço está, qual o grau de confiança e quais são as limitações. É isso que eu chamo de "prova" no vídeo. A IA não pode só afirmar, ela tem que mostrar de onde tirou.

Dica: peça sempre "me mostra a evidência" no seu prompt. É o que separa uma análise de verdade de um chute bem escrito.

O que ele consegue abrir

AlvoExemplosO que precisa além do Node
Programa compilado.app do Mac, ELF do Linux, .exe do WindowsGhidra, Hopper ou IDA
App feito em Electron ou JavaScriptPasta do app ou arquivo app.asarNada
Aplicativo de Android.apkJADX e um JDK (só Mac e Linux)
PacotesZIP, IPA, ASARNada pra listar o conteúdo
.NETAssemblies .dll e .exe gerenciadosNada pra ler os metadados
SitesUma aba aberta num navegador da família ChromeO navegador com a porta de depuração ligada

O Electron é o mais interessante pra começar. Muito programa de computador que você usa (VS Code, Discord, Slack) é feito com Electron, ou seja, é JavaScript empacotado. Esse tipo de app o REA mapeia sem descompilador nenhum e sem executar o programa.

O que ninguém te conta

Ele não devolve o código-fonte original. A documentação é direta: nenhum descompilador garante o código original. O que sai é pseudocódigo, assembly, nomes e as relações entre as funções. É o suficiente pra entender e refazer, mas não é um "baixar o código do app".

Ele não clona aplicativo sozinho. O README diz com todas as letras que o REA não promete recuperar o código nem clonar um app automaticamente. Quem escreve a sua versão é o agente, um recurso por vez.

"Roda local" tem um asterisco. O REA não envia o aplicativo pra nenhum servidor dele. Só que os trechos que o agente lê vão pro modelo que você usa (Claude, GPT, Gemini), e aí vale a política de dados desse serviço.

Não é uma caixa de areia. As ferramentas rodam com as permissões do seu usuário. Não use pra abrir arquivo suspeito achando que está isolado.

No Windows ainda é experimental. O Hopper não existe pra Windows, a análise de APK não roda nele, e o suporte ao Ghidra cobre só programas .exe nativos, em modo de leitura. A análise de Electron e JavaScript funciona normal. Pra ter o resto, a própria documentação aponta o REA do Linux rodando dentro do WSL.

Programa compilado demora na primeira pergunta. O Ghidra importa e analisa o arquivo inteiro antes de responder. Em app grande, a primeira consulta pode levar minutos.

Como instalar, passo a passo

1. Instale o Node.js

Baixe a versão LTS em nodejs.org. O REA aceita Node 22 (a partir da 22.19), 24 (a partir da 24.11) e 26 ou mais novo. Confira no terminal:

node --version

2. Rode o setup

npx rea-agents setup

O setup lista os agentes compatíveis, você marca quais vão usar o REA, e ele mostra exatamente quais arquivos vai alterar antes de pedir a sua aprovação. Ele faz backup da configuração antiga, e se você recusar ou apertar Ctrl+C nada muda.

3. Reinicie o agente

Feche e abra o Claude Code, o Cursor ou o que você escolheu. As ferramentas do REA só aparecem depois disso.

4. Escolha o motor de análise (só pra programa compilado)

Se o seu alvo é um app Electron, pule esta etapa. Pra binário nativo, o REA precisa de um descompilador instalado:

MotorPreçoSistemasComo entra
GhidraGrátis e open sourceLinux, Mac, Windows (experimental)Você instala e aponta o caminho
HopperPago, com demo limitadaMac e LinuxO setup instala pra você, se você aprovar
IDA ProPagoQuem já temReaproveita uma instalação existente

No Mac ou Linux, com Hopper: aceite a instalação durante o setup. Na primeira vez o Hopper abre uma janela, e é só escolher o modo demo.

Com Ghidra (Mac ou Linux): instale o Ghidra 12.1 e um JDK 21, depois diga ao REA onde eles estão:

export GHIDRA_INSTALL_DIR=/caminho/completo/ghidra_12.1.4_PUBLIC
export JAVA_HOME=/caminho/completo/jdk-21
rea doctor --json
rea setup

Com Ghidra no Windows (PowerShell):

npm install --global rea-agents
$env:GHIDRA_INSTALL_DIR = "C:\tools\ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:\tools\jdk-21"
$env:REA_ANALYSIS_PROVIDER = "ghidra"
rea doctor --json

Troque os caminhos pelos da sua máquina. O REA nunca baixa o Ghidra nem o Java: você instala os dois, ele só se conecta.

Dica: se você tiver Ghidra e Hopper instalados ao mesmo tempo, o REA não escolhe sozinho e devolve erro. Diga qual usar com --provider ghidra no comando, ou deixe fixo com a variável REA_ANALYSIS_PROVIDER.

Se o seu agente não estiver na lista

Qualquer agente que aceite servidor MCP local funciona com esta configuração manual:

{
  "mcpServers": {
    "rea": {
      "command": "npx",
      "args": ["-y", "[email protected]", "mcp"]
    }
  }
}

Primeiro teste em 5 minutos

Este roda só com o Node, sem descompilador, e funciona no Windows. Você vai mapear um app Electron sem executar nada.

  1. Ache a pasta de um app Electron instalado. Dentro dela costuma existir uma pasta resources com um arquivo app.asar.
  2. Rode o comando com o caminho completo desse arquivo:
npx -y rea-agents@latest analyze-javascript-application "C:/caminho/do/app/resources/app.asar" --json
  1. A resposta lista os módulos, os imports, as rotas, os canais de comunicação internos e o que ficou sem resposta.

Depois, com o agente já configurado, faça o pedido em português mesmo:

Use o REA pra analisar o app em C:/caminho/do/app/resources/app.asar.
Me explica como funciona o salvamento automático, me mostra a evidência
de cada conclusão e diz o que você não conseguiu confirmar.

Prompts pra copiar

  • "Me dá uma visão geral desse aplicativo: do que ele é feito, quais bibliotecas usa e onde guarda os dados."
  • "Descobre como esse app salva as configurações do usuário e me mostra a evidência."
  • "Rastreia o caminho do login nesse app, da tela até a chamada de rede."
  • "Compara essas duas versões do app e me diz o que mudou."
  • "Agora cria um recurso parecido no meu projeto, em [sua linguagem], sem copiar trechos do original."

O REA também traz seis roteiros prontos pra agentes que suportam prompts do MCP: investigar um recurso, comparar versões, verificar uma reconstrução, rastrear um travamento, revisar o que ficou em aberto e planejar uma captura de processo.

Comandos do terminal

Dá pra usar tudo sem agente nenhum. Com o comando rea instalado (npm install --global rea-agents):

ComandoO que faz
rea analyze CAMINHOVisão geral do aplicativo
rea search CAMINHO "texto"Procura um texto ou nome dentro do app
rea function CAMINHO 0x1000Abre o dossiê de uma função pelo endereço
rea xrefs CAMINHO 0x1000Mostra o que faz referência àquele endereço
rea trace CAMINHO "offline"Segue um recurso a partir de uma palavra
rea decompile CAMINHO 0x1000Descompila uma função
rea compare a.json b.jsonCompara duas análises salvas
rea providersLista os motores disponíveis
rea doctorDiagnostica a instalação, sem mudar nada
rea updateAtualiza o REA
rea uninstallRemove só o que é do REA

Se der erro

Comece sempre por aqui:

npx -y rea-agents@latest doctor

O doctor confere o sistema, as dependências, os motores e a configuração dos agentes. Ele pode acusar problema num motor que você nem usa, e isso não te impede de trabalhar. Pra checar só o que interessa:

rea doctor --provider ghidra --json
rea doctor --client cursor --json

Outros tropeços comuns: esquecer de reiniciar o agente depois do setup, usar Node 23 ou 25 (não são aceitos) e rodar npm install rea-agents sem o --global, que não deixa o comando rea disponível no terminal.

Onde fica a linha

O aviso do próprio repositório: as ferramentas são para pesquisa, análise e reconstrução dentro da lei, e a responsabilidade de ter autorização é de quem usa.

No Brasil, programa de computador é protegido pela Lei 9.609/98, a Lei do Software, com o mesmo regime das obras literárias. Violar o direito do autor de um programa tem pena de detenção de seis meses a dois anos ou multa. A lei não fala em engenharia reversa, nem pra liberar nem pra proibir, então entram na conta também os termos de uso que você aceitou ao instalar o app.

Um ponto da lei ajuda a entender o limite: semelhança entre dois programas por causa das características funcionais não é violação. Fazer um recurso que funciona parecido é uma coisa. Copiar o código de alguém é outra.

Usos tranquilos:

  • Os seus próprios aplicativos, inclusive aquele de que você perdeu o código.
  • Software de código aberto.
  • Desafios de CTF e programas feitos pra treino.
  • Estudo de como um formato ou um protocolo funciona, pra fazer algo compatível.

Usos que dão problema: quebrar licença, tirar proteção contra cópia, extrair segredo de empresa e republicar o trabalho dos outros como seu. Isso aqui não é consultoria jurídica. Se for uso comercial, fale com um advogado.

Pra ir mais fundo

Documentação

Exemplo real

  • DX-Ball: a reconstrução de um jogo clássico do Windows, do executável até código C, usando o REA com o Ghidra.

No Cofre

Glossário rápido

TermoEm português claro
BinárioO programa já compilado, em linguagem de máquina
Código-fonteO texto que o programador escreveu antes de compilar
Engenharia reversaDescobrir como algo funciona a partir do produto pronto
DescompiladorPrograma que transforma o binário num código aproximado, legível
PseudocódigoEsse código aproximado. Mostra a lógica, mas não é o original
AssemblyAs instruções do processador escritas de forma legível
MCPO padrão que deixa um agente de IA usar ferramentas externas
AgenteUma IA que executa tarefas com ferramentas, além de conversar
ElectronTecnologia pra fazer programa de computador com JavaScript
ASARO arquivo que guarda o código de um app Electron
GhidraDescompilador gratuito e de código aberto
EvidenceO registro do REA que diz de onde saiu cada conclusão

Salva esta página nos favoritos pra quando for instalar com calma. Tem mais material assim no Cofre, e todo dia sai vídeo novo de tecnologia no @heliofilhou.