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 following this hash.
| 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
|  
|-
| The system crypts 0x1A0-bytes starting here.
| 0x0
| 0x0
| 0x20
|}
|}