AMPXI:ValidateDSiWareSectionMAC

From 3dbrew
Revision as of 06:56, 23 April 2013 by Yellows8 (talk | contribs) (Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x005500C4] |- | 1 | Buf0 size, must be 0x10-bytes. |- | 2 | Buf1 size, must be 0x...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Request

Index Word Description
0 Header code [0x005500C4]
1 Buf0 size, must be 0x10-bytes.
2 Buf1 size, must be 0x20-bytes.
3 u8 DSiWare section index, must be <=6.
4 Buf0Size<<8 | 0x4
5 Buf0 ptr
6 Buf1Size<<8 | 0x14
7 Buf1 ptr

Response

Index Word Description
0 Header code
1 Result code

Description

These input buffers are the same buffers used with AMPXI:ValidateDSiWareMovableSedHash. This calculate an AES MAC over the 0x20-byte buf1 SHA-256 hash using the same keyslot used for DSiWare exports' MACs. When this MAC matches the MAC stored in buf0, result-code 0 is returned, otherwise an error is returned.