BackwardsCompatibility

From Free60

Jump to: navigation, search

[edit] Backwards Compatibility

Currently there has only been two updates released, so far very little is know about what it does. More information will be known when the XEX file format is understood, as well as the filesystem that is on the Harddrive

[edit] File Analysis

There is a better repository for general XEX information.

The data is stored in big endian. This is because the PowerPC CPU in the Xbox 360 is big-endian.

Below is a list of offsets and their (supposed) meaning:

  • 0x08 - points to beginning offset of (compressed or encrypted) data (in this case, 0x2000)
  • 0x10 - points to start of "certificate"? - 2 words before what was previously considered the signature of the file.
  • 0x14 - number of entries that immediately follow.

Each entry here consists of two dword's. The first could potentially identify what the entry means, or maybe it is an allocation table. The second dword is often a pointer to a specific peice of data contained in the header of the file. I'll use the first dword to identify each entry. Pretty much all of this is conjecture. Note that for most of these segments, the first dword at that offset gives the length of the section. Also note, that these segments start immediately after the table (see above), and cover all bytes (based on given section lengths) until the null buffer before offset 0x2000.

  • 0x000002ff - points to a section of data at 0x70c that has the strings $UPDATES and MEDIA (possibly referenced/included directories)
  • 0x000003ff - points to section starting at 0x730, judging by surrounding entries to be 36 bytes long
  • 0x000080ff - points to section at 0x754, and is 0x20 bytes in length (judging by next entry)
  • 0x00010001 - doesn't point to an offset in the file. (0x00400000)
  • 0x00010100 - doesn't point to an offset in the file. (0x920127f8)
  • 0x00010201 - doesn't point to an offset in the file. (0x92000000)
  • 0x000103ff - points to 0x1b74, ?? contains strings- "xam.xex xboxkrnl.exe", followed by something.
  • 0x00018002 - points to 0x0774, which is 8 bytes long (judging by next entry)
  • 0x000183ff - points to 0x077c, string "installupdate.exe"
  • 0x000200ff - points to 0x0794, a list of libraries?
  • 0x00020104 - points to 0x0828, some data. 16 bytes until next table entry
  • 0x00020200 - 0x00010000.
  • 0x00040006 - points to 0x0838, 16 bytes. very similiar to the entry at 0x0828
  • 0x00040404 - 0x0850 - block of nulls until 0x1b74.
Personal tools