| Crates.io | letterbomb |
| lib.rs | letterbomb |
| version | 5.0.0 |
| created_at | 2025-05-03 01:20:40.203308+00 |
| updated_at | 2025-05-03 01:20:40.203308+00 |
| description | A fork of the classic Wii hacking tool from fail0verflow |
| homepage | https://gitlab.com/whoatemybutter/letterbomb |
| repository | https://gitlab.com/whoatemybutter/letterbomb |
| max_upload_size | |
| id | 1658395 |
| size | 517,451 |
A Rust-native fork of the classic Wii hacking tool originally written in Python. by fail0verflow. Offered in both library and binary flavors.
LetterBomb generates the payload files to trigger the LetterBomb exploit for a Wii console on version 4.3.
MSRV is 1.85.0, edition 2024.
LetterBomb is on crates.io.
[dependencies]
letterbomb = "5.0.0"
Or install the standalone binary:
cargo install letterbomb
LetterBomb outputs in color.
# Help
letterbomb -h
# Order of arguments is mac region output
# Region can be U E J K
letterbomb "00:17:ab:5a:6e:f5" K outputdir
# Use -b or --bundle to include HackMii installer
letterbomb "00:17:ab:5a:6e:f5" U outputdir -b
# Errors are printed transparently
letterbomb "00:17:ab:99:99:99"
# => error: invalid value '00:17:ab:99:99:99' for '<mac>': MAC address is for emulated Wii
letterbomb "00:17:ab:5a:6e:f5" A
# => error: invalid value 'A' for '<region>': region "A" not U, E, J, K
# Output isn't allowed to be a file
touch outputfile
letterbomb "00:17:ab:5a:6e:f5" E outputfile
# => error: output is file; will not clobber
# If outputdir does not exist, it will be created
# Intermediate parent directories for output are created if safe
letterbomb "00:17:ab:5a:6e:f5" U outputdir/sub/sub/sub/sub
use std::collections::HashMap;
use letterbomb::{generate::make_payload_now, mac::WiiMAC, region::Region};
fn test() {
let mac: WiiMAC = "00:17:AB:5A:6E:F5".parse()?;
let region = Region::U;
let include_bundle = true;
// `payload` maps sub-paths (e.g. "boot.elf", "message.txt", …)
// to file contents as Vec<u8>.
let payload: HashMap<String, Vec<u8>> =
make_payload_now(mac, region, include_bundle)
.ok_or("failed to build payload")?;
}
Licensed under MIT.