REx86: A Local Large Language Model for Assisting in x86 Assembly Reverse Engineering

O artigo apresenta o REx86, um modelo de linguagem local de código aberto baseado no Qwen2.5-Coder-7B e afinado com um conjunto de dados específico, que demonstra melhorias significativas na compreensão e no comentário de código assembly x86 para engenharia reversa, oferecendo uma solução segura e eficiente para ambientes restritos.

Darrin Lea, James Ghawaly, Golden Richard, Aisha Ali-Gombe, Andrew Case

Publicado 2026-03-09
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você encontrou um cofre antigo e trancado. Dentro dele, há um diário escrito em uma língua que ninguém entende mais, com palavras riscadas, códigos secretos e sem nenhum título nas páginas. Tentar descobrir o que esse diário diz é como engenharia reversa: é o trabalho de desmontar um software (como um vírus ou um programa de computador) para entender o que ele faz, mesmo que os criadores tenham apagado todas as etiquetas e explicações originais.

O problema é que esse trabalho é lento, chato e difícil. É como tentar montar um quebra-cabeça gigante no escuro.

Aqui entra a história do REx86, o "super-ajudante" criado pelos pesquisadores da Universidade Estadual da Louisiana. Vamos entender como eles fizeram isso usando algumas analogias simples:

1. O Problema: O Tradutor que não Entende o Jargão

Antes, as pessoas tentavam usar Inteligências Artificiais (IA) da internet (como o ChatGPT) para ajudar a ler esses códigos. Mas havia dois grandes problemas:

  • Segurança: Você não pode enviar segredos de estado ou códigos de vírus para uma IA na nuvem, pois isso é como enviar uma carta aberta para um estranho. Em lugares seguros (como bases militares), a internet nem existe.
  • Competência: As IAs gerais são ótimas em escrever poemas ou resumir livros, mas quando veem código de computador (linguagem de máquina), elas ficam confusas. É como pedir para um chef de cozinha famoso explicar a mecânica interna de um motor de carro; ele sabe cozinhar, mas não entende parafusos.

2. A Solução: Um Estagiário Especializado (REx86)

Os pesquisadores decidiram criar seu próprio "estagiário" de IA, que eles chamaram de REx86.

  • O Treinamento (A Escola): Eles pegaram 8 modelos de IA diferentes (como se fossem 8 alunos promissores) e os colocaram em uma "escola intensiva". Eles usaram um método inteligente chamado LoRA (que é como dar um "apostila de resumo" ao invés de fazer o aluno ler a biblioteca inteira de novo).
  • O Material de Estudo: Eles criaram um livro didático gigante com quase 6.000 exemplos de códigos de computador (x86) que já tinham explicações. Eles ensinaram a IA a:
    • Explicar o que o código faz.
    • Completar linhas de código faltantes.
    • Escrever comentários nas linhas (como um professor escrevendo notas na margem de um livro).
    • Responder perguntas sobre a linguagem.

3. O Resultado: O Melhor Aluno

Depois do treinamento, eles testaram todos os alunos. O vencedor foi um modelo chamado Qwen2.5-Coder-7B, que agora se chama REx86.

  • O que ele aprendeu? Ele aprendeu a ler o código "na velocidade da luz" e a explicar o que está acontecendo em cada linha, sem inventar coisas (alucinações) ou ficar confuso.
  • Onde ele roda? Diferente das IAs da internet que precisam de supercomputadores, o REx86 foi feito para rodar em computadores comuns (como um PC gamer de alta performance). Isso significa que ele pode ser usado em lugares sem internet, mantendo tudo seguro e privado.

4. A Prova Real: O Teste com Estudantes

Para ver se o REx86 realmente ajudava, eles fizeram um experimento com 43 estudantes de segurança cibernética.

  • O Cenário: Eles deram um "vírus falso" (um programa que fingia ser sobre esquilos, mas na verdade era um teste) para os alunos analisarem.
  • Os Grupos:
    • Um grupo usou a IA original (sem treino).
    • Outro grupo usou o REx86 (o treinado).
    • Um terceiro grupo não teve ajuda nenhuma.
  • O Resultado: O grupo com o REx86 entendeu muito melhor o que cada linha do código significava. Eles conseguiram decifrar o "mistério" do vírus com mais facilidade. Embora não tenham resolvido 100% dos casos, a ajuda foi tão boa que eles se sentiram muito mais confiantes e rápidos.

5. Por que isso é importante? (A Analogia Final)

Imagine que você está tentando consertar um relógio suíço antigo e complexo.

  • Sem ajuda: Você está no escuro, tentando adivinhar qual engrenagem faz o que.
  • Com IA genérica: Alguém grita de longe: "Acho que é a mola!", mas pode estar errado.
  • Com o REx86: É como ter um engenheiro especialista sentado ao seu lado, que aponta para cada engrenagem e diz: "Olha, essa aqui gira para a direita porque o código disse para ela girar para a direita. Isso faz o ponteiro dos segundos avançar".

Conclusão

O REx86 não é um robô que faz todo o trabalho de desmontar o vírus sozinho (ainda não chegamos lá). Mas ele é a melhor ferramenta local e segura que já foi criada para ajudar os humanos a entenderem o que está acontecendo dentro dos códigos mais difíceis. Ele transforma um texto ilegível em uma história que faz sentido, tornando o trabalho de segurança cibernética mais rápido e menos propenso a erros.

E o melhor de tudo? Eles colocaram esse "super-estagiário" e todo o material de estudo na internet, de graça, para que qualquer pessoa possa usá-lo e melhorá-lo.