SD:/private/wii/loc.dat: Difference between revisions
< SD:
Hallowizer (talk | contribs) m Category |
Hallowizer (talk | contribs) m Hallowizer moved page Loc.dat to SD:/private/wii/loc.dat: FS path |
||
(No difference)
| |||
Revision as of 04:03, 13 July 2021
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.