Como funciona o REA: engenharia reversa com agentes de IA

Publicado em

Vídeo em Português, publicado pelo canal Breno Vieira LionLab .

Sobre este conteúdo: O resumo, os principais pontos e os temas abaixo são gerados automaticamente a partir da transcrição do vídeo. Eles refletem o conteúdo, opiniões, afirmações e previsões apresentadas no vídeo e não representam posicionamento, validação ou verificação de fatos pelo IA Dots.

Resumo do vídeo

O vídeo aborda o repositório REA (Reverse Engineering Anything), que ganhou grande popularidade no GitHub por permitir que agentes de IA realizem engenharia reversa em aplicativos e programas sem acesso ao código-fonte. O apresentador demonstra seu funcionamento técnico, discute questões éticas e de propriedade intelectual, e realiza um teste prático com um aplicativo de código aberto.

Principais pontos

  • O repositório REA (Reverse Engineering Anything) ganhou mais de 100.000 estrelas em uma semana no GitHub, tornando-se uma febre entre desenvolvedores.
  • O REA funciona como um servidor MCP que expõe mais de 170 ferramentas para agentes de IA analisarem o comportamento e a estrutura interna de aplicativos.
  • A ferramenta utiliza motores e descompiladores externos conhecidos, como o Ghidra (framework da NSA), Hopper e IDA para processar binários e arquivos compactados.
  • Questões de propriedade intelectual e termos de uso são levantadas, visto que a engenharia reversa de softwares proprietários pode violar políticas de plataformas e leis de direitos autorais.
  • O apresentador demonstra a instalação e um teste prático do REA utilizando o aplicativo de código aberto T3 Code para gerar um relatório arquitetural em HTML.
  • Há um alerta sobre o uso indiscriminado do hype e o risco de segurança ao baixar e executar códigos gerados por terceiros que possam conter malwares.

Temas

Engenharia reversaRepositório GitHubAgentes de IAModel Context Protocol (MCP)Propriedade intelectualAnálise de bináriosDesenvolvimento de software
Transcrição do vídeo

Texto das legendas disponíveis; pode conter erros.

Hoje nós vamos falar de um repositório que virou febre no GitHub nas últimas semanas, o REA, Reverse Engineering Anything, que é algo como faça engenharia reversa de qualquer aplicativo ou programa. Curioso é que esse repositório tá lá no GitHub desde abril, mas só virou febre no início de outubro. Desde lá em uma semana ganhou mais de 100.000 estrelas no GitHub e hoje ele tá nos trending topics do GitHub. Por que que esse repositório pegou tanto? Porque ele responde uma pergunta que muitos devs tem, como aquele app faz aquilo? Você vê uma funcionalidade legal no Notion, no Obsidian, num aplicativo novo que saiu do mercado e você quer saber como ela foi construída. Mas quando você não tem o código fonte, este tipo de repositório de engenharia reversa é utilizado pra poder abrir esse aplicativo e conseguir te falar tecnicamente como ele funciona. O REA dá o seu agente de IA e do Cloud Code, do Codex, um conjunto de ferramentas que permite abrir o aplicativo e te explicar exatamente o que tem ali dentro. Ele lê lá pacotes Electron JavaScript Android arquivos.net, binários ativos e no final desse tanto de ferramenta utilizada, ele vai te devolver ali um mapa de quais arquivos existem, quem chama quem, quais canais de comunicação o aplicativo usa e onde ele guarda os dados. Então o REA nada mais é do que um MCP que tem um conjunto de mais de 170 ferramentas utilizados pra poder puxar ali a capivara de todos os aplicativos, realmente entender tudo que tem por dentro dele, mesmo que você não tenha o código fonte. Mas aqui a conversa começa a ficar séria. Uma ferramenta que abre qualquer software levanta uma questão séria de propriedade intelectual. O código de um aplicativo pertence a quem o fez, mesmo que ele esteja dentro do seu computador. Muitos termos de uso proíbem quem faz esse tipo de engenharia reversa, inclusive tem notícias aí do mercado que a própria OpenAI estava banindo usuários que estavam utilizando esse MCP. Então existe uma linha bem clara de você entender como o aplicativo funciona e copiar exatamente esse aplicativo, mesmo que seja em outra linguagem, utilizando um outro código. Então, eu vou te mostrar alguns testes que eu fiz aqui e como eu acho que tem que ser utilizado, tem um conceito por trás de como você pode utilizar esse tipo de repositório, para que você aí não caia numa cilada aí ache que pode sair copiando qualquer aplicativo e porque muito provavelmente você vai se dar mal com isso, beleza? Meu nome é Breno, eu sou fundador da Lion Lab, comunidade de inteligência artificial, sou diretor de uma empresa de tecnologia e hoje estou aqui para passar o conhecimento para vocês. Então, não esquece de deixar o like no vídeo, seguir o canal, é importante para a gente continuar o nosso trabalho. O link da comunidade está disponível aqui na descrição desse vídeo. Se você quiser aprender mais sobre desenvolvimento de aplicações utilizando inteligência artificial, vem compartilhar aí seu conhecimento com a gente e nós também vamos compartilhar com vocês. Então, vamos embora para o vídeo. Vocês já devem ter visto aqui esse repositório, né? Virou uma febre aqui, cara, 270.000 estrelas, né? Reverse Engineering Anything With Agents From App App Behavior Down To The Native Binaries. Então, cara, tudo até o comportamento do aplicativo ali, até os os o nível binário. Cara, o repositório realmente ele está aqui no primeiro aqui, olha, no GitHub Trending, né? Está voando esse repositório. Aparentemente ali muita gente gosta de de copiar sistema, né? E que eu de forma nenhuma acho uma coisa legal, beleza? Então, eu vou explicar rapidamente aqui como que funciona o REA. Tem aqui o readme deles aqui, mas eu preparei um HTML aqui um pouco mais didático aqui, só para vocês entenderem. Então, o REA, como que ele funciona? Ele é um programa que em Node que expõe ferramentas de análise de software para agentes de IA. Ele não tem um modelo de IA dentro, quem decide e que do que analisar interpreta o resultado é o agente conectado a ele, ou seja, é o seu agente aí. Então, aqui, cara, ele tem três camadas, né? Nós temos aqui o agente de IA, né? Aí o Cloud Code, Codex, o que você usa aí. Temos aqui o servidor de MCP, que é o Real, eu tenho o C Light também, que vai receber essa chamada do agente. E aqui nós temos os motores, né, que tem aqui as ferramentas externas e internas, é, que vai fazer o leitor, vai usar o G Bar ali, os descompiladores ali dos arquivos binários ali, enfim, é o que realmente vai fazer a leitura. E aqui, ó, o que a instalação coloca no agente. Então, o servidor, ele tem 170 ferramentas, então, cara, tem abrir um alvo, buscar texto, descompilar a função, listar quem chama quem, comparar versões, observar o PP rodando e conferir uma reconstrução. Então, assim, tem diversas ferramentas, não são todas que são utilizadas todas as vezes. O agente ali, ele consegue ali utilizar múltiplas coisas dependendo do tipo de arquivo, dependendo do tipo de sistema que é, se é um PP Electron, se é um PP Android, enfim. E aqui tem a skill, que é as instruções de uso, né, de como que o agente deve começar a utilizar. E aqui tem seis fluxos prontos: investigar uma funcionalidade, comparar versões, verificar uma reconstrução, rastrear um crash, auditar lacunas e capturar um processo em execução. Então, cara, principalmente esse aqui, ó, eu acho assim, extremamente agressivo, né, você não tem o código fonte, você vai utilizar um repositório desse para capturar um processo ali que tá em execução, é, sem o aplicativo ser seu ali, enfim. Muita gente utiliza isso de forma maliciosa, beleza? Então, o que que ele usa aqui para cada tipo de arquivo? Ele usa aqui JavaScript e Electron, né, então, ele extrai o pacote {ponto} azar e lê o código parser Babel num processo separado com limite de memória para não travar em arquivos. Já já, não esquece desse lance do limite de memória aqui, porque eu bati nisso aqui. Programas nativos. Aí, cara, EXE, {ponto} LL ali, usa bibliotecas compiladas que passam por pelo Gidra. E o Gidra é um framework de engenharia reversa da NSA, que é a agência de segurança dos Estados Unidos. Esse framework virou open source em 2019. A sua principal função é pegar um binário compilado, seja ele um EXE, um DLL, um firmware, e devolver duas coisas: o assembly, que é um desmontador, e um pseudo código em C reconstruído, que é o descompilador. Dessa forma, você consegue ler um programa nativo mesmo sem ter o código fonte dele. Então, além do Ghidra, nós temos o Hopper, o IDA, que convertem binário em pseudo código legível. E aí temos aqui Android, .NET, os pacotes aqui zip, APK, cara, azar são abertos e inventariados antes da análise. E eles usam também APP em execução, aqui o Playwright, padrão aqui, que até o seu Cloud Code pode utilizar aí para poder fazer testes aí em tela, dentro dos das suas aplicações. E aí como funciona o fluxo de verificação? Você carrega um arquivo aqui, o APP JavaScript vai para a análise de aplicação, o binário, ele é aberto como documento, e aí depois prende a análise do arquivo. Então, tudo o que vem depois se refere àquele arquivo ali que foi aberto. Então, trocar de alvo precisa ser explícito. Depois disso, nós temos aqui o ponto de partida, que é achar aonde a funcionalidade começa. Então, ele busca texto, nome, funções ligados ao que foi pedido. Depois ele já lê o resultado já guardado, navega pelo resumo, por uma página sem fazer reanálise e e traça a funcionalidade a partir do ponto achado. Depois disso, cara, ele abre ali as funções envolvidas, decompila, lista quem chama quem, quem é chamado, segue as referências, etc e tal. E aqui no final, ele anota aqui o que não foi respondido, o que que ficou aberto é gravado como desconhecido. Então, ou seja, se caso ali o repositório não devolver tudo para o agente, o agente perceber que faltou algo, ele vai conseguir ali saber ali o que que ficou gravado como desconhecido. Então, o ciclo do agente ali, o agente, ele pergunta: "Onde fica o código que salva o arquivo tal?" Então, o RE vai analisar, ele vai rodar o motor sobre o arquivo, dependendo do tipo de aplicação, vai devolver ali a evidência do local e o grau de certeza, e o o vai decidir ali se vai aprofundar naquilo ali ou se vai mudar o caminho. E aí a partir disso, o tipo de relatório, a forma como ele vai te devolver isso, aí cara, é entre você e seu Cloud Code aí, é, como que ele vai te devolver isso, né? O formato aqui de cada evidência vem dessa forma aqui, vou deixar essa HTML aqui para vocês utilizarem aí, enfim, para se vocês quiserem dar uma olhada. E aqui nós temos umas regras de como que o agente recebe, então, o que o usuário escreve na conversa é informação e não autorização, o alvo não é ampliado pela conversa, só é afirmado como fato que veio de uma evidência citada, dedução marcada como inferência com grau de confiança. Então, para o agente não ficar inventando ali, né, alucinando. Cobertura incompleta, formato não suportado, evidências que se contradizem são reportados como desconhecido. Isso já tá lá na skill que o agente usa. Então, não ter encontrado algo numa análise parcial não prova que aquilo não existe. Então, cara, vai chegar momentos ali que o negócio vai, vai falhar. E aí como que a resposta chega? Ela chega num arquivo, pela dedução do agente e o que fica fora do alcance. Isso tudo, cara, roda aqui na sua máquina, aqui na máquina de quem usa. O arquivo analisado não é enviado para fora, o que chega no modelo de IA é só o resultado da ferramenta e as ferramentas que executam o app, em vez de só ler o arquivo, pedem autorização antes. Então, galera, é, basicamente, é, é o resumo de como funciona aqui tecnicamente o REA, que realmente é um repositório legal, tá utilizando muito repositório é, é aberto aqui do Ghidra, igual esse que eu falei para vocês da NSA, mas mesmo assim realmente é um trabalho legal que eles fizeram aqui, mas levanta muitos pontos de atenção. Hoje tem alguns repositórios aí que já são abertos, né? Tem o Reversa do Sandeco aqui, um cara, tem um canal no YouTube, ele é amplamente conhecido, só que o propósito do Reversa é justamente para você refatorar a sua aplicação. Então, você abre ali o seu próprio aplicativo ou quando você tem o código fonte e é, o Reversa ele vai te ajudar você refatorar ou melhorar ali o seu sistema, porque ele mapeia tudo como funciona. Não é especificamente para você copiar um outro aplicativo. Eu vou mostrar para vocês como é que eu implementei no meu Harness aqui e a gente vai rodar um teste rápido só para vocês entenderem como funciona. Eu instalei esse MCP aqui no Lion Clock, que é um dos Harness que a gente tem aqui na comunidade. E aqui, ó, veja que eu coloquei aqui, ó, memória máxima para análise. Por quê? Ele gasta uma memória aqui, cara. Pensa que se o computador não tiver aí um pente bom de memória, é, ele pode arrebentar. A minha máquina aqui, que é a máquina que eu estou no momento, é que ela tem 61 GB de RAM. Então, cara, coloquei aqui umas opções. E aqui, ó, o binário aqui nativo do Ghidra, que ele é experimental. Aqui nesse caso aqui eu tô rodando no Windows para eu poder fazer esse vídeo aqui. Então, o Ghidra no Windows é totalmente experimental. Não foi uma ferramenta feita para para para poder rodar aqui, né? Então, assim, roda bem melhor ali no Linux e no MacBook. Então, a partir dessa configuração aqui, eu vou colocar aqui uns 4 GB aqui. Vou testar ver se tá tudo beleza aqui com o MCP. Tá tudo OK, ó. O o RE respondeu 470 ferramentas. E aqui nós vamos fazer um teste, é, com um aplicativo que eu tenho instalado aqui. Esse aplicativo é o T3 Code. Esse aplicativo ele já é amplamente conhecido, ele é open source. Então, só por isso eu vou fazer isso aqui, porque eu não vou realmente, de fato, abrir um aplicativo aqui sem ter, de fato, o código fonte dele. Então, vou mandar um áudio aqui para ele. Fala, meu querido, beleza? Cara, eu quero tenho um aplicativo aqui dentro dentro dessa máquina que chama T3 Code. Eu quero que você abra esse aplicativo com o RE, faz a engenharia reversa e me explica exatamente como ele funciona, gera uma HTML aí para mim para me explicar exatamente quais são os arquivos, tecnicamente, o que que chama o quê. Então, utilize o RE aí para poder, é, é, puxar aí todas as informações que você puder deste aplicativo especificamente. Então, eu mandei isso aqui para o meu Lion e ele vai utilizar o MCP e ele vai fazer. Eu só tô fazendo isso porque o T3 Code, além de ele ser um aplicativo que você pode baixar no próprio site do T3 Code, é, ele é um aplicativo que ele é open source. Então, é, aqui eu não tô infringindo nenhuma regra, porque eu poderia muito bem pegar o código fonte ali e analisar que muito provavelmente sairia até bem melhor a análise do que utilizar o próprio RE se eu simplesmente tiver acesso ao código fonte da aplicação. E aqui ele vai rodar, cara, vai demorar um tempo, né, porque vai chamar ali o MCP, então não é algo que ele vai rodar aqui de de uma hora para outra. Então vamos esperar um pouquinho aqui e já já eu volto com vocês com o resultado. E o T3 Code, só para vocês saberem, cara, ele é um harness, né, inclusive ele me inspirou muito aqui, é um outro harness que a gente tem na comunidade que é o Lion Code, que eu uso amplamente aqui. Muita muita coisa foi inspirada ali é pelo que tinha dentro do T3 Code. Então basicamente você pega partes importantes ali de como foi construído, é, você não copia o código de lá, mas você entende como funciona, é, e você consegue atalhar muito. Então eu falo muito aqui na comunidade de como que você consegue atalhar, é, utilizando de repositórios open source, principalmente excelentes repositórios open source, que já estão construídos e já estão validados, já estão testados. Você pega aquele repositório, você analisa ele, você entende como funciona, para que nem tudo tenha que sair da sua cabeça aí você tem que pensar em tudo. Tem muita coisa que já tá pronta e que já tá aberto ali para todo mundo, que você consegue aprender e depois gerar o seu próprio código, né? Nada de simplesmente, é, copiar ali um control C, control V e tentar replicar uma aplicação igual, beleza? E aqui ele já rodou ó então cara deu uma analisada como ele funciona, tudo belezinha aqui, e ele gerou o HTML. O HTML obviamente eu pedi para ele gerar aqui para ficar mais fácil aqui para para eu mostrar para vocês. Basicamente aqui ele gera aqui um resumo aqui, os três os processos, os arquivos instalados, o boot passo a passo, o arquivo fonte, a janela ali do Electron, ele tem uma parte ali de web socket muito legal aqui, que é cara, realmente é muito legal que o Teo fez ali, que até funciona ali com múltiplas máquinas, então isso isso é algo que é é legal a gente pode implementar aqui no Lion Code é futuramente, mas cara, você vê que ele abriu aqui o aplicativo, ele não olhou o código fonte, apesar de ter ali o esse código no GitHub aberto. Então, você vê que, cara, ele pega tudo aqui, ó, o Electron main, o servidor Node, o render, a janela, todos os arquivos, o que que conversa com o quê, aqui são os providers, ó, o Cloud, o Codex, ele utiliza o Cloud SDK, utiliza o Codex App Server, exatamente como funciona aqui, tanto o Lion Clock quanto o Lion Code, o cursor por assim dizer, o Grok por assim dizer, tudo exatamente como funciona aqui também, é, os nossos Harness, né, que, inclusive, esse Harness aqui do Lion Clock, todos chamam esses providers dessa forma, até para a gente poder utilizar as assinaturas. Aqui ele mostra aqui quais arquivos estão instalados e o que que é cada um, é o boot passo a passo, como funciona, o desktop aqui, o app.asar. >> [roncando] >> Aqui temos aqui a ponte da janela Electron e o preload. Então, cara, você vê que a arquitetura do sistema, ela tá aqui. O servidor asar também tá aqui, os arquivos fonte com pasta. Aqui tá a superfície de HTTP e de web socket, o caminho de uma mensagem ponta a ponta, ou seja, o fluxo que utiliza ali quando você tá desenvolvendo ali as threads com os agentes, a parte de orquestração e onde ele guarda os dados, né, que é ali no SQLite, os providers, como cada um é chamado. Então, ou seja, é, não vou ficar amassando barro aqui, mas cara, ele ele abriu aqui o sistema inteiro, ele abriu o aplicativo inteiro sem eu ter o código fonte desse aplicativo. Isso é legal, mas também, cara, é algo que você tá abrindo ali algo que é é de propriedade intelectual de outra pessoa. Então, se o cara não te deu acesso ao código fonte, entendo que não seja algo tão legal. Você também iria querer ali que alguém ali estivesse realmente copiando ali, é, o seu sistema. Agora, você abrir isso aqui para você estudar, entender como funciona, dar uma olhada no código e a talvez pegar alguma coisa aqui que realmente seja relevante para você e levar como ideia para o seu sistema, isso eu já não vejo problema algum em fazer, beleza? O mais importante é você tomar cuidado com o hype, cara, porque o que foi falado aí é que o Adobe Photoshop, o After Effects foram copiados aí, mas cara, eu dei uma olhada em todos esses sistemas copiados e assim, se você for olhar o código, o código está quebrado, não funciona da forma como deveria funcionar, porque esses caras que estão copiando esses sistemas, é, apesar de, podem ter feito ali um trabalho, enfim, ter demorado para poder fazer isso, mas esses caras eles não têm ali a experiência, eles não passaram pelo que os desenvolvedores do Adobe passaram para poder chegar até ali. Então, se você só ter o código cru não quer dizer que você vai conseguir operar um sistema ali em larga escala, é, principalmente sistemas super, é, famosos aí e consagrados, é, como o Photoshop e o After Effects. Isso foi até o motivo por esse repositório ter estourado no mercado, né? Principalmente quando foi soltou aí que, cara, agora o Adobe ali, enfim, tem, tem uma cópia aqui, mas tem que tomar muito cuidado porque um repositório desse que está muito famoso e todo mundo sai copiando um monte de sistemas e joga lá no GitHub, muito provavelmente você vai encontrar algum ali que vai ter ali um malwarezinho ali te esperando para você jogar isso aqui dentro da sua máquina, beleza? Então, o repositório ele nada mais fez do que juntar diversas ferramentas, diversos motores que já existiam e colocou tudo num bolo, só criou o MCP para você conectar o seu agente. Não foi algo que inovador ou criou algo totalmente novo. Isso já existe há muito tempo. A engenharia reversa, ela já existe há muito tempo. Então, só para a gente botar os pés no chão, até por esse relatório que eu gerei aqui pelo T3 Code, cara, não significa de forma nenhuma que eu vou conseguir construir um sistema exatamente como o T3 Code, simplesmente porque eu abri todos os binários ali. Tem muito mais coisa envolvida e aí, cara, quem entende aí de desenvolvimento sabe que as coisas não são tão simples assim, beleza? O link da comunidade está disponível aqui na descrição desse vídeo. Se você quiser ter acesso aos nossos hardwares aí ou aprender mais sobre desenvolvimento de aplicações utilizando inteligência artificial, venha compartilhar seu conhecimento com a gente e nós também vamos compartilhar com vocês, beleza? Forte abraço a todos e até mais.

Assistir ao vídeo original no YouTube

Assuntos: Agentes de IA. Publicado no YouTube em 2026-10-16.

Seleção automática por assunto e idioma. O vídeo pertence ao canal de origem.

Sobre o Model Context Protocol (MCP)

O Model Context Protocol (MCP) é um padrão de código aberto para conectar aplicações de IA a sistemas externos. Segundo o Wikidata, o protocolo foi desenvolvido pela Anthropic, publicado em 25 de novembro de 2024, é distribuído sob a licença MIT e usa JSON-RPC para a comunicação. A documentação oficial explica que, com o MCP, aplicações como Claude ou ChatGPT podem se conectar a fontes de dados (como arquivos locais e bancos de dados), ferramentas (como mecanismos de busca e calculadoras) e fluxos de trabalho (como prompts especializados).

A própria documentação compara o MCP a uma porta USB-C para aplicações de IA: assim como o USB-C padroniza a conexão de dispositivos eletrônicos, o MCP padroniza a conexão de aplicações de IA a sistemas externos. Para desenvolvedores, o objetivo é reduzir o tempo e a complexidade de criar ou integrar aplicações e agentes; para os agentes, dar acesso a um ecossistema de dados, ferramentas e apps. Em 25 de outubro de 2026, a versão mais recente da especificação indicada no site oficial era a 2026-07-28.

Ficha técnica

  • Nome: Model Context Protocol (MCP)
  • Tipo: Protocolo de comunicação e padrão técnico aberto
  • Desenvolvedor: Anthropic
  • Publicação: 25 de novembro de 2024
  • Licença: MIT
  • Base técnica: JSON-RPC
  • Versão da especificação (consulta em 25/10/2026): 2026-07-28
  • Site oficial: modelcontextprotocol.io

Leia também


Fontes e referências: Wikidata – Model Context Protocol (Q133436854) · Model Context Protocol – What is MCP? (em inglês) · vídeo do canal Breno Vieira LionLab no YouTube.

Comentários

Postagens mais visitadas deste blog

How to build a JARVIS AI Voice Agent for FREE | Full Livekit Tutorial (2026)

How Does AI Actually Work? 🤖 | AI, Machine Learning & Generative AI Explained