<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nan</id>
	<title>3dbrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nan"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/Nan"/>
	<updated>2026-04-15T10:05:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Mii_Maker&amp;diff=22507</id>
		<title>Mii Maker</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Mii_Maker&amp;diff=22507"/>
		<updated>2024-02-18T11:54:01Z</updated>

		<summary type="html">&lt;p&gt;Nan: Fix dead link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Mii Maker&#039;&#039;&#039; lets you create [[Mii]]s, and is the successor of the Wii&#039;s Mii Channel.&lt;br /&gt;
&lt;br /&gt;
It can transfer Miis over [[NWM_Services|local wireless]] from other systems running Mii Maker (3DS/Wii U), or receive, but not send, from Mii Channel.&lt;br /&gt;
&lt;br /&gt;
== Wii Mii Channel transfer protocol ==&lt;br /&gt;
&lt;br /&gt;
The Wii beacons are similar to the usual multi-cart NDS beacons, except: beacon_type is zero, and payload size is 0x14. The payload data is just the Wii UTF-16 nickname, with some extra unused zero data. The usual multi-cast NDS protocol is used for sending the 3DS nick to the Wii. After many keep-alive frames, it eventually sends a bunch of frames, each containing the whole Mii. There&#039;s a 6-byte header, followed by [http://wiibrew.org/wiki/Wiimote/Mii_Data Mii data]. At the end of these frames like most NDS frames is the 0200 byte marker.&lt;br /&gt;
&lt;br /&gt;
== Mii QR Code format ==&lt;br /&gt;
&lt;br /&gt;
3DS Mii QR is a standard 57x57 pixel Level 10 High ECC QR code with &#039;Mii&#039; 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.&lt;br /&gt;
&lt;br /&gt;
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 nonceoffset=12, noncesize=10, and inputbuffer-size=0x60. Note that the actual nonce size is 8 bytes due to Wrap/Unwrap implementation, and the nonce data should be moved 12 bytes afterwards after decryption. The rest of the data at 0x8-0x5F is encrypted, and should be split into two parts after decryption, with the nonce data in the middle. (See [[APT:Wrap|Wrap]] and [[APT:Unwrap|Unwrap]] for more information)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Mii ID (big-endian 32-bit unsigned integer)&amp;lt;br/&amp;gt;The most significant 3 bits determine whether the Mii is Special, Foreign, or Normal [https://web.archive.org/web/20071011001718/http://www.davidhawley.co.uk/special-miis-gold-pants-and-creating.aspx]&amp;lt;br/&amp;gt;time_offset = (mii_id &amp;amp; 0x0FFFFFFF) * 2;&amp;lt;br/&amp;gt;time_offset is the time the Mii was created, represented as the number of seconds since 01/01/2010 00:00:00&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| High 4 octets of MAC address [http://www.adminsub.net/mac-address-finder/nintendo]&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[Mii#Mii_ID|Mii ID]], the encrypted data begins here.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| System ID (this ID is produced by the output from [https://www.3dbrew.org/wiki/Cfg:GenHashConsoleUnique GenHashConsoleUnique(0x0)])&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Low 2 octets of MAC address&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| padding (0000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Bit-mapped: Birthday (4bit-day,5bit-month), Sex, Shirt, ??&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x14&lt;br /&gt;
| UTF-16 Mii Name (10 chars max)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E&lt;br /&gt;
| 0x2&lt;br /&gt;
| width &amp;amp; height&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0: disable sharing&amp;lt;br/&amp;gt;bit 1-4: face shape&amp;lt;br/&amp;gt;bit 5-7: skin color&lt;br /&gt;
|-&lt;br /&gt;
| 0x31&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-3: wrinkles&amp;lt;br/&amp;gt;bit 4-7: makeup&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x1&lt;br /&gt;
| hair style&lt;br /&gt;
|-&lt;br /&gt;
| 0x33&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-2: hair color&amp;lt;br/&amp;gt;bit 3: flip hair&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-4: eyebrow style&amp;lt;br/&amp;gt;bit 5-7: eyebrow color&lt;br /&gt;
|-&lt;br /&gt;
| 0x39&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-3: eyebrow scale&amp;lt;br/&amp;gt;bit 4-6: eyebrow yscale&lt;br /&gt;
|-&lt;br /&gt;
| 0x3A&lt;br /&gt;
| 0x2&lt;br /&gt;
| note that the bytes are swapped over (little-endian layout)&amp;lt;br/&amp;gt;bit 0-3: eyebrow rotation&amp;lt;br/&amp;gt;bit 5-8: eyebrow x spacing&amp;lt;br/&amp;gt;bit 9-13: eyebrow y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x1&lt;br /&gt;
| Allow Copying&lt;br /&gt;
|-&lt;br /&gt;
| 0x3D&lt;br /&gt;
| 0x3&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x1&lt;br /&gt;
| Mii Sharing Value&lt;br /&gt;
|-&lt;br /&gt;
| 0x41&lt;br /&gt;
| 0x7&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x14&lt;br /&gt;
| UTF-16 Author Name (10 chars max)&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 0x2&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5E&lt;br /&gt;
| 0x2&lt;br /&gt;
| CRC16 over the previous 0x5E&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CCM MAC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* QR codes made from the same 3DS for the same Mii are use the same AES-CCM nonce (you can recreate the xorpad by xoring with known values from this table).&lt;br /&gt;
&lt;br /&gt;
== Mii Database ==&lt;br /&gt;
&lt;br /&gt;
Created, received, or even met-in-multiplayer Miis are saved in [[Mii|CFL_DB.dat]].&lt;br /&gt;
&lt;br /&gt;
== Savedata ==&lt;br /&gt;
=== editSaveData.bin ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| &amp;quot;TIDE&amp;quot; header (EDIT byteswapped)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| zero&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4 (?)&lt;br /&gt;
| 01000000 (constant?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 0x4&lt;br /&gt;
| Number of scanned Special Mii QRs&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| -&lt;br /&gt;
| Some data identifying each scanned Special Mii QRs, for the purpose of not making them scannable again. 8 or 12 byte each?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2904&lt;br /&gt;
| 0x4&lt;br /&gt;
| Checksum?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for Mii Maker is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 └── user&lt;br /&gt;
     └── ExBanner&lt;br /&gt;
         └── COMMON.bin&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[1.0.0-0]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/MiiMakerExtdata/icon Download]&lt;br /&gt;
|-&lt;br /&gt;
|  COMMON.bin&lt;br /&gt;
|  [[Extended Banner]] for Home Menu. Always image 00000003.&lt;br /&gt;
|  0x20224 Bytes&lt;br /&gt;
|  [[1.0.0-0]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/MiiMakerExtdata/COMMON.bin Download]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nan</name></author>
	</entry>
</feed>