> @encounter Luke Street

I build tools for game decompilation and reverse engineering, with a focus on GameCube and Wii.

Projects

objdiff

Rust TypeScript Star

Diffing tool for decompilation projects

objdiff compares object files across functions and data. It supports ARM, ARM64, MIPS, PowerPC, SuperH, and x86(-64). It provides a GUI, TUI, and JSON output for integration with other tools and agentic workflows.

The core diffing engine compiles to WASM and runs as a web frontend in decomp.me and as a VS Code extension. Its progress reporting system powers decomp.dev.

decomp.dev

Rust Star

Progress hub for decompilation projects

decomp.dev tracks progress for more than 80 decompilation projects. With data driven by objdiff’s progress reports, it provides granular information down to individual translation units and functions, plus a tree view for exploring project structure. Projects can categorize units, track multiple game versions, and navigate full commit-by-commit history.

All of this information is also exposed through its API, along with a badge system for embedding live progress in project READMEs.

wibo

C++ Star

Lightweight Win32 binary loader for Linux and macOS

wibo runs 32-bit Windows command-line tools with minimal overhead. It implements a substantial portion of the Win32 API: file I/O, threading, heap management, DLL loading, TLS, and async I/O with platform-specific backends (io_uring, epoll, kqueue).

On 64-bit hosts, it constrains the guest address space to the lower 2GB and bridges calling conventions with generated trampolines. Runs on macOS under Rosetta 2.

Used by decomp.me to run containerized Windows compilers.

decomp-toolkit

Rust Star

PowerPC static analyzer, binary delinker, and GameCube/Wii swiss army knife

decomp-toolkit takes a compiled binary and produces fully relinkable objects. Its analyzer handles function and object boundary detection, signature analysis, and rebuilding relocations, all with minimal configuration. dtk-template is a project template and build system built on top of decomp-toolkit.

Its approach to matching decompilation has since been applied to other platforms, including ds-decomp for Nintendo DS and jeff for Xbox 360.

Used by more than 50 decompilation projects, including several now-complete ones like The Legend of Zelda: Twilight Princess and Mario Party 4.

nod

Rust Star

GameCube and Wii disc image library and CLI tool

nod supports reading and converting all GameCube and Wii disc image formats, with a simple and performant API. Open any disc image and get a Read + Seek + BufRead handle. Converting to ISO is just reading from that handle and writing to a file, regardless of the source format. Open a partition and get the same interface, transparently handling Wii encryption and hashing.

Reading and writing are multithreaded, and nod produces smaller disc images faster than both Dolphin and NKit v2. C bindings are available for FFI.

Used by TinyWiiBackupManager.

powerpc-rs

Rust Star

PowerPC disassembler and assembler

powerpc-rs is driven by a declarative instruction set definition that is compiled into Rust at build time, similar to LLVM’s TableGen. It supports the full PowerPC instruction set along with Gekko/Broadway paired singles (GameCube/Wii) and Xenon VMX128 (Xbox 360) extensions.

The disassembler has been fuzzed over all 4.29 billion possible 32-bit instruction values and runs at ~275M instructions per second.

Used as the PowerPC backend for objdiff and decomp-toolkit.

ghidra-panel

Go Java Star

Self-service portal for managing access to shared Ghidra repositories

ghidra-panel integrates with Ghidra Server through an in-process gRPC plugin, allowing repository administrators to manage users and permissions. Users authenticate with Discord and can request repository access, sending a notification with a one-click approval link for admins.

Powers the collaboration infrastructure on decomp.dev.

aurora

C++ Star

Source-level GameCube & Wii compatibility layer for decompilation projects

Aurora reimplements the GX API, translating the calls to native graphics backends like Vulkan, Metal, D3D12, and WebGPU.

metaforce

C++ Star

Native reimplementation of the Metroid Prime engine

Metaforce (formerly URDE) started as a passion project reimplementing parts of the Metroid Prime engine, and eventually transformed into a nearly-complete non-matching decompilation.

Project website

Currently on hiatus as the matching decompilation of Metroid Prime progresses.