SD:/private/wii/loc.dat: Difference between revisions
< SD:
No edit summary |
Randomdude (talk | contribs) Undo revision 88045 by Cease and Desist (Talk) |
||
| Line 1: | Line 1: | ||
=== Layout === | |||
Loc.dat is encrypted using the SDKey and SD-IV values. | |||
The general layout of this file is as follows. | |||
= | {| class="wikitable" | ||
|- | |||
! 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: | |||
<pre> | |||
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; | |||
</pre> | |||
Credit to CaitSith2, and Galaxy| for this finding. | |||
Revision as of 20:18, 7 August 2010
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.