Introduction
- Start here with protecting and cracking game save files (also called save data).
- All Wii save files have standardized encryption. After decryption using tachtig from Segher Wii Tools, Wii Sports Resort uses binary.
- Learn more about my experience with this repository: Article 1 / Article 2
Prequisite Hadware/Software
- Wii Sports Resort Save Data - if you have played Wii Sports Resort on your Wii, you have this
- SD Card
- Wii that has an SD Card slot - not a Wii Mini
- Laptop or laptop extension that has an SD Card slot
- Terminal that runs BASH 3 or later
- Ideally a Linux or Apple operating system is used. But on Windows, WSL may be needed.
About
- Retrieve high scores (personal and Wii-wide), the last 25 skill levels per activity, dates of received stamps, the last 25 recent activity from the save file, and more for Wii Sports Resort.
My stamps, skill levels, high scores, recent activity, and previous data.bin (encrypted save file) and Sports2.dat (decrypted save file generated by tachtig) are in the personal/ folder. These images and files are out-of-date and are for demo purposes only.
Retrieving Save File
- For Wii, open the white slot under the reset button and insert an SD Card.
- From the Home Screen on the Wii, click Wii (bottom left) > Data Managment > Save Data > Wii > Choose Game (Wii Sports Resort - Umbrella Image) > Copy
DO NOT click delete. Deleting a save file will reset the game and remove all scores and progress.
The save file is stored in: SD://private/wii/title/RZTE/data.bin
If there is a file already there, change/move the folder or file on your laptop to allow for a newer save file to be copied. If not, you will get a warning saying that: This data already exists on the SD Card
Transferring the Save File
- Insert the SD Card into a laptop or laptop extension and navigate to the save file at SD://private/wii/title/RZTE/data.bin and move it inside wii-inspect/.
- In WSL, you move data.bin by doing the following (an example, yours will be different):
mv /mnt/C/users/aaron/Desktop/data.bin ~/wii-inspect/data.bin
Using wii-inspect:
- Type in your terminal:
cd ~thengit clone https://github.com/Aaron98990/wii-inspect(could clone anywhere, but for this guide this is what we're assuming) - Run
openssl versionand ensure that version 3 or higher is in use- To insall on macOS:
brew install openssl - To insall on Linux:
sudo apt-get install openssl(or equivalent for your distro)
- To insall on macOS:
- The repository for https://github.com/Plombo/segher-wii-tools which contains tachtig is in the segher-wii-tools folder with a small modificiation in the Makefile for faster setup.
- Type in your terminal:
cd ~/wii-inspect/segher-wii-tools, then typemake all. If there are errors, typemake cleanthenmake all.- If openssl is not being auto-detected, uncomment and modify
OPENSSL_PREFIXin Makefile to fix.
- If openssl is not being auto-detected, uncomment and modify
- Type
chmod +x tachtigto create an executable file - Copy the tachtig file to a location in your $PATH with
sudo cp tachtig /usr/local/binYou must do this - In the terminal,
cd ~/wii-inspectthen typebash stamps.bash data.binandbash highScores.bash data.bin - That's all! Enjoy going through history! **Please report any errors (including in README.md) using GitHub's issue function. **
In the Future?
View high scores on a per-player bases. I know where it is on the data/game file, I just have not "coded" it.Extend stamps to more than three players. Don't show stamps screen for no/empty player.Improve formatting and use more for loops. Hard to use for loops, especially when lots of switching between hexadecimal, binary, and decimal.- Paper or Documentation with analysis of offsets of save data
- In Return Table Tennis, the score freezes at 999 but the game continues. I am curious if the save data continues.
- Investigating the recommendation system for Wii Sports Resort. I suspect there is a place to keep track of the number of games played but still testing. Note: playing the game once does not necesairly change the recommended game even after restarting.
Level (0 - 2500) andaccomplishments (Superstar or Pro)for games have not been found but I suspect a place.Island Flyover Statistics including iPoints, balloons, 8 unlockable achievments, and balloons/iPoints in 5 minutes record.- Include the Superstar Score - the score of a game where a player starts and ends at or as close as possible to Skill Level 2000.
Branches
- Everything is done directly to master. Dev is for my experimentations and will include wacky numbers and be harder to read.
Other Wii Decrypting or Interesting Articles
- Repos for Wii Weights
- Wii Fit Weights https://code.google.com/archive/p/wii-fit-parser/wikis/HowTo.wiki (They used Preon-Java Library)
- Based on Wii Fit https://code.google.com/archive/p/wiifit/
- Walthroughs for Wii Weights
- Jansen's Walkthrough for Wii Fit https://jansenprice.com/blog?id=9-Extracting-Data-from-Wii-Fit-Plus-Savegame-Files
- Graph based on Jansen's blog http://www.kellbot.com/extracting-graphing-wii-fit-data/
- Segher Wii Tools
- http://wiibrew.org/wiki/FE100 (FE100 is Windows's port of Segher tools)
- Keys from the Wii for Segher tools https://hackmii.com/2008/04/keys-keys-keys/
- Skill Level
- Skill level is an Elo-style measure of performance when competing against AI oppoent(s) with their own visible skill level. https://arstechnica.com/gaming/2017/04/was-ubers-ceo-really-the-second-best-wii-sports-tennis-player/
- The skill level (also called skill points) in Wii Sports (not necessairly in Wii Sports Resort) are a floating point number, of which only its integer part (its floor, i.e. rounded down, not rounded to nearest) is visible. http://orden-y-concierto.blogspot.com/2013/04/wii-sports-tennis-skill-points-system.html
- It appears to me that since 2500 is the maximum skill level in all activities that means all asymptotes (the maximum skill level without the artifical cutoff at 2500) are above 2500. I believe Wii Sports Resort, only uses whole numbers in the save data.
- ELO Rating Elo rating https://metinmediamath.wordpress.com/2013/11/27/how-to-calculate-the-elo-rating-including-example/
- Miis
- Mii Representations in Data Files (Including Guests) https://sites.google.com/view/miilibrary/home If you have other interesting articles, please open a GitHub Issue and share.
Usage statistics are kept in the script. If you don't to share this information then remove the following from the end of stamps.bash and highScores.bash
# Send GET request to track usage
if command -v curl &> /dev/null; then
curl -s "https://buzzin.feleke.xyz/increaseWiiInspectCount" > /dev/null 2>&1
elif command -v wget &> /dev/null; then
wget -q -O /dev/null "https://buzzin.feleke.xyz/increaseWiiInspectCount" 2>/dev/null
fiTo view experimental and debugging information include an empty experiment.txt file in the same folder as stamps.bash and highScores.bash


