Amiibo: Difference between revisions
Line 55: | Line 55: | ||
| Last 3-bytes here are used with the following HMAC. The first byte is normally 0xA5. The remaining bytes are initially(before the Amiibo is written to) all-zero. Byte[2] here is increased each time the Amiibo is written to. | | Last 3-bytes here are used with the following HMAC. The first byte is normally 0xA5. The remaining bytes are initially(before the Amiibo is written to) all-zero. Byte[2] here is increased each time the Amiibo is written to. | ||
|- | |- | ||
| | | 5 | ||
| | |||
| 0x14 | |||
| | |||
| The system crypts 0x1A0-bytes with a buffer containing data loaded from here. | |||
|- | |||
| 0x20/32 | |||
| 8 | | 8 | ||
| | | 0x80 | ||
| 0x20 | | 0x20 | ||
| SHA256-HMAC over 0x1DF-bytes: first 3-bytes are from the last 3-bytes of page[4], the rest is over the first 0x1DC-bytes of the plaintext data | | SHA256-HMAC over 0x1DF-bytes: first 3-bytes are from the last 3-bytes of page[4], the rest is over the first 0x1DC-bytes of the plaintext data. | ||
|} | |||
==== Encrypted data buffer structure ==== | |||
{| class="wikitable" border="1" | |||
|- | |- | ||
! Encrypted buffer offset | |||
| | ! Byte offset in the actual NFC data, relative to page[5] | ||
| | ! Size | ||
| | |- | ||
| | | 0x0 | ||
| 0x0 | |||
| 0x20 | |||
|} | |} | ||