13.03.2013 Views

Hacking the Xbox

Hacking the Xbox

Hacking the Xbox

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 2 - Thinking Inside <strong>the</strong> Box 47<br />

Enabling FLASH ROM Programming<br />

Hardware<br />

Patching <strong>the</strong> signal that was disconnected by Microsoft in<br />

order to prevent in-system FLASH ROM programming is a<br />

fairly simple procedure. The FLASH ROM write signal was<br />

disconnected by omitting a single resistor, component number<br />

R7R4, located on <strong>the</strong> bottom side of <strong>the</strong> <strong>Xbox</strong><br />

mo<strong>the</strong>rboard at sector 7R. You can solder a piece of wire<br />

between <strong>the</strong> two silver pads of <strong>the</strong> resistor, or you could<br />

even simply bridge <strong>the</strong> pads with a large amount of solder.<br />

Note, even though FLASH ROM programming is enabled in<br />

<strong>the</strong> hardware by this patch, you still do not have a program<br />

that actually does <strong>the</strong> reprogramming. Running such<br />

a program is a much greater challenge due to <strong>the</strong> cryptographic<br />

software security system put in place by Microsoft.<br />

use cheaper hard-wired “mask ROMs” once Microsoft believes it is ready<br />

to etch its boot program and kernel in stone (or silicon, as <strong>the</strong> case may<br />

be).<br />

The boot ROM is pivotal in reverse engineering any computer because it<br />

contains critical code that is responsible for initializing <strong>the</strong> whole system.<br />

In <strong>the</strong> case of <strong>the</strong> <strong>Xbox</strong>, <strong>the</strong> boot FLASH ROM plays an even more<br />

crucial role because it is partially responsible for implementing <strong>the</strong> tight<br />

software security system. The exact role of <strong>the</strong> FLASH ROM in <strong>the</strong><br />

security system will be explained later, but <strong>the</strong> important thing to<br />

remember for now is that <strong>the</strong> FLASH ROM controls <strong>the</strong> initialization of<br />

<strong>the</strong> hardware in <strong>the</strong> <strong>Xbox</strong> and also contains <strong>the</strong> initial operating system<br />

kernel image.<br />

Odds and Ends<br />

The <strong>Xbox</strong> features a small 8-bit coprocessor called <strong>the</strong> System Management<br />

Controller (SMC). The SMC is a complete miniature computer with<br />

RAM, ROM, and a processor in a single package. The processor inside<br />

<strong>the</strong> SMC uses <strong>the</strong> PIC (Peripheral Interface Controller) architecture,<br />

originally developed at Harvard university around 1975 and adapted by<br />

General Instruments for commercial sale. Arizona Microchip Technology<br />

(now called Microchip Technology, www.microchip.com) acquired <strong>the</strong><br />

PIC product line in 1985 and has been selling it ever since. The SMC can<br />

be found in sector 7B on <strong>the</strong> <strong>Xbox</strong>, and its reference designator is U7B2.<br />

The SMC monitors <strong>the</strong> power button on <strong>the</strong> front of <strong>the</strong> <strong>Xbox</strong>, so <strong>the</strong><br />

SMC must run even when <strong>the</strong> CPU is turned off. As a result, <strong>the</strong> <strong>Xbox</strong><br />

power supply has a low-current 3.3V “standby” power line that is always<br />

active when <strong>the</strong> <strong>Xbox</strong> is plugged in. The SMC is also responsible for<br />

controlling <strong>the</strong> lights around <strong>the</strong> power button on <strong>the</strong> <strong>Xbox</strong>, and it<br />

controls <strong>the</strong> DVD eject mechanism as well. Finally, <strong>the</strong> SMC has a<br />

function that monitors <strong>the</strong> health of <strong>the</strong> CPU, and reboots <strong>the</strong> CPU in<br />

case it crashes. The SMC monitoring function must be disabled if you

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!