---
title: "REA: engenharia reversa com IA e limites da cópia"
locale: pt
category: knowledge_base
category_name: "Base de Conhecimento"
translation_status: reviewed
license: cc_by
author: "injoys"
source_url: https://injoys.com/en/articles/rea-ai-reverse-engineering-capabilities-and-limits
published_at: 2026-10-19T23:23:10+09:00
---

# REA: engenharia reversa com IA e limites da cópia

> O REA conecta agentes de IA a ferramentas de análise existentes para investigar softwares. Não garante a recuperação do código-fonte original nem a reprodução de um produto completo. Mesmo no caso do ArtCraft, é preciso distinguir a implementação de funcionalidades da maturidade para uso profissional.

## Key Points

- REA é uma ferramenta de engenharia reversa que conecta agentes de IA a ferramentas como Ghidra, Hopper e IDA.
- Os resultados da descompilação são pistas para interpretar o funcionamento de um programa, não o código-fonte original.
- O registro de Evidence do REA ajuda a rastrear os fundamentos e as limitações da análise, mas não garante sua precisão.
- Em sua autoavaliação de 10 de outubro de 2026, o FilmCraft apresentou separadamente o escopo das funcionalidades e o grau de preparação para uso profissional.
- O suporte a CLI e MCP amplia as possibilidades de automação do aplicativo, mas não substitui a validação de desempenho e compatibilidade.

REA é uma ferramenta de engenharia reversa que ajuda a AI a analisar aplicativos sem acesso ao código-fonte. Ela conecta ferramentas de análise existentes para apoiar a reimplementação de funcionalidades. No entanto, não garante a recuperação completa do código original. Também não comprova a conclusão de que a era do software chegou ao fim.

Os percentuais de conclusão abaixo seguem a avaliação feita pelo próprio FilmCraft em 10 de outubro de 2026.

## O que é REA?

REA é a sigla de Reverse Engineer Anything. Engenharia reversa é o trabalho de investigar a estrutura e o funcionamento de um programa pronto. REA permite que agentes de AI acionem as ferramentas necessárias para esse trabalho.

As formas de conexão são MCP e CLI. MCP é um protocolo que conecta a AI a ferramentas externas. Na CLI, a operação é feita por comandos digitados no terminal. Os alvos compatíveis podem ser consultados no [REA README](https://github.com/morluto/rea).

| Componente | Função | O que verificar ao ler os resultados |
| --- | --- | --- |
| Agente de AI | Definir as perguntas da investigação e interpretar os resultados | Verificar se as explicações têm fundamento |
| REA | Acionar ferramentas e transmitir resultados da análise | Verificar o escopo da análise e as lacunas |
| Ghidra·Hopper·IDA | Analisar a estrutura interna de arquivos executáveis | Verificar os formatos aceitos e as limitações de cada ferramenta |
| Ferramentas de observação da execução | Observar o comportamento e a saída reais | Verificar as entradas testadas e o ambiente de execução |

REA e ArtCraft são projetos com funções diferentes. REA conecta ferramentas de análise. Crafting Apps, do ArtCraft, são aplicativos que realizam tarefas de edição. A existência dos dois projetos, por si só, não permite concluir que seus processos de desenvolvimento estejam relacionados.

## O que é possível descobrir em um arquivo executável?

Descompilação é o processo de converter código executável em uma forma mais fácil de ler por pessoas. O resultado não pode ser considerado igual ao código-fonte original. Isso porque os nomes e comentários originais podem desaparecer durante a compilação.

Ghidra é uma ferramenta de engenharia reversa desenvolvida e mantida pela NSA. Ela oferece recursos de descompilação e análise de instruções. Também permite automação e execução de scripts. Seus recursos estão descritos no [Ghidra README](https://github.com/NationalSecurityAgency/ghidra).

| Alvo da análise | Indícios que podem ser obtidos | O que os indícios, por si só, não permitem determinar |
| --- | --- | --- |
| Arquivo executável nativo | Pseudocódigo, instruções, strings, relações entre chamadas | Todo o código-fonte escrito originalmente |
| Aplicativo JavaScript·Electron | Módulos, relações entre importações, conexões internas do aplicativo | Implementações executadas apenas no servidor |
| Site | Estrutura das páginas, scripts, comunicações observadas | Todo o código do servidor e os dados privados |
| Programa em execução | Saída, interações, alterações em arquivos | O comportamento para todas as entradas não testadas |

As requisições observadas no cliente fornecem pistas para analisar o servidor. Elas, por si só, não permitem reconstruir todo o funcionamento interno do servidor. O escopo do suporte de REA para cada tipo de alvo também está discriminado no [README oficial](https://github.com/morluto/rea).

## Como REA ajuda a AI na análise?

REA seleciona e transmite os resultados de análise necessários e guarda as evidências. Essa estrutura reduz a necessidade de a AI ler repetidamente toda a saída extensa. O fluxo de trabalho pode ser consultado na documentação oficial da CLI e na especificação MCP.

### Uma estrutura para ler apenas o necessário

REA pode recuperar resumos ou itens específicos dos resultados de análise armazenados. Assim, é possível restringir a investigação por função ou módulo. Isso reduz a necessidade de incluir resultados extensos, na íntegra, na conversa. O modo de uso está explicado no [documento CLI and Evidence](https://github.com/morluto/rea/blob/main/docs/cli.md).

### Reutilização do estado e dos resultados da análise

A integração com Ghidra mantém o descompilador disponível para o programa aberto. A sessão MCP pode guardar as evidências da análise. No entanto, cada execução separada da CLI é um processo diferente. Os limites dessa continuidade podem ser consultados no [documento de instalação](https://github.com/morluto/rea/blob/main/docs/installation.md).

### Registro das evidências em Evidence

Evidence é um registro que reúne as evidências e os limites dos resultados da análise. Itens não observados podem permanecer como não verificados. Um resultado vazio, por si só, não permite concluir que uma funcionalidade não existe. Essa distinção está descrita em [MCP runtime contracts](https://github.com/morluto/rea/blob/main/docs/mcp-contracts.md).

Evidence pode ser comparado a um recibo. Mas a existência de um recibo não garante que a interpretação esteja correta. Conclusões importantes precisam ser conferidas novamente com as evidências originais e os resultados dos testes.

## O que os aplicativos do ArtCraft reimplementam?

ArtCraft publica aplicativos em Rust para tarefas criativas conhecidas. A lista oficial indica quando estão em alfa inicial ou em desenvolvimento. A disponibilidade gratuita e a capacidade de substituir ferramentas no trabalho precisam ser avaliadas separadamente. A lista pode ser consultada na [página Crafting Apps](https://getartcraft.com/apps).

| Aplicativo | Tarefa principal |
| --- | --- |
| PhotoCraft | Edição de imagens |
| VectorCraft | Criação de ilustrações vetoriais |
| FilmCraft | Edição de vídeo |
| LightCraft | Gerenciamento de fotos e revelação RAW |
| PdfCraft | Abertura de PDF e processamento de documentos |
| EffectCraft | Motion graphics e efeitos visuais |
| DesignCraft | Diagramação de páginas e edição para publicação |

PhotoCraft se apresenta como uma reimplementação das tarefas realizadas no Photoshop. FilmCraft se apresenta como uma reimplementação das tarefas realizadas no Premiere Pro. Esses são os objetivos dos projetos conforme descritos pela equipe de desenvolvimento. Não são resultados que comprovem de forma independente a compatibilidade completa.

## Comparação entre funcionalidades implementadas e prontidão para o trabalho

Uma funcionalidade existir é diferente de poder usá-la no trabalho. FilmCraft avalia esses dois aspectos separadamente. Em 10 de outubro de 2026, o produto usado na comparação era o Premiere Pro 26.5.2.

| Item avaliado pelo próprio FilmCraft | Percentual divulgado | O que o percentual descreve |
| --- | --- | --- |
| Abrangência das funcionalidades | Cerca de 86% | Abrangência dos itens implementados, como menus, efeitos, painéis e formatos |
| Prontidão para o trabalho | Cerca de 56% | Estimativa própria do nível em que o aplicativo pode substituir a ferramenta em projetos reais |

Naquela data, a estimativa de prontidão para o trabalho era de **cerca de 56%**. Os dois percentuais usam critérios de avaliação diferentes. A diferença não deve ser interpretada como taxa de erros nem como tempo restante de desenvolvimento. Os percentuais e suas limitações estão publicados na seção Status do [FilmCraft README](https://github.com/storytold/filmcraft).

A documentação oficial aponta a velocidade de processamento de vídeos grandes como um aspecto a melhorar. Também informa que a abertura direta de arquivos de projeto do Premiere não é compatível. Há ainda restrições para hospedar plugins.

Por isso, a semelhança da interface não basta para decidir se o aplicativo pode substituir outro. É preciso verificar o fluxo de trabalho completo, incluindo salvar e reabrir arquivos. Na edição de vídeo, a sincronização do arquivo exportado também precisa ser verificada.

Os critérios a seguir servem como lista de verificação para comparar aplicativos.

| Item a verificar | O que testar diretamente |
| --- | --- |
| Compatibilidade de arquivos | Se é possível abrir e salvar novamente os arquivos em uso |
| Qualidade da reprodução | Se há travamentos ou atraso no áudio com vídeos usados no trabalho real |
| Resultado final | Se as cores, legendas e o som do vídeo exportado correspondem ao esperado |
| Retomada do trabalho | Se é possível reabrir um projeto salvo e continuar o trabalho |
| Ambiente de trabalho existente | Se há suporte aos plugins e formatos de intercâmbio necessários |

## Como CLI e MCP mudam a forma de usar aplicativos

CLI e MCP oferecem formas de operar o aplicativo além dos cliques na interface. Segundo a descrição do PhotoCraft, o mesmo mecanismo pode ser acionado por várias interfaces: UI, CLI, canal de controle JSON e MCP. Essa estrutura está publicada no [PhotoCraft README](https://github.com/storytold/photocraft).

Isso fornece uma base para que a AI acione funções do aplicativo por tarefa. Cabe ao agente converter pedidos em linguagem natural em comandos reais. Ainda é necessário verificar os resultados separadamente.

| Forma de operação | Tarefas adequadas | O que verificar |
| --- | --- | --- |
| UI visual | Edição que exige avaliação visual | Se a prévia corresponde ao resultado final |
| CLI | Tarefas repetitivas e execução de scripts | Opções de entrada e status de encerramento |
| MCP | Tarefas combinadas por um agente de AI | Funções acionadas e validação dos resultados |

Não há evidências suficientes aqui para prever o desaparecimento da UI. As pessoas ainda podem precisar conferir os resultados visualmente. As formas de automação e a interface visual de edição podem ser usadas em conjunto.

## Erros comuns ao entender REA

Confundir a capacidade de análise de REA com a capacidade de reproduzir um produto pronto leva a equívocos. Também é difícil avaliar a qualidade da análise apenas pela quantidade de ferramentas. Cada uma das afirmações abaixo exige evidências próprias.

| Afirmação comum | O que verificar separadamente |
| --- | --- |
| Reconstrói qualquer aplicativo em poucos minutos | Resultados medidos para cada alvo, escopo de análise e ambiente |
| Há sempre 126 ferramentas | Lista real de ferramentas da versão instalada |
| Evidence impede alucinações | Diferença entre registrar evidências e interpretar corretamente |
| Fazer em Rust sempre torna o aplicativo rápido | Desempenho medido em tarefas reais |
| Se a interface é igual, as funcionalidades também são | Testes que incluam salvamento, compatibilidade e saída |
| Separar agentes cria um clean room legal | Forma de separar o acesso e condições de uso aplicáveis |

A lista de ferramentas pode ser consultada por `tools/list` na versão instalada. Também é preciso verificar a disponibilidade para cada tarefa. Os critérios relacionados estão explicados na [especificação MCP](https://github.com/morluto/rea/blob/main/docs/mcp-contracts.md).

Uma posição nos trending do GitHub precisa vir acompanhada do momento e do período da apuração. A motivação do desenvolvimento também precisa ser confirmada em declarações originais dos desenvolvedores. A alegação de que o projeto começou por causa de uma multa por cancelamento não foi adotada como fato confirmado.

A alegação de uso do Claude Opus 5.5 também exige registros específicos do desenvolvimento. O fato de o aplicativo ter sido publicado não comprova qual modelo foi usado. Confira essa alegação nos registros de trabalho dos desenvolvedores ou no texto original de sua apresentação.

## Condições para uma reimplementação clean room

A reimplementação clean room separa o acesso às informações entre análise e implementação. As funções de elaborar a especificação das funcionalidades e escrever o novo código ficam separadas. Colocar agentes em conversas diferentes não é suficiente.

O documento de instalação de REA explica como restringir o acesso a arquivos e à rede. O objetivo é impedir que o ambiente de implementação acesse os materiais produzidos pela análise. Os métodos de separação podem ser consultados no [documento Installation and setup](https://github.com/morluto/rea/blob/main/docs/installation.md).

O DISCLAIMER de REA não garante a precisão dos resultados. Obter resultados de análise também não confere direitos sobre o programa original. É preciso verificar separadamente os direitos e as condições de uso de cada programa. O escopo de aplicação está descrito no [REA DISCLAIMER](https://github.com/morluto/rea/blob/main/DISCLAIMER.md).

> Decompilation, reconstruction, heuristics, and AI-assisted analysis may be incomplete or incorrect.
>
> REA DISCLAIMER, Analysis results and generated output

O trecho significa que a análise feita com AI pode estar incompleta ou incorreta. O nome clean room também não garante automaticamente a legalidade. Se você planeja publicar ou comercializar a reimplementação, comece verificando as condições de uso do programa analisado.

## A diferença entre análise local e envio de dados à AI

Análise local não significa que nenhuma informação seja enviada para fora. REA informa que processa localmente os arquivos analisados. Ao agente que recebe os resultados das ferramentas, aplicam-se as políticas do fornecedor do modelo. Essa distinção é explicada no [REA FAQ](https://github.com/morluto/rea).

Os resultados da análise podem conter strings presentes nos arquivos. Os registros de execução podem incluir informações de contas. Se você for investigar um aplicativo usado no trabalho, verifique primeiro os itens abaixo.

- Dados pessoais e informações confidenciais que podem aparecer nos resultados da análise
- Saídas das ferramentas que o agente envia ao fornecedor do modelo
- Políticas de armazenamento, treinamento e retenção do serviço de modelos
- Com quem os relatórios de análise e os logs podem ser compartilhados

O programa analisado também pode conter instruções destinadas a enganar a AI. A documentação de REA orienta tratar essas instruções como dados não confiáveis. Instruções contidas em arquivos não devem ser aceitas como comandos do usuário. Esse princípio de tratamento consta na [especificação MCP](https://github.com/morluto/rea/blob/main/docs/mcp-contracts.md).

## Ordem para fazer uma verificação por conta própria

Comece a verificação definindo de forma restrita a funcionalidade que deseja reproduzir. O objetivo de entender um aplicativo inteiro tem critérios de conclusão vagos. Definir as entradas e os resultados esperados facilita avaliar a utilidade da análise.

1. Escolha um programa que você tenha autorização para analisar.
2. Defina a funcionalidade a verificar e as entradas de teste.
3. Registre as versões de REA e da ferramenta de análise.
4. Salve as evidências e os itens não verificados de forma separada.
5. Em um ambiente permitido, compare o comportamento real com os resultados da análise.
6. Se fizer uma reimplementação, compare os resultados usando as mesmas entradas.
7. Registre as entradas que falharam e as condições não aceitas.

O relatório também pode registrar o hash do arquivo analisado. Hash é um valor que permite distinguir se os arquivos são iguais. Manter as versões e as condições dos testes registradas facilita a verificação dos resultados por outras pessoas.

## Onde permanece a vantagem competitiva do software?

Mesmo que reimplementar programas se torne mais viável, nem todo o valor de um produto pode ser copiado. A análise do cliente, por si só, não dá acesso aos dados do servidor. O relacionamento com os usuários e a capacidade de operar o serviço também são aspectos separados.

Com base na documentação pública, é possível esperar uma mudança nos critérios de competição. Fica mais difícil avaliar um produto apenas pela rapidez com que suas funcionalidades foram implementadas. Também é preciso considerar a qualidade verificável e a capacidade de operação.

| Fator competitivo | O que REA e os casos de reimplementação mostram |
| --- | --- |
| Implementação de funcionalidades | Fica mais fácil conectar ferramentas para investigar o funcionamento existente |
| Maturidade do produto | É preciso avaliar separadamente a existência de funcionalidades e a prontidão para o trabalho |
| Acesso à automação | Interfaces que podem ser acionadas, como CLI e MCP, ampliam as formas de uso |
| Operação do serviço | Dados do servidor e relacionamento com os usuários precisam ser construídos separadamente |

Esta tabela é uma interpretação baseada na documentação oficial. Não é resultado de uma medição das mudanças de receita do mercado como um todo. O impacto em cada empresa pode variar conforme a qualidade do produto e sua estrutura operacional.

## FAQ

### O REA recupera o código-fonte original?
Não há garantia de recuperação de um código-fonte idêntico ao original. A análise nativa fornece pistas como pseudocódigo e instruções. Com base nelas, o agente explica o funcionamento ou escreve uma implementação.

### O Ghidra é indispensável para usar o REA?
Depende do que será analisado. A análise nativa usa ferramentas como Ghidra, Hopper e IDA. Para a análise estática de JavaScript ou .NET, há opções que dispensam um analisador nativo.

### O REA tem 126 ferramentas?
É difícil considerar esse número fixo sem especificar a versão. Confira a lista em tools/list na versão instalada. Mesmo uma ferramenta listada pode não estar disponível no ambiente atual.

### Se houver um registro de Evidence, posso confiar na explicação da IA?
Evidence é um mecanismo para rastrear as evidências e as limitações. Mesmo com um registro, a interpretação pode estar errada. Valide as conclusões importantes por meio da execução efetiva ou de testes independentes.

### REA e ArtCraft são a mesma ferramenta?
São projetos diferentes. O REA conecta ferramentas de engenharia reversa a agentes. O Crafting Apps da ArtCraft realiza tarefas de edição de conteúdos como imagens, vídeos e documentos.

### Posso começar a usar o FilmCraft no lugar do Premiere Pro imediatamente?
Verifique primeiro a compatibilidade e a qualidade da saída necessárias para o seu trabalho. Na documentação oficial, o FilmCraft informa que está em fase alfa e descreve suas limitações funcionais. Em 10 de outubro de 2026, a estimativa da própria equipe para a prontidão para uso profissional era de cerca de 56%.

### A cobertura de funcionalidades de 86% do FilmCraft significa que ele tem o mesmo desempenho?
Não significa que o desempenho seja igual. Os cerca de 86% em 10 de outubro de 2026 correspondem a uma autoavaliação da cobertura das funcionalidades implementadas. Esse número não indica a velocidade de processamento nem a taxa de erros.

### Se houver suporte a CLI e MCP, a interface gráfica deixa de ser necessária?
O aumento das opções de automação não torna a interface gráfica desnecessária. A edição visual ou a conferência dos resultados pode exigir uma interface na tela. Dependendo da natureza da tarefa, é possível usar diferentes formas de interação em conjunto.

### Se a análise for feita localmente, as informações da empresa não serão enviadas para fora?
É preciso distinguir a análise local da transmissão de dados pelo agente. Os resultados das ferramentas podem ser enviados a serviços externos de modelos. Verifique as configurações do agente que você está usando e as políticas de dados do provedor.

### Separar os agentes de IA é suficiente para concluir uma reimplementação em sala limpa?
Não basta dividir as funções. Também é preciso separar o acesso aos arquivos e à rede no ambiente de implementação. Essa separação técnica não garante automaticamente a legalidade.

### É possível copiar os dados e o código de um servidor usando apenas o REA?
A análise do cliente, por si só, não permite obter todo o conteúdo interno do servidor. As requisições e respostas observadas fornecem apenas pistas limitadas. Elas não comprovam a implementação não pública nem a totalidade dos dados do servidor.

### Este texto é um relato de experiência direta com o REA e o ArtCraft?
É uma explicação técnica baseada na consulta à documentação oficial. Os aplicativos não foram executados, e não foram feitos testes de desempenho. As descrições públicas das funcionalidades foram organizadas separadamente das autoavaliações da equipe de desenvolvimento.

## Sources

- [REA README: itens compatíveis, funcionamento e FAQ](https://github.com/morluto/rea)
- [Ghidra Software Reverse Engineering Framework](https://github.com/NationalSecurityAgency/ghidra)
- [REA CLI e evidências](https://github.com/morluto/rea/blob/main/docs/cli.md)
- [Contratos de execução do REA MCP](https://github.com/morluto/rea/blob/main/docs/mcp-contracts.md)
- [Instalação e configuração do REA](https://github.com/morluto/rea/blob/main/docs/installation.md)
- [REA AVISO LEGAL: escopo de uso e limitações dos resultados da análise](https://github.com/morluto/rea/blob/main/DISCLAIMER.md)
- [Lista oficial dos aplicativos ArtCraft Crafting Apps](https://getartcraft.com/apps)
- [FilmCraft README: funcionalidades, estado alfa e autoavaliação de 10 de outubro de 2026](https://github.com/storytold/filmcraft)
- [PhotoCraft README: mecanismo de edição e controle do agente](https://github.com/storytold/photocraft)

## Images

![Um homem de suéter escuro observa um tablet com duas prévias de vídeo e uma linha do tempo de edição.](https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzAxOTUsInB1ciI6ImJsb2JfaWQifX0=--945925f39590e27477cbcb5280f3e9984ab90869/ai-ed2a455d.webp)
![Uma mulher de blusa azul olha para um monitor enquanto um homem trabalha atrás do vidro, com uma rede gráfica entre eles.](https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzAyMDEsInB1ciI6ImJsb2JfaWQifX0=--9d6b6cad7c57d623804982aaeddbe8270740975f/ai-33a9acb5.webp)