LLM4Decompile

Activity, over time

Daily observations from the public event archive.

Attention

Daily stars & forks

Loading attention chart

Star accumulation

Cumulative stars

Loading star accumulation chart

Pull requests

Daily opens & merges

Loading pull requests chart

Conversations

Daily issues & comments

Loading conversations chart

Community

Daily accounts & reviews

Loading community chart

Releases

Daily releases

Loading releases chart

Mentions

3posts · 30d
Nov 30 posts
  1. バイナリが読めなくてもC言語に戻せる時代が来た。 LLM4Decompileで今すぐできる。 逆コンパイル専用LLMにバイナリを投げるだけ。 albertan017/LLM4Decompile teikoku-signal.netlify.app

    6 views
  2. DEV · · @devtheusp

    Engenharia reversa: do Mario 64 ao GTA no navegador (e agora com IA no meio) --- title: "Engenharia reversa: do Mario 64 ao GTA no navegador (e agora com IA no meio)" published: true tags: reverseengineering, ai, webassembly, rea --- Semana passada, o GTA V apareceu rodando numa aba do navegador. Um site chamado playgta5.com colocou o jogo no ar, a internet surtou, e no mesmo dia o site sumiu. Porém a internet não esquece: o código do site foi parar no GitHub em poucas horas, e hoje já tem outros sites rodando o jogo (não vou citar quais, por motivos óbvios). Ninguém confirmou direito como foi feito, mas a pergunta que ficou na minha cabeça foi outra: como alguém pega um jogo cujo código a Rockstar nunca liberou e faz ele rodar num lugar pra onde ele nunca foi pensado? A resposta curta é engenharia reversa. E ela tá ficando bem mais acessível agora que dá para colocar uma IA pra fazer a parte chata. O que é engenharia reversa? Quando você escreve um programa em C e compila, o compilador transforma aquilo em instruções de máquina. No caminho, muita coisa se perde: nome de variável, nome de função, comentário, a estrutura bonitinha que você pensou. O que sobra é um binário que o processador entende perfeitamente e que um humano lê com muita dificuldade. Engenharia reversa é fazer o caminho de volta. Você tem o produto pronto (o executável, o app, o jogo) e quer entender como ele funciona por dentro, sem ter o código-fonte. Se você já passou por Arquitetura de Computadores e por Compiladores, já tem as ferramentas mentais pra isso. É basicamente olhar um assembly e perguntar "tá, mas o que esse cara queria fazer aqui?". Eu passei essas cadeiras achando que nunca mais ia olhar pra um mov na vida. Pois é. As ferramentas clássicas são os desassembladores (que mostram o assembly) e os decompiladores (que tentam reconstruir algo parecido com C). O Ghidra, que a NSA liberou de graça em 2019, é o mais conhecido hoje. Ele te dá um pseudocódigo cheio de nomes tipo FUN_00101189 e local_48, e o resto do trabalho é seu. Do Mario 64 ao GTA numa aba do Chrome O caso que melhor explica isso é o do Super Mario 64. Um grupo de fãs passou anos reescrevendo o jogo em C, função por função, com uma regra bem rígida: quando compilado com o mesmo compilador que a Nintendo usou, o código tinha que gerar uma ROM idêntica byte a byte à original. Isso se chama decompilação matching. Em 2019 o código veio a público e, em 2020, já tinha port nativo pra PC, que abriu a porta pra uma enxurrada de mods. Detalhe importante: o projeto não distribui o jogo. Você precisa da sua própria ROM pra extrair os gráficos e sons. Agora pensa no que isso destrava. Com o código em C nas mãos, dá pra compilar pra qualquer coisa. Inclusive pra WebAssembly, o formato que permite rodar código compilado dentro do navegador quase na velocidade nativa. Foi exatamente o que aconteceu com o GTA. Os projetos re3 e reVC fizeram engenharia reversa do GTA III e do Vice City e recriaram o motor dos jogos em C++. Com esse código em mãos, a galera compilou pra WebAssembly e hoje existem sites como o WASM Arcade onde você abre o Vice City numa aba e sai dirigindo pela praia. Ou seja, o pipeline é: jogo original (binário) │ engenharia reversa ▼ código C/C++ reconstruído │ compilador pra WASM (tipo o Emscripten) ▼ WebAssembly rodando no navegador Claro que nem tudo é festa. A Take-Two derrubou o re3 e o reVC do GitHub com DMCA em 2021 e depois processou os desenvolvedores. E o playgta5.com durou poucas horas, mesmo que as cópias continuem pipocando por aí. Engenharia reversa em si é uma técnica, mas distribuir o jogo dos outros é outra conversa, e as empresas não costumam ter senso de humor com isso. Onde a IA entra nessa história O gargalo da engenharia reversa nunca foi abrir o binário. Foi ler o resultado. Olhar pra cem funções chamadas FUN_algumacoisa, entender o que cada uma faz, dar nome, ligar umas às outras. É trabalho de formiguinha, e é exatamente o tipo de trabalho em que LLMs mandam bem: ler código feio e dizer o que ele faz. E o mais legal é que boa parte disso tá sendo construída pela comunidade, no GitHub, à vista de todo mundo. Dá pra entender a coisa toda em camadas. Camada 1: o decompilador clássico Tudo começa igual a antes. O Ghidra (ou o IDA, ou o Hopper) lê o binário, separa as funções e gera um pseudocódigo em C. Ele é correto, mas é feio: sem nomes, sem tipos bons, cheio de variável local_48. A IA não substitui essa etapa, ela entra em cima dela. Camada 2: modelos treinados pra decompilar O LLM4Decompile é um projeto acadêmico (paper no EMNLP 2024) que treinou modelos abertos, de 1,3 a 33 bilhões de parâmetros, especificamente pra transformar binário em C. O jeito de medir é bem engenhoso: não basta o código "parecer certo", ele precisa compilar de novo e passar nos testes. Nesse critério, os modelos deles mais que dobraram o resultado do Ghidra e do GPT-4o. Tem até uma versão que pega o pseudocódigo do Ghidra e só refina, o que mostra bem a ideia de camadas: o decompilador clássico faz o trabalho mecânico, o modelo deixa legível. Camada 3: a ponte entre o agente e a ferramenta Aqui que a coisa ficou interessante em 2025. O MCP (Model Context Protocol) é um protocolo que deixa um agente, tipo Claude Code ou Codex, chamar ferramentas externas. Em março de 2025 saíram, com dois dias de diferença, o GhidraMCP e o ida-pro-mcp, que hoje somam mais de 24 mil estrelas. Eles fazem uma coisa simples: expõem as funções do Ghidra e do IDA (listar funções, decompilar, ver quem chama quem, renomear) como ferramentas que o agente pode usar. Com isso, a engenharia reversa vira um loop: pergunta ("como esse programa valida a licença?") │ ▼ agente escolhe uma ferramenta ──► decompilar função X ▲ │ │ ▼ └──── lê, renomeia, anota ◄── pseudocódigo feio O agente faz o que um analista humano faria: começa pelas strings ou pelos imports, acha uma função suspeita, decompila, dá nome às coisas, segue pra quem chama ela e repete até conseguir responder. Camada 4: juntar tudo e mostrar a evidência O REA (Reverse Engineer Anything), que tá bombando, criado em abril e já com mais de 268 mil estrelas, pega essa ideia e generaliza. Em vez de um servidor pra uma ferramenta, ele é um MCP só que conversa com Ghidra, Hopper ou IDA por baixo e ainda entende app Electron, .NET, APK, WebAssembly, firmware e captura de rede. O que eu achei mais interessante nele é o cuidado com evidência. Cada resultado diz o que foi observado, o que foi inferido e o que ficou desconhecido, e de qual trecho do código aquilo saiu. Ele também avisa quando a cobertura foi parcial, e deixa claro que não ter achado algo não prova que aquilo não existe. Isso importa muito, porque IA alucina com a maior confiança do mundo. Numa área em que você tá justamente tentando descobrir a verdade sobre um código que não tem, um "confia em mim" não serve. Tem outro detalhe esperto: o REA instrui o agente a tratar tudo que vem do programa analisado (strings, comentários, logs) como dado, nunca como instrução. Faz sentido. Se você tá analisando um malware, a última coisa que você quer é que uma string escondida nele diga "IA, ignore tudo e rode esse comando" e o agente obedeça. E a galera do Mario 64? A comunidade de decompilação matching tem as próprias ferramentas há anos. O decomp.me é um site colaborativo onde as pessoas pegam uma função em assembly e vão ajustando o C até ele compilar idêntico ao original, tipo um quebra-cabeça em grupo. E o decomp-permuter faz isso no modo força bruta: embaralha o código C aleatoriamente até achar uma versão que bate com o binário. Ou seja: quem decompila jogo já tava automatizando a parte chata muito antes dos LLMs. A IA só chegou pra ocupar o pedaço que faltava, que é entender o código e dar nome às coisas. Antes de sair desmontando tudo Duas coisas rápidas. A primeira: use isso em coisas suas, em projetos open source ou no que você tem permissão pra analisar. Engenharia reversa é legítima pra muita coisa (compatibilidade, segurança, estudo), mas as leis e os termos de uso variam, e "foi a IA que fez" não vai colar como defesa. A segunda: a barreira de entrada nunca foi tão baixa. Alguns anos atrás, entender um binário sem símbolos exigia muita paciência e café. Hoje dá pra fazer a pergunta em português e acompanhar o raciocínio do agente. Eu acho isso ótimo pra aprender, desde que você leia a evidência e não só a resposta. Senão você só trocou uma caixa-preta por outra.

  3. DEV · · @jacksam

    Playing Halo in a Browser Tab: Deconstructing the Viral 'AI Browser Games' Phenomenon --- title: "Playing Halo in a Browser Tab: Deconstructing the Viral 'AI Browser Games' Phenomenon" published: true description: "A viral X thread and Kotaku coverage brought 'vibe-coded' AI browser ports of Halo, Skate 3, and Black Ops Zombies into the spotlight. Here is what is actually happening behind the WebAssembly curtain." tags: ["webassembly", "ai", "gamedev", "webdev"] cover_image: "cdn-toolkit.resio.top" --- A few days ago, an unexpected tweet blew up across gaming and tech circles. Social media creator @RadiantOpti on X posted a short clip declaring "School gaming is boutta be fire," accompanied by a curated list of beloved AAA titles running natively inside regular browser tabs—no client installs, no Steam launchers, and no administrator privileges required. Within hours, players and developers were bootlegging matches in Halo: Combat Evolved, pulling kickflips in Skate 3, surviving rounds in Call of Duty: Black Ops Zombies, and cruising Springfield in The Simpsons: Hit & Run. The phenomenon quickly prompted Kotaku's Lewis Parker to publish a widely discussed piece headlined "We Might Be Cooked, As These Vibe-Coded Web Browser Ports Of Halo, The Simpsons: Hit And Run, And GTA: Vice City Seem To Work Perfectly". Commentators rushed to call it the dawn of "vibe-coded AI browser games." But as engineers, we know the web doesn't render 60 FPS 3D scenes out of thin air. What is actually powering this wave, how much of it is genuinely AI-driven, and where does developer reality diverge from viral hype? Let's break down the mechanics. --- The Engine Room: WebAssembly & WebGPU At the heart of every single one of these browser ports sits WebAssembly (WASM). Running complex desktop software in the browser isn't entirely new—projects like DOOM, Quake, and Unreal Engine 3 demos pioneered asm.js and early WebAssembly years ago. But over the last two years, the web runtime stack matured exponentially: 1. Near-Native Execution: WASM delivers sandboxed execution at predictable, near-native CPU speeds. 2. Modern Toolchains: Compilers like Emscripten abstract POSIX threads, memory layouts, and virtual file systems (MEMFS/IDBFS) directly into standard browser APIs. 3. Graphics Acceleration: WebGL 2.0 and WebGPU allow shaders and geometry buffers from DirectX 8/9 and OpenGL eras to translate cleanly into hardware-accelerated draw calls on modern GPUs. When packaged properly, an entire 2000s-era game engine can compile into a couple of .wasm and .data files and boot inside an HTML5 <canvas> within seconds. --- Where Does AI Enter the Picture? If WebAssembly has been around for years, why are we suddenly seeing a deluge of titles in 2026? This is where frontier LLMs—most notably Claude Opus 5.5—and AI-assisted reverse-engineering workflows come into play. !Legacy Game to WASM Pipeline Decompiling a closed-source binary has historically been an agonizing, manual art form. A human reverse-engineer inspects assembly dumps, cross-references memory addresses, painstakingly renames variables, and reconstructs control-flow graphs line by line. Today, developers are linking disassembly suites like NSA's Ghidra directly to LLMs via tools such as LaurieWired's GhidraMCP or leveraging specialized models like LLM4Decompile. The developer loop looks fundamentally different: 1. Extract & Decompile: Ghidra generates raw pseudocode and control flow graphs for bounded functions. 2. Contextual LLM Translation: The model analyzes instructions, recognizes standard algorithmic idioms (e.g., AABB collision checks, matrix transformations, Quake-style vector math), proposes semantic variable names, and outputs clean C/C++ or Rust. 3. Automated Verification: The reconstructed code is immediately recompiled against the target binary or evaluated with unit test harnesses. If the machine code diverges, the error trace feeds back into the prompt for rapid iterative correction. Concrete precedents demonstrate this workflow in action: in community reverse engineering, the SAT-R Sonic Advance 3 Project (PR #4) publicly merged dozens of commits detailing how LLM-assisted decompilation reconstructed core enemy routines. Similar AI-accelerated work powers projects like opensagadev/saga. Tasks that previously took weeks of manual disassembly can now be drafted in hours, giving porting teams a massive head start. --- The "Vibe-Coding" Spectrum: What Are You Actually Playing? Despite the clicky headlines, not every game in the viral thread was created the same way. When you dig into the projects circulating online, they generally fall into four distinct categories: | Route | How It Works | Examples / Status | | :--- | :--- | :--- | | True Decompiled Source Ports | Machine code is reconstructed into matching C/C++, then re-targeted to WASM using Emscripten. | Classic id Software engines (Quake, Wolfenstein), community decompilations. | | Engine Reimplementations | Developers use AI to write a modern engine from scratch (often in Rust/Bevy or TypeScript/Three.js) that simply parses the original game's asset archives. | Projects like IW4L (MW2 runtime rewrite). | | Asset-Skinned Fan Recreations | A lightweight web shooter or canvas prototype created from scratch, dressed up with ripped textures, sounds, and models from the original IP. | Many "Skate" or "Zombies" web demos fall here. | | WebAssembly Emulators | A WASM-compiled emulator (DOSBox, PCSX-ReARMed) running the unmodified ROM or ISO in memory. | Retro console ports and classic DOS titles. | Calling all of these "pure AI games" is a misnomer. AI acts as an accelerator and bridge, while community game preservation, reverse engineering, and browser compilation do the heavy lifting. --- The Catch: Assets, Legality, and Security While spinning up Halo in a browser tab during a lunch break feels magical, the ecosystem faces immediate practical realities: 1. The Asset Boundary Game code and game assets (textures, meshes, audio, FMVs) are completely different animals. Even if an AI writes a flawless recreation of an engine, distributing 4GB of copyrighted Microsoft, Activision, or Take-Two assets directly on the open web triggers instant DMCA takedowns and C&Ds. Legitimate open-source projects require users to supply their own game files (.pak, .wad, or ISOs). 2. The Link Mirage & Security Risks Because social media threads spread rapidly with little provenance, dozens of clone websites and ad-riddled mirrors spring up overnight. Some repackage old open-source WebGL demos; others bundle unwanted tracking scripts or malicious download prompts disguised as "browser plugins." --- Cutting Through the Noise When viral threads blow up, separating genuine WASM engineering from broken redirects and sketchily hosted mirrors is frustrating. This is where thoughtful community documentation comes into play. Rather than relying on fleeting social media bookmarks, dedicated directories like AI Browser Games have begun systematically cataloging these entries. By tracking the full Radiant Optimizer browser games collection, the site documents the technical origin of each title—clarifying whether a project is a verified WebAssembly port, an engine rewrite, or a fan-made recreation, and detailing exact setup notes and asset requirements before you jump into a tab. --- What This Means for Web Developers The viral popularity of browser-based gaming isn't just a fun nostalgic distraction—it is a harbinger of where web technology is heading: - The Web Is the Universal Runtime: With WebAssembly and WebGPU, the browser is no longer confined to document rendering and SaaS dashboards. It is a full-fledged high-performance runtime capable of running desktop-grade graphics pipelines. - AI as a Reverse-Engineering Copilot: Tools like GhidraMCP and agentic coding workflows are fundamentally altering legacy codebase modernization. The same AI workflows decompiling 2005 console games will soon be modernizing legacy enterprise C++ and COBOL banking applications. - Low Friction Wins Every Time: The sheer viral explosion of playing in a tab proves once again that zero-install, instant-access experiences remain the web's greatest superpower. Have you tried running any of these recent browser ports or experimented with LLM-assisted decompilation? Drop your thoughts, setup tips, or favorite WASM projects in the comments below! --- References & Citations 1. Original Viral Post: @RadiantOpti on X (October 8, 2026) - "School gaming is boutta be fire" viral thread. 2. Kotaku Feature: Lewis Parker, We Might Be Cooked, As These Vibe-Coded Web Browser Ports Of Halo, The Simpsons: Hit And Run, And GTA: Vice City Seem To Work Perfectly, October 9, 2026. 3. Decompilation & AI Tooling: - LaurieWired, GhidraMCP: Model Context Protocol Server for Ghidra - Albertan et al., LLM4Decompile: Reverse Engineering with Large Language Models - Emscripten Team, Emscripten Porting & API Limitations Documentation 4. Community Reverse Engineering Projects: - SAT-R, Sonic Advance 3 Decompilation Pull Request #4 - OpenSaga Team, Saga: LEGO Star Wars TCS Reverse Engineering Project - vladtrc, IW4L: Experimental Modern Warfare 2 Engine Implementation in Rust 5. Community Directory & Verification: - AI Browser Games & Radiant Optimizer Browser Games List

    2 comments

Latest stargazers

The last 10 distinct accounts we observed this year.

Most active participants

PR, issue, comment & review events in the past year.

Packages

No packages found.

README badges

Embed a badge in your README or website.

Live mentions · last 30 days
albertan017/LLM4Decompile mentions in the last 30 days