AMPXI:ValidateDSiWareMovableSedHash: Difference between revisions
Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00530084] |- | 1 | Buf0 size, must be 0x10-bytes. |- | 2 | Buf1 size, must be 0x..." |
Steveice10 (talk | contribs) mNo edit summary |
||
(4 intermediate revisions by one other user not shown) | |||
Line 9: | Line 9: | ||
|- | |- | ||
| 1 | | 1 | ||
| Buf0 size | | Buf0 size (must be 0x10) | ||
|- | |- | ||
| 2 | | 2 | ||
| Buf1 size | | Buf1 size (must be 0x20) | ||
|- | |- | ||
| 3 | | 3 | ||
| Buf0Size<<8 <nowiki>|</nowiki> 0x4 | | (Buf0Size << 8) <nowiki>|</nowiki> 0x4 | ||
|- | |- | ||
| 4 | | 4 | ||
| Buf0 | | Buf0 pointer | ||
|- | |- | ||
| 5 | | 5 | ||
| Buf1Size<<8 <nowiki>|</nowiki> 0x14 | | (Buf1Size << 8) <nowiki>|</nowiki> 0x14 | ||
|- | |- | ||
| 6 | | 6 | ||
| Buf1 | | Buf1 pointer | ||
|} | |} | ||
Line 34: | Line 34: | ||
|- | |- | ||
| 0 | | 0 | ||
| Header code | | Header code [0x00530040] | ||
|- | |- | ||
| 1 | | 1 | ||
Line 43: | Line 43: | ||
This calculates a SHA-256 hash over the 0x130-byte data from [[FSPXI:ExportIntegrityVerificationSeed]]. When the calculated hash matches the hash stored in buf1, result-code 0xC8A0802E is returned, otherwise result-code 0xC8A0802F is returned. | This calculates a SHA-256 hash over the 0x130-byte data from [[FSPXI:ExportIntegrityVerificationSeed]]. When the calculated hash matches the hash stored in buf1, result-code 0xC8A0802E is returned, otherwise result-code 0xC8A0802F is returned. | ||
The 0x10-byte buf0 data is copied to internal memory, however this data is not used after it's copied. | The 0x10-byte buf0 data is copied to internal memory, however this data is not used after it's copied. This command is used by [[Application_Manager_Services_PXI|AM]] module to verify the hash stored in the [[DSiWare_Exports|DSiWare]] export header, when AM uses this command buf0 contains the encrypted AES block from the header. |