Difference between revisions of "EEPROM"

From xboxdevwiki
Jump to: navigation, search
Line 154: Line 154:
  
 
=== Hardware Method ===
 
=== Hardware Method ===
If you cannot dump the EEPROM using software, you can dump it using hardware. You have several options: use an [https://www.totalphase.com/products/aardvark-i2cspi/ I2C/SPI USB host adapter], build an [https://www.youtube.com/watch?v=UcK6nKyKGVQ I2C-Serial cable], or use a device like a RaspberryPi which has an I2C interface already. Connect SDA/SCL/ground to the LPC pinout on the board. See [https://github.com/grimdoomer/PiPROM here] for pinout information.  
+
If you cannot dump the EEPROM using software, you can dump it using hardware. You have several options: use an I2C host adapter (see [http://dangerousprototypes.com/blog/bus-pirate-manual/ here]
 +
or [https://www.totalphase.com/products/aardvark-i2cspi/ here]), build an [https://www.youtube.com/watch?v=UcK6nKyKGVQ I2C-Serial cable], or use a device like a RaspberryPi which has an I2C interface. Connect SDA/SCL/ground to the LPC pinout on the board. See [https://github.com/grimdoomer/PiPROM here] for pinout information. Then use the corresponding software to read/write the EEPROM.
  
 
== Further Reading ==
 
== Further Reading ==

Revision as of 19:32, 25 May 2017

The Xbox EEPROM is a 256 byte non-volatile storage device which contains device-specific information. It is connected via I²C and located on address 0x54.

The Chihiro EEPROM key is 7B 35 A8 B7 27 ED 43 7A A0 BA FB 8F A4 38 61 80

Contents

Start End Notes
0x00 0x13 HMAC_SHA1 Hash
0x14 0x1B RC4 Encrypted Confounder ??
0x1C 0x2B RC4 Encrypted HDD key
0x2C 0x2F RC4 Encrypted Region code (0x01 North America, 0x02 Japan, 0x04 Europe)
0x30 0x33 Checksum of next 44 bytes
0x34 0x3F Xbox serial number
0x40 0x45 Ethernet MAC address
0x46 0x47 Unknown Padding ?
0x48 0x57 Online Key ?
0x58 0x5B ** 0x00014000 = NTSC, 0x00038000 = PAL
0x5C 0x5F Unknown Padding ?
0x60 0x63 other Checksum of next
0x64 0x67 Zone Bias?
0x68 0x6B Standard timezone
0x5C 0x6F Daylight timezone
0x70 0x77 Unknown Padding ?
0x78 0x7B 10-05-00-02 (Month-Day-DayOfWeek-Hour)
0x7C 0x7F 04-01-00-02 (Month-Day-DayOfWeek-Hour)
0x80 0x87 Unknown Padding ?
0x88 0x8B Standard Bias?
0x8C 0x8F Daylight Bias?
0x90 0x93 Language ID
0x94 0x97 Video Settings
0x98 0x9B Audio Settings
0x9C 0x9F 0=MAX rating
0xA0 0xA3 7=X, 8=Y, B=LTrigger, C=RTrigger
0xA4 0xA7 0=Max rating
0xA8 0xAB XBOX Live IP Address..
0xAC 0xAF XBOX Live DNS Server..
0xB0 0xB3 XBOX Live Gateway Address..
0xB4 0xB7 XBOX Live Subnet Mask..
0xA8 0xBB Other XBLive settings ?
0xBC 0xBF DVD Playback Kit Zone
0xC0 0xFF Unknown Codes / History ?

Note: Info in above table comes from XKUtils XKEEPROM.h.

Reading/Writing the EEPROM

Software Method

This is the easiest way to dump an Xbox EEPROM. Use your alternative dashboard to dump the EEPROM to a file and download it over FTP.

Hardware Method

If you cannot dump the EEPROM using software, you can dump it using hardware. You have several options: use an I2C host adapter (see here or here), build an I2C-Serial cable, or use a device like a RaspberryPi which has an I2C interface. Connect SDA/SCL/ground to the LPC pinout on the board. See here for pinout information. Then use the corresponding software to read/write the EEPROM.

Further Reading