Skip to main content

Léo's blog

I’m Léo, a student, hobbyist reverse engineer and developer.


Here are some projects that I have recently worked on:

  • Dolphin - GameCube and Wii emulator (improving HLE, investigating and solving emulation issues)

  • oead - A C++ library for common proprietary Nintendo file formats, written to get much better performance (80x over a pure Python implementation in some cases)

  • Breath of the Wild reverse engineering, documentation and tools

    • ZeldaMods - Documentation on file formats and internals, obscure game mechanics, guides
    • Object Map - An open source website with advanced object inspection features that doubles as a normal game map (TS, Node.js, Python)
    • botwfstools - FUSE filesystem and tools to facilitate exploring and editing the ROM (C++)
    • EventEditor - Simple event flow editor for the game’s proprietary flowchart format (PyQt5)
    • U-King - A work-in-progress decompilation of the game executable to aid with reverse engineering and interoperability with modding tools (C++)
  • Project Restoration - Majora’s Mask 3D patch that restores mechanics from the original game and fixes misc issues (C++)

  • A set of small Python libraries to manipulate Nintendo proprietary file formats.

    • aamp - Parameter archive (AAMP) library and converters
    • byml-v2 - BYML/BYAML parser, writer and converter (v2+)
    • evfl - Event flow library (used by EventEditor under the hood) - including a PATRICIA trie implementation
    • sarc - SARC archive library and tool
    • rstb - Resource Size Table library and tool

    Why? One major reason is that I would like to encourage the use and the development of free, cross-platform tools. In this day and age, an alarming number of utilities are unfortunately still either closed-source, Windows-only or both.


Recent articles

Decompiling sead: a small example

For those who are unfamiliar with recent Nintendo games, sead is Nintendo’s homemade C++ standard library. It is used in every recent first-party game such as Breath of the Wild, New Horizons or Labo.