Changes

1,313 bytes added ,  07:45, 25 April 2013
Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x001C0084] |- | 1 | BufSize, must be >=0x20000. |- | 2 | u8 Operation |- | 3 | Va..."
=Request=
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| Header code [0x001C0084]
|-
| 1
| BufSize, must be >=0x20000.
|-
| 2
| u8 Operation
|-
| 3
| Value 0x10
|-
| 4
| Handle
|-
| 5
| <nowiki>BufSize<<8 | 12</nowiki>
|-
| 6
| Buffer ptr, this input buffer contains the encrypted [[DSiWare_Exports|DSiWare]] export banner, header, and footer.
|}

=Response=
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| Header code
|-
| 1
| Result code
|}

=Operation Values=
{| class="wikitable" border="1"
|-
! 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 [[Application_Manager_Services_PXI|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 [[Application_Manager_Services_PXI|AMPXI]]. The decrypted banner is written to inputbuffer+0.