decomp.wtf là công cụ chạy local. Bạn trỏ AI agent đang dùng (Claude Code, Codex, Antigravity CLI, opencode) vào một game mình sở hữu, nó dịch ngược từng hàm assembly về C. Mấu chốt nằm ở vòng kiểm tra: agent viết xong một hàm, decomp.wtf biên dịch bằng đúng compiler gốc của game, link vào đúng địa chỉ thật, rồi so với ROM từng byte một. Sai một byte là trượt.
Nó không sinh ra code trông giống assembly. Nó sinh ra code C mà khi build lại cho ra đúng file nhị phân ban đầu. Cộng đồng reverse engineering vẫn làm matching decompilation bằng tay nhiều năm nay. Giờ phần đó được giao cho agent.
Nó giải quyết bài toán gì cụ thể
Dịch ngược một game N64 hay GameCube theo kiểu matching decomp là việc cực nhàm chán và tốn thời gian. Một dự án decomp có thể ngốn nhiều năm với hàng chục người đóng góp, chỉ để biến file ROM thành source C build lại ra đúng byte y hệt. Mỗi hàm phải viết đi viết lại, chỉnh từng dòng, đổi thứ tự biến, đổi kiểu dữ liệu, cho đến khi compiler sinh ra đúng chuỗi lệnh assembly. Người làm phải nắm compiler cụ thể của thời kỳ đó, ví dụ IDO cho N64, Metrowerks cho GameCube.
decomp.wtf đẩy vòng lặp đó cho agent. splat và spimdisasm quét ROM để tìm mọi hàm và symbol dữ liệu, nhận diện compiler đã build game. Agent nhận assembly của một hàm, dữ liệu nó chạm vào, ai gọi nó, bản nháp do m2c tạo sẵn, và ghi chú từ các lần thử trước. Mỗi lần thử được biên dịch, link, so sánh. Trượt thì trả về diff lệnh. Khớp thì lưu lại, đặt tên, chia sẻ cho mọi agent khác đang chạy song song.
Có hai đường vào. Một là bắt đầu từ con số không: đưa ROM N64, đĩa PlayStation 1 hoặc 2, GameCube, Wii, Game Boy Advance, DS, agent tự tìm hàm và làm từ đầu, kết quả là dự án build lại game byte for byte. Hai là nối tiếp một dự án decomp công khai: chọn trong 245 dự án trên decomp.dev (GameCube, Wii, PS1, PS2, N64, GBA, DS, Switch, PC, Xbox 360…), thêm bản game bạn sở hữu, agent làm tiếp trong chính source code thật của dự án đó.
Với GameCube và Wii, mục tiêu là mọi file đều được link, tức game build hoàn toàn từ C mà vẫn ra đúng byte. Đó là điểm khởi đầu cho một bản port native lên PC.
Toàn bộ chạy trên máy bạn. Không tài khoản, không telemetry, không upload gì lên mạng.
Vì sao nó được chú ý
Repo mới tạo ngày 13/10/2026, cập nhật lần cuối ngày 15/10/2026, và đã có 490 sao. Hai ngày, 490 sao, với một công cụ đụng đến chủ đề nhạy cảm là AI và decompilation.
Nhưng có chi tiết quan trọng hơn cả số sao: tác giả đã archive repo và ngừng phát triển. Trong README, anh viết rằng trong vài ngày gần đây nhận ra phần lớn cộng đồng decompilation, những người đã làm ra các công cụ và dự án mà decomp.wtf dựa vào, phản đối cách AI dịch ngược kiểu này. Tác giả nói không làm ra công cụ để gây hại, tôn trọng ý kiến đó, nên dừng lại.
Đây là chỗ khác biệt lớn so với phần lớn dự án mã nguồn mở khác. Nó không chết vì thiếu người dùng hay thiếu tiền. Nó dừng vì áp lực từ chính cộng đồng mà nó phục vụ. Code vẫn nằm đó dưới giấy phép MIT, ai muốn fork thì fork, nhưng tác giả sẽ không fix issue, review PR hay ra bản mới. Bản cài được vẫn chạy, chỉ là không có update. Bản cuối là 0.10.6.
Bản thân công cụ cũng đáng để xem về mặt kỹ thuật. Việc dùng compiler gốc của thời kỳ đó (được pin phiên bản và verify checksum) làm tiêu chuẩn đánh giá là cách duy nhất để đảm bảo matching decomp. Chấp nhận điểm 0 hoặc không tính, không có gần đúng. Cộng thêm MCP server để agent bên ngoài gọi được công cụ, và khả năng chạy nhiều agent song song trên các hàm khác nhau.
Cài và chạy thử
decomp.wtf chạy trên Linux, và trên Windows (hỗ trợ chính thức nhưng vẫn chưa ổn định). macOS không được hỗ trợ. Lý do: các compiler nó chạy là chương trình Linux, nên trên Windows nó chạy trong một WSL 2 distribution nhỏ tên decomp-wtf.
Trên Linux:
curl -fsSL https://decomp.wtf/install.sh | bash
Nếu mạng của bạn không vào được decomp.wtf, dùng installer từ GitHub (nó cũng cài bản release từ GitHub):
curl -fsSL https://raw.githubusercontent.com/i12bp8/decomp.wtf/main/site/public/install.sh | bash
Trên Windows, chạy trong PowerShell:
irm https://decomp.wtf/install.ps1 | iex
Script này bật WSL 2 nếu chưa bật (Windows sẽ hỏi quyền một lần, có thể cần khởi động lại), tạo Linux riêng từ image WSL chính thức của Debian, rồi cài mọi thứ vào đó. Bạn có lệnh decomp, một mục trong Start menu và shortcut desktop. Project nằm ở \\wsl.localhost\decomp-wtf\home\decomp\Decomp.
Một dòng cài hết: uv, app, các compiler thời kỳ (pin phiên bản và verify checksum) và decompiler nháp m2c. Sau đó nó tự mở decomp.wtf trong browser. Muốn chạy lại thì mở từ app menu hoặc gõ decomp trong terminal.
Không có ROM trong tay? App có sẵn Demo Quest 64, một ROM N64 thật build từ code public domain và zlib. Mở từ màn hình chính và xem agent làm việc.
Nếu bạn đã sống trong Claude Code, Codex, Antigravity CLI hay opencode, chỉ cần đưa công cụ của decomp.wtf cho nó một lần:
decomp connect
Rồi hỏi ngay trong terminal của bạn:
decompile my game at ~/roms/game.z64
Nó xác nhận game là bản bạn sở hữu, import, mở live view để bạn xem, rồi làm việc với đủ bộ công cụ: compiler gốc, bộ chấm byte-for-byte, autopilot, các helper agent chạy song song qua start_agents, và export build lại được. Phía sau là decomp mcp, một MCP server tự khởi động app khi cần. Bạn cũng có thể tự thêm: claude mcp add decomp -- decomp mcp.
Cài dưới dạng package cho từng agent: Claude Code thì /plugin marketplace add i12bp8/decomp.wtf rồi /plugin install decomp-wtf@decomp-wtf (thêm skill “decompile”). Codex, Antigravity CLI, opencode thì decomp connect codex, decomp connect antigravity, decomp connect opencode.
Ai nên dùng, và dùng thế nào
Rõ ràng nhất là những người làm reverse engineering cho retro console. Nếu bạn đang tham gia hoặc muốn tham gia một dự án decomp N64, GameCube, Wii, việc có một agent làm các hàm nhàm chán trong khi bạn xử lý phần khó là hữu ích thật. Đặc biệt khi nối tiếp dự án công khai có sẵn, agent làm việc trong source code thật của dự án, không phải trong chân không.
Nhóm thứ hai là người muốn port game cũ lên PC. Với GameCube và Wii, khi mọi file đã link được và game build từ C mà vẫn ra đúng byte, bạn có điểm khởi đầu vững cho một bản port native, thay vì phải vật lộn với binary.
Nhóm thứ ba là dev tò mò về matching decompilation nhưng chưa từng làm. Có sẵn Demo Quest 64 để nghịch mà không cần ROM, cộng với live view xem agent làm từng bước, là cách học khá trực quan.
Còn nếu bạn chỉ muốn chơi lại game cũ, công cụ này không dành cho bạn. Nó không phải giả lập, không phải patch, nó tạo ra source code.
So sánh nhanh
Về matching decompilation, có các dự án như splat (tách ROM thành assembly và data), m2c (sinh bản nháp C từ assembly), và các dự án decomp cụ thể như zeldaret hay các dự án trên decomp.dev. decomp.wtf không thay thế chúng, nó ghép chúng lại và thêm vòng lặp tự động của agent. splat và spimdisasm được dùng để tìm hàm, m2c tạo bản nháp đầu tiên. Phần mới là compiler gốc làm trọng tài, và agent tự sửa cho đến khi khớp.
Tôi không biết công cụ nào khác làm đúng việc này ở quy mô tương tự và chạy hoàn toàn local. Nếu bạn biết, đáng để so.
Ưu, nhược và những điều cần biết
Ưu điểm thực tế: chạy local, không upload gì, không tài khoản. Dùng compiler gốc thay vì đoán, nên kết quả khớp byte có nghĩa thật. MCP server cho phép dùng từ agent ngoài. Có sẵn dự án công khai để nối tiếp. Install một dòng.
Hạn chế: repo đã archive, không có update, không fix bug. Windows vẫn chưa ổn định. macOS không hỗ trợ. GameCube, Wii, N64 là nền tảng được khuyến nghị, các nền tảng còn lại đang beta. Cần có game bản quyền của chính bạn, không có ROM lậu.
Điều đáng cân nhắc nhất: chính cái archive. Tác giả dừng vì cộng đồng decomp phản đối, và README ghi rõ nhiều dự án không muốn nhận đóng góp do AI tạo ra. Nếu bạn fork và dùng, hãy đọc quy định của dự án bạn đang làm cùng trước khi đóng góp code do agent sinh ra. Đây không phải cảnh báo hình thức, nó là lý do công cụ này đã dừng.
License MIT, code vẫn dùng được, fork được. Tài liệu nằm ngay trong README, khá đầy đủ cho một công cụ đã dừng phát triển.
Nhận xét cuối
decomp.wtf là một thử nghiệm kỹ thuật nghiêm túc về việc dùng AI agent cho matching decompilation, và vòng lặp biên dịch bằng compiler gốc, so từng byte là cách làm đúng. Nó dừng sau 2 ngày và 490 sao vì lý do văn hóa cộng đồng, không phải vì kỹ thuật. Nếu bạn tò mò, cứ cài bản 0.10.6 và nghịch Demo Quest 64, nhưng đừng chờ bản vá nào cho các issue bạn gặp. Repo ở đây: i12bp8/decomp.wtf.
