Mii Maker: Difference between revisions
No edit summary |
|||
Line 7: | Line 7: | ||
== Mii QR Code format == | == Mii QR Code format == | ||
3DS Mii QR is a standard 57x57 pixel Level 10 High ECC QR code with 'Mii' logo in center (refer to [http://www.denso-wave.com/qrcode Denso-Wave Inc] web site for QR Code format specifications). It contains 0x70-bytes of binary data. 3DS seems to have a fully implemented QR-code decoder, as it can interpret such Mii binary data being encoded even in the smallest possible for that data size Level 6 Low ECC QR code. The data itself is encrypted with AES-CCM, xorpads can be determined from known plaintext here. The Mii Maker application uses the [[NS]] APT Wrap/Unwrap commands to encrypt/decrypt this Mii data. For the NS [[APT:Unwrap|Unwrap]] command, the Mii Maker application uses blocksize=12, noncesize=10, and inputbuffer-size=0x60. | 3DS Mii QR is a standard 57x57 pixel Level 10 High ECC QR code with 'Mii' logo in center (refer to [http://www.denso-wave.com/qrcode Denso-Wave Inc] web site for QR Code format specifications). It contains 0x70-bytes of binary data. 3DS seems to have a fully implemented QR-code decoder, as it can interpret such Mii binary data being encoded even in the smallest possible for that data size Level 6 Low ECC QR code. | ||
The data itself is encrypted with AES-CCM, xorpads can be determined from known plaintext here. The Mii Maker application uses the [[NS]] APT Wrap/Unwrap commands to encrypt/decrypt this Mii data. For the NS [[APT:Unwrap|Unwrap]] command, the Mii Maker application uses blocksize=12, noncesize=10, and inputbuffer-size=0x60. The first 8-bytes(cleartext MiiID+MAC address) in the below Mii data is the nonce used with the NS Unwrap/Wrap commands, the rest of the data at 0x8-0x5F is encrypted. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 31: | Line 33: | ||
| 0x8 | | 0x8 | ||
| 0x1 | | 0x1 | ||
| | | Unknown, the encrypted data begins here. | ||
|- | |- | ||
| 0x9 | | 0x9 | ||
Line 87: | Line 89: | ||
| 0x5E | | 0x5E | ||
| 0x2 | | 0x2 | ||
| unknown | | unknown | ||
|- | |- | ||
| 0x60 | | 0x60 |