← Voltar à lista

Reverta todos os softwares: REA sobe GitHub 58.000 Star, angent se transforma em uma pergunta.

itadol5j

O GitHub incendiou recentemente outro projeto: REA. O usuário disse que foi "para o 42.000 Star", mas a partir de hoje (10 de outubro de 2026) o número aumentou. 58 mil estrelas, 11 mil garfos- Mais do que dizem. E o que ele faz é que você pode dizer a mesma coisa: você usá-lo para reverter qualquer software, cavá-lo de aplicação para binário original.

Engenharia reversa e conceito de colaboração angente Figura

I. REA: Qual é exatamente o problema?

O reverso tradicional é “O homem fica em um compilador de contador por alguns dias para ler a compilação”. A ideia da REA é colocar um anti-circulador (código original com Hopper, Ghidra ou IDA) e, em seguida, conectar a um analisador estático para JavaScript e. NET. Angent é responsável por questionar a ferramenta, recolher conclusões e devolver as provas.

O seu exemplificador README é o ponto de venda: "Sabe como funciona a pesquisa na aplicação Notas, mostra-me as provas e faz uma característica semelhante para o meu projecto." O que tens é uma explicação, uma localização de código e uma lista do que não sabes.

O ponto-chave é analisar todas as operações locais, e as conclusões serão acompanhadas de provas e limitações - para não permitir que o modelo componha uma explicação para você.

ii. Que alvos comer

A REA tem uma base de apoio bastante ampla, que cobre essencialmente objetos inversos comuns:

  • Binário Nativo: pseudocódigos, compilações, strings, símbolos, chamadas e referências (preciso de Hopper/Ghidra/IDA)
  • Disposição ELF desligada: parágrafos, secções, símbolo/reposição original, candidato à atenuação estática
  • JavaScript / Electron: módulo, importação, fonte Mapa, rota, relação IPC ao plugin primário (análise estática sem motor primário)
  • Sítio WebEstrutura da página, scripts, observação da web e captura de tela
  • Colecção de programas .NET: metadados, comandos CIL, declaração de dependência original versus construção (estático puro)
  • Android APKDeclaração da lista, classe, método de tradução reversa e referência (necessita de JADX sem cabeça + JDK completo)
  • Sólido: partições, extrações se cruzam com a análise original (necessidades Binwalk / Unblob)
  • bytes EVM, falhas de Linux de login, captura de HAR, comportamento de processoEspera.

Requisitos ambientais: Node.js 22.x (≥22.19), 24.x (≥24.11) ou 26+, mais npm. Agentes suportados incluem Claude Code, Codex, Cursor, Gemini CLI, Grok Build, etc. - quaisquer agentes que suportem servidores MCP locais são basicamente funcionais. Instalar uma ordem:npx rea-agents setup, ele vai registrar o servidor MCP e escrever a descrição do fluxo de trabalho que acompanha, e depois reiniciar a formiga.

Angente para reverter a cadeia de ferramentas por MCP

Três casos públicos: o que pode provar?

Números de estrelas representam calor e resultados de caso. O oficial da REA colocou três caixas de "o que pode" e "o que não pode".

Caso 1: Fórmula de campo sonoro para DX-Ball

Pergunta: Como o DX-Ball nos anos 90 traduziu a posição horizontal dos tijolos em um campo de som esquerdo/direita? O compilador de contadores está em 0x406400 Apenas uma entrada sem observação foi observada __ftol() Chamar; referências em falta no comando [EBP+8]Não sei. Siga o chamador 0x411f40 Fórmula de coordenadas encontrada 20 + 30 × tile_x, e ler três constantes da memória 1,5625, 500,0 e escala acústica inicial 1.0.

A regra que é finalmente restaurada é: coordenar duplo, multiplicado por 1,5625, menos 500,0, multiplicado pelo campo acústico armazenado e então cortado. Ampliar para 1 com a borda esquerda -500, centro 0, borda direita 500. O que realmente constrói confiança é o meio de autenticação: o autor executa 3205 exemplos simultaneamente através da função x86 original e da nova versão C (cobrindo 0-640 posições completas, escalando 0/05/1/20-1), e sob a corrente de ferramentas VC 4.0 fixa os bytes são combinados com os 63 bytes originais. Todo o relatório do projeto manteve 55 funções C, 45380 comparações.

Não o provou.O movimento para conectar o campo de som ao final do jogo ainda está para ser concluído, e o produto jogável está incompleto; o trabalho está ligado a um Hash fixo em DX-Ball 1.07; a compilação de “constantes reposicionadas e verificadas que dependem de revisão manual” não é totalmente automática.

Caso 2: Noção Como copiar para Clip Board

Ir do binário dos anos 90 para uma aplicação moderna de electrões. Pergunta: Notion Desktop 7.6.1 Como escrever texto e HTML para a área de transferência do sistema? Caminho em quatro segmentos: pré-carregar script exposto à página clipboard.write;um wrapper chamando em algum canal ipcRenderer.invoke;processo principal ipcMain.handle Receber; elétron por remetente clipboard.write Crash. O mesmo nome do Canal em ambos os lados. notion:clipboard:writeNão sei.

Duas descobertas valem a pena lembrar: o manipulador principal do processo irá verificar qual página enviou a solicitação, e apenas Notion tem seus próprios conjuntos web para chegar à área de transferência para escrever -- Esta é a posição correta para a qual Electron deve se aplicar; a segunda é que há um pedaço de dados ocultos na cópia, com um comentário em HTML apontando para Notion para personalizar tipos MIME text/_notion-blocks-v3-production Dados de bloco armazenados localmente. Reverte a entrada ao colar por ID, e retorna o texto original +HTML quando a entrada expira.

Não o provou.: REA 4.1.0 só analisa o preload do rótulo, encontrar API exposta e invoke Chamada, wrapper percebe que o autor lê manualmente e conecta Canal ao destinatário; a conclusão da área de transferência é a partir do cache de recursos web e protetores de 13 de julho de 2026, não de sessões de desktop ao vivo.

Caso 3: Playscreen para PC-98 jogos Ring

De volta ao código DOS de 16 bits. O programa GERA suporta 16 bits de análise DOS. O autor restaura os ângulos fixos e aponta os ângulos atrás de um anel de cortina de bomba, reconstrui-os com C++ e compara-os com a saída do compilador histórico. Formas são as mesmas que DX-Ball: restaurar uma pequena fração do cálculo, reconstruí-lo e depois autenticá-lo com o produto original, em vez de acreditar nessa explicação.

Quatro. Junta as três caixas.

  • É muito estreito.: uma fórmula acústica, um caminho de prancheta, um anel de cortina de bala, e nenhum caso diz “reconstruir toda a aplicação”.
  • A prova está anexada.Endereço, constante, 3205 testes, nome do canal, sonda armazenada, comparação do compilador.
  • Todos admitidos em etapas manuais.Revisado manualmente reposicionado, embrulho de leitura manual, correspondência do compilador.
  • Os alvos têm versões fixas.DX-Ball 1.07 com Hash, Notion 7.6.1, binário PC-98 original.

Esta é a fronteira honesta de hoje:Agent é um assistente rápido e incansável para rastrear o comportamento individual, e prova ser um teste do qual você pode correr novamente.

Validação do caso e cadeia de provas

V. O que significa para os desenvolvedores

Se você está fazendo aplicativos angentes, o REA representa um novo padrão: em vez de deixar o modelo "adivinhar" diretamente sobre como um programa é executado, você coloca o modelo em uma ferramenta reversa profissional para fazê-lo falar em evidência. Seu valor não é "uma chave reverte todo o software", mas vai mover o limiar inverso de "leia compilações" para "questão + valida".

Mas fique sóbrio dois pontos. Primeiro, a análise local não é a mesma que o fluxo de dados -- seu angent exportará as ferramentas para modelar fornecedores, e a política de dados ainda se aplica. Em segundo lugar, a qualidade das evidências dependia da cadeia de certificação, e a credibilidade no caso derivava das 3205 comparações e correspondência de byte e não da interpretação oral do modelo.

Ciclos de análise, evidência e autenticação locais

Como fazê-lo?

  • Ambiente: Node.js 22.x (≥22.19)/ 24.x (≥24.11)/ 26+, mais npm
  • Instalação da primeira chave:npx rea-agents setup, selecione seu anente, reveja e aprove alterações e reinicie um anente
  • Instalação global:npm install --global rea-agents, mais tarde disponível rea --help
  • Análise estática JS/Electron:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • Análise primária: pré-configuração do fornecedor (Hopper/Ghidra/IDA)
  • Actualização:rea updateOu correr outra vez. npx rea-agents@latest setup

O inverso passa de "compilação lida" para "questão + validação" - a ferramenta baixou o limiar, mas as evidências ainda precisam ser testadas.