Request
| Index Word
|
Description
|
| 0
|
Header code [0x001C0084]
|
| 1
|
BufSize, must be >=0x20000.
|
| 2
|
u8 Operation
|
| 3
|
Value 0x10
|
| 4
|
Handle
|
| 5
|
BufSize<<8 | 12
|
| 6
|
Buffer ptr, this input buffer contains the encrypted DSiWare export banner, header, and footer.
|
Response
| Index Word
|
Description
|
| 0
|
Header code
|
| 1
|
Result code
|
Operation Values
| Value
|
Description
|
| 0-1
|
Invalid, same as values 4 and 7.
|
| 2 and 5
|
?
|
| 3 and 6
|
?
|
| 4 and 7
|
No importing is done here.
|
Description
AM module uses AMPXI:DecryptDSiWareData for decrypting each DSiWare section. After decrypting a section via that command, AM module calculates a hash over the decrypted payload data for AMPXI:ValidateDSiWareSectionMAC. The footer hash for this section is then verified by calculating a hash over the cleartext data as well.
After AM module validates the header, AM module then uses AMPXI:ValidateDSiWareMovableSedHash. The footer ECDSA verification is handled by AMPXI. The decrypted banner is written to inputbuffer+0.