In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "SD:/private/wii/loc.dat"

From WiiBrew
< SD:
Jump to navigation Jump to search
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 00:44, 1 April 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.