Tópicos › Descompilação e recompilação
13 conversas · anos 9 do grupo

O tema aparece apenas no ano 9 do grupo (novembro de 2025 a outubro de 2026), e a maior parte do trabalho apresentado foi de Macabeus. Ele abriu o repositório do Mizuchi, que automatiza o ciclo de matching decompilation com LLMs: gerar código C, compilar e comparar o resultado com o binário-alvo. Mostrou a interface de relatórios e comentou que automatizar a descompilação inteira com o Claude sairia caro demais e pediria uma solução self-hosted; Hugo e Francisco sugeriram o opencode. Depois Macabeus publicou o resultado de dois meses de trabalho num pipeline de benchmark de LLMs em dois jogos retrô, com 74% de match em média e 88% de determinismo entre execuções. Também apresentou o Transmuter, alternativa ao decomp-permuter que gera variações de código para encontrar a que melhor corresponde ao assembly de uma função, com suporte a outras linguagens além de C, integração com agentes e uma etapa de limpeza. Num capítulo seguinte da pesquisa, comparou o Fable 5 com o Sonnet 4.6 em 55 funções de Sonic Advance 3 e Animal Forest: o Fable venceu em algumas funções difíceis e estabilizou outras em que o Sonnet falhava, a um custo cerca de 4 vezes maior.
O caso prático foi a matching decompilation de Klonoa: Empire of Dreams (GBA), cujo repositório Macabeus abriu no grupo. Felipe "Juca" Sanches propôs colaborar com o que tinha aprendido usando o Claude Code e treinar agentes no hardware do GBA. Ele enviou um PR e publicou páginas sobre o jogo, incluindo música e um fluxograma. O projeto chegou a 50%. Ao nomear, por análise em runtime, a função que ativava um minigame, o Claude Code encontrou um easter egg escondido havia 25 anos. Macabeus achou primeiro que fosse alucinação, mas confirmou que era real, e escreveu um capítulo sobre o trabalho: três novas ferramentas, um caso de IA pega trapaceando e o easter egg. Mais tarde ele contou que o próprio decomp estava meio abandonado. Uma descompilação paralela, iniciada por testyourmine sem uso de IA, chegou a 100%, e Shideravan compartilhou o recomp.fyi, uma lista de projetos de recompilação que inclui a descompilação do Klonoa.
Ao mesmo tempo, o grupo acompanhou projetos de recompilação e descompilação de terceiros. L. compartilhou o PS2Recomp, recompilador estático de binários de PlayStation 2, um artigo sobre a descompilação de um hello world feito em QuickBASIC 3.0 e o ps2-web-recomp, que recompila jogos de PS2 para WebAssembly. L. também noticiou a conclusão da decompilação de Zelda: Twilight Princess e o Dusklight, port do jogo para PC e celulares, e planejou um espelho na Forja do LHC por sugestão de Pedro de Medeiros. Macabeus e Shideravan discutiram como o público leigo confunde descompilação, recompilação (estática ou dinâmica), ports e recriações, e notaram que falta um termo que abranja todos. Comentaram ainda o decomp do Super Mario 64, que foi mantido em segredo.
Ano a ano: Ano 9
Macabeus publicou o Mizuchi, o Transmuter e benchmarks de LLMs em matching decompilation (74% de match em média; Fable 5 contra Sonnet 4.6 em 55 funções). O decomp de Klonoa: Empire of Dreams que ele começou, com um PR de Felipe "Juca" Sanches, chegou a 50% e revelou um easter egg escondido havia 25 anos, e um decomp paralelo iniciado por testyourmine sem IA chegou a 100%. O grupo também acompanhou o PS2Recomp, o ps2-web-recomp e a conclusão do decomp de Zelda: Twilight Princess, e discutiu como se distinguem descompilação, recompilação e ports.
O Mizuchi automatiza a geração, a compilação e a comparação de código C. O Transmuter gera variações de código, e os benchmarks compararam modelos em funções de jogos retrô.
Macabeus abriu o repositório do Mizuchi, que automatiza o ciclo de gerar código C com LLMs, compilar e comparar com o binário-alvo em projetos de matching decompilation. Ele mostrou a interface de relatórios. Hugo e Francisco indicaram o opencode, e Macabeus disse que, para automatizar por completo a descompilação, depender do Claude seria caro demais e precisaria de uma solução self-hosted.
Macabeus publicou o resultado de dois meses de desenvolvimento de um pipeline de benchmark de LLMs para matching decompilation em dois jogos retrô: 74% de match em média e 88% de determinismo entre execuções.
Macabeus explicou que o Transmuter gera variações de código para encontrar a que melhor corresponde ao assembly de uma função, como alternativa ao decomp-permuter, com suporte a outras linguagens além de C, integração com agentes e etapa de limpeza.
Macabeus publica um novo capítulo da sua pesquisa com matching decompilation. Ele compara o Fable 5 com o Sonnet 4.6 em 55 funções de dois jogos retrô (Sonic Advance 3 e Animal Forest): o Fable venceu em algumas funções difíceis e estabilizou outras em que o Sonnet falhava, a um custo cerca de 4 vezes maior.
Felipe propôs colaborar e enviou um PR ao projeto de Macabeus, que chegou a 50% e encontrou um easter egg escondido havia 25 anos. A descompilação iniciada por testyourmine, sem IA, chegou a 100%.
Macabeus abriu o repositório de matching decompilation do Klonoa: Empire of Dreams (GBA). Felipe "Juca" Sanches propôs colaborar usando o que aprendeu com o Claude Code e treinar agentes no hardware do GBA, enviou um PR e publicou páginas sobre o jogo em seu GitHub Pages (incluindo música e fluxograma). Macabeus apresentou o Mizuchi e explicou que o jogo foi licenciado pela Namco, mas desenvolvido pela Now Productions; Pablo citou o uso de Claude por Manuel Pazos no driver de som SCC da Konami.
Macabeus informa que seu projeto de descompilação do Klonoa chegou a 50%. Ao nomear, por análise em runtime, a função que ativava um minigame, o Claude Code encontrou um easter egg que estava escondido havia 25 anos. Macabeus achou primeiro que fosse alucinação, mas confirmou que era real. Depois publica um novo capítulo da série, sobre a descompilação de um jogo de GBA de 2001 com IA, com três novas ferramentas, um caso de IA pega trapaceando e o easter egg.
Macabeus e Shideravan discutem a confusão entre descompilação, recompilação (estática ou dinâmica), ports e recriações, termos cada vez mais usados como sinônimos pelo público leigo, e a falta de um termo guarda-chuva. Shideravan apresenta o Quiver Launcher, que reúne projetos open source. Macabeus conta que seu decomp do Klonoa está meio abandonado e que outra pessoa, inspirada nele e sem usar IA, fez outro decomp do mesmo jogo, já 99% completo. Os dois também comentam o decomp do Super Mario 64, que foi mantido em segredo, e os takedowns de vídeos no YouTube.
Macabeus noticiou que a descompilação do Klonoa: Empire of Dreams, iniciada por testyourmine, chegou a 100% sem uso de IA.
Shideravan compartilhou o recomp.fyi, lista de projetos de recompilação que inclui a descompilação do Klonoa.
O grupo acompanhou o PS2Recomp, o ps2-web-recomp e a descompilação do Zelda: Twilight Princess. Também discutiu a diferença entre descompilação, recompilação, ports e recriações.
L. compartilhou o PS2Recomp, recompilador estático de binários de PlayStation 2, aparentemente feito por um brasileiro. Robson França indicou o port de Donkey Kong para o Tandy Color Computer 3 feito por Sock Master, e Pedro de Medeiros achou a página original no Wayback Machine.
L. compartilhou um artigo que descompila um programa hello world compilado com QuickBASIC 3.0.
L. noticiou a conclusão da decompilação do Zelda: Twilight Princess e compartilhou o repositório do Dusklight, porte para PC e celulares; contou que já o clonou e, após sugestão de Pedro de Medeiros, planejou um espelho na Forja do LHC.
Macabeus e Shideravan discutem a confusão entre descompilação, recompilação (estática ou dinâmica), ports e recriações, termos cada vez mais usados como sinônimos pelo público leigo, e a falta de um termo guarda-chuva. Shideravan apresenta o Quiver Launcher, que reúne projetos open source. Macabeus conta que seu decomp do Klonoa está meio abandonado e que outra pessoa, inspirada nele e sem usar IA, fez outro decomp do mesmo jogo, já 99% completo. Os dois também comentam o decomp do Super Mario 64, que foi mantido em segredo, e os takedowns de vídeos no YouTube.
L. compartilhou o ps2-web-recomp, que recompila jogos de PS2 para WebAssembly. Guilherme Ranoya citou o FoxScript, que roda scripts FoxPro, e contou que montou um ambiente de ensino com emuladores de Apple II e MSX para BASIC e Logo. Discutiram também a compatibilidade entre VB6 e VB.NET.
Índice escrito por agentes Claude que leram o log completo de cada período. Um segundo agente conferiu cada conversa contra as mensagens, e um terceiro conferiu os resumos do ano e dos temas contra as conversas. Pode conter imprecisões: cada item leva às mensagens originais. Para procurar palavras específicas, use a busca.