SD:/private/wii/loc.dat: Difference between revisions
< SD:
No edit summary |
m small update. |
||
| Line 1: | Line 1: | ||
=== Layout === | === Layout === | ||
Loc.dat is encrypted using the SDKey and SD-IV values. | |||
The general layout of this file is as follows. | The general layout of this file is as follows. | ||
| Line 42: | Line 43: | ||
</pre> | </pre> | ||
Credit to CaitSith2, Galaxy| for this finding. | Credit to CaitSith2, and Galaxy| for this finding. | ||
Revision as of 23:44, 31 March 2009
Layout
Loc.dat is encrypted using the SDKey and SD-IV values. The general layout of this file is as follows.
| Offset | Length | Description |
|---|---|---|
| 0x0 | 0x4 | Magic - "sdal" |
| 0x4 | 0x10 | File MD5 Sum (padded with MD5-blanker before hash calculation) |
| 0x14 | 0x3C0 | List of channels on the SDMenu. (Each slot is 4 bytes. Empty slot indicated by 0x00000000.) |
| 0x3D4 | 0xC | Padded with 0s. |
Here's some C structures:
typedef struct
{
char tid[4]; // The lower 4 bytes of the channels Title ID.
} SDList;
typedef struct
{
char magic[4]; // The Magic. Always `sdal'
u8 md5[0x10]; // MD5 sum. Pad with MD5-Blanker.
SDList list[240]; // The entries. Same order as on the menu.
u8 padding[12]; // Padding with 0's.
} Locdat;
Credit to CaitSith2, and Galaxy| for this finding.