This Python 3 script decrypts DAT files from the Wii's japan-only "Set Personal Data Channel" (000100084843434A). Thanks to Larsenv from RiiConnect24 for figuring out the keys and the format!
- Install PyCryptodome
- Put your encrypted DAT files in the subdirectories "zipcode/001" and "zipcode/255" (just examples, any subdir will work; also see this repo) of this script
- Run decryptor.py
- Your decrypted DAT files are in the "decrypted" subdirectory!
- Decompress the LZ77 archive with DSDecmp (
dsdecmp DAT_File
) - ???
- Remove the first 320 bytes (the RSA signature) from the DAT file
- Decrypt it with AES-256-CBC mode and the key
01676854AC6A4049BE124975A9E2233E96BCE619BFD6472EBD2778933C10FFE5
withA03F89FA977647DBB42ACF16EAB6DB3E
as initialization vector - You get a file with "zpcd" as the first bytes. Remove the first 25 bytes from the decrypted data and you get an LZ77-compressed archive