Ancast
Ancast-Abbilder sind verschlüsselte und signierte Binarys/"Code-Pakete"[1], die vom Espresso und Starbuck ausgeführt werden.
Der Espresso beinhaltet eine geschützte BootROM, die nach einem Hard-Reset des PowerPC ausgeführt wird und nur signierten Code startet. Dieser Code kommt in Form eines Ancast-Abbildes daher. Bevor der PPC zurückgesetzt wird, muss der momentan laufende ARM-Code (entweder IOSU oder vWii IOS) das Ancast-Abbild an die physische Adresse 0x08000000 (Wii-U-Abbilder) oder 0x01330000 (vWii-Abbilder) laden, damit die BootROM es entschlüsseln und verifizieren kann.
Ancast-Abbilder sind der Cafe-OS-Kernel, das vWii-Systemmenü und der vWii-NANDLoader.
boot0 und boot1 starten auch nur signierten Code in Form von Ancast-Abbildern. Auf der ARM-Seite ist das IOS-MCP-Modul für das Starten von cafe2wii und Neustarten des IOSU (Warmboot) verantwortlich. IOS-MCP lädt ARM Ancast-Abbilder in MEM1 (0x01000000), verifiziert und entschlüsselt sie, bevor sie mit vollen Rechten gestartet werden (jeglicher Speicherschutz ist deaktiviert und muss von der Binary selbst wieder aktiviert werden).
ARM und PPC Ancast-Abbilder nutzen AES-128-CBC als Verschlüsselung, aber unterscheiden sich in ihren Verschlüsselungsalgorithmen, weshalb sich auch ihre Header unterscheiden.
Ancast ist ein von fail0verflow erfundener Name und steht für "The princess is in another castle".
Keys und Initialisierungsvektoren
- Espresso Wii U Ancast IV:
596d5a9ad705f94fe158026feaa7b887
- Espresso vWii Ancast IV:
596d5a9ad705f94fe158026feaa7b887
- Espresso Retail Wii U Ancast Key:
805e6285cd487de0faffaa65a6985e17
- Espresso Retail vWii Ancast Key:
2efe8abcedbb7baae3c0ed92fa29f866
- Espresso Dev Wii U Ancast Key:
f2666cd79024ae588b0ea1fcc1bc37a6
- Espresso Dev vWii Ancast Key:
26aff4bbac88bb769dfc54dd56d8efbd
- Starbuck Wii U Ancast IV:
91c9d008312851ef6b228bf14bad4322
- Starbuck Retail Wii U Ancast Key:
b5d8ab06ed7f6cfc529f2ce1b4ea32fd
- Startbuck Dev Wii U Ancast Key:
2dc19bda709c5721a87e5c5f7143a278
Einzelnachweise