Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leoetlino/botw-re-notes
Reverse engineering notes and tools for The Legend of Zelda: Breath of the Wild
https://github.com/leoetlino/botw-re-notes
botw breath-of-the-wild ida-pro nintendo-switch reverse-engineering zelda
Last synced: 27 days ago
JSON representation
Reverse engineering notes and tools for The Legend of Zelda: Breath of the Wild
- Host: GitHub
- URL: https://github.com/leoetlino/botw-re-notes
- Owner: leoetlino
- Created: 2018-04-26T19:20:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-21T16:25:43.000Z (over 5 years ago)
- Last Synced: 2023-11-07T18:00:12.074Z (about 1 year ago)
- Topics: botw, breath-of-the-wild, ida-pro, nintendo-switch, reverse-engineering, zelda
- Language: C
- Homepage:
- Size: 107 MB
- Stars: 107
- Watchers: 5
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Breath of the Wild reverse engineering notes
## What's in this repository?
* Information and sometimes documentation about game internals. These files have the \*.md extension
in this repository. **Note: New documentation will be posted on the [ZeldaMods](https://zeldamods.org/) wiki instead to make it easier to update information for everybody.** Existing documentation is also being moved and will only be updated on the wiki.* Some plain text files that were extracted from the executable or generated from the ROM,
containing information about game internals as well.* Tools for understanding some game files in [tools](tools/).
* Tools and IDA scipts for reverse engineering the game and dumping structures/values
from the executable in [tools/ida](tools/ida).* [A 010 Editor Template for beco files](tools/beco.bt), which are used to map coordinates to
map areas and/or tower areas.* Some code snippets in [code](code/). I usually rewrite the function in C++ to make game logic easier to understand, since optimised code is hard to read. Sometimes the snippet is just pseudocode output from Hex-Rays. (A lot of snippets are currently in my gists, but I'll probably move them to this repo in the future)
## Tools
Originally this repository also contained a lot of tools for working with the ROM,
such as a SARC archive reader and a library to manipulate the RSTB.These have been moved to their own repositories to make them more reusable and easier to install:
* [byml](https://github.com/leoetlino/byml-v2): library and CLI tools to convert between YAML and BYML (binary YAML)
* [sarc](https://github.com/leoetlino/sarc): library and CLI tool to create, extract and update SARC archives
* [rstb](https://github.com/leoetlino/rstb): library and CLI tool to query and edit the Resource
Size Table (RSTB)
* [botwfstools](https://github.com/leoetlino/botwfstools) (contentfs, overlayfs, edit, patcher):
tools that make it easier to explore the romfs and edit files by exposing archives as directories
and fixing the RSTB automaticallyThe following projects might also be helpful for playing with *Breath of the Wild* files:
* [aamp](https://github.com/leoetlino/aamp): library and CLI tools to convert between YAML and AAMP (Nintendo binary parameter archives)
* [evfl](https://github.com/leoetlino/evfl): library for manipulating Breath of the Wild's Event Flow files
* [EventEditor](https://github.com/leoetlino/event-editor): graphical editor for Event Flow filesThese can all be installed with `pip install `. Usage information is available
in their respective repositories.## Credits
Thanks to MrCheeze for botw-tools, the object map and Zer0XoL for BotW-aampTool.