13.03.2013 Views

Hacking the Xbox

Hacking the Xbox

Hacking the Xbox

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 11 - Developing Software for <strong>the</strong> <strong>Xbox</strong> 169<br />

out <strong>the</strong> Project B Prize Rules web page at<br />

http://xbox-linux.sourceforge.net/<br />

articles.php?aid=20030023081956.)<br />

Recently, a buffer overrun exploit was discovered in <strong>the</strong> way saved games<br />

are handled by Electronic Arts’ “007: Agent Under Fire” game. The<br />

exploit was first divulged by a hacker known simply as “habibi_xbox” on<br />

March 29, 2003 through a posting on <strong>the</strong> <strong>Xbox</strong>Hacker.net BBS. Significantly,<br />

<strong>the</strong> exploit was identified in an undisclosed number of games, but<br />

“007: Agent Under Fire” was <strong>the</strong> only game explicitly named in <strong>the</strong><br />

posting. The exploit leverages an unchecked string to run a short segment<br />

(a few hundred bytes) of code that inserts a series of kernel patches.<br />

Various measures were included in <strong>the</strong> design of <strong>the</strong> hack to make it very<br />

difficult to modify <strong>the</strong> hack to do anything o<strong>the</strong>r than run <strong>the</strong> intended<br />

<strong>Xbox</strong>-Linux target. For example, <strong>the</strong> hack patches <strong>the</strong> original <strong>Xbox</strong><br />

RSA public key, used for verifying digital signatures, with a new public<br />

key, while leaving <strong>the</strong> digital signature check algorithm unpatched. Only<br />

<strong>the</strong> <strong>Xbox</strong>-Linux bootloader, provided as part of <strong>the</strong> hack, is appropriately<br />

signed with <strong>the</strong> corresponding new private key. O<strong>the</strong>r hackers<br />

would have to factor <strong>the</strong> new public key in order to use this hack to run<br />

o<strong>the</strong>r executables. Also, <strong>the</strong> “007: Agent Under Fire” game itself<br />

performs an independent digital signature check on all saved games, so<br />

modifying <strong>the</strong> exploit code in <strong>the</strong> hacked savegame file is not trivial. The<br />

inclusion of such security measures in <strong>the</strong> hack is a laudable decision on<br />

Why do you hack?<br />

After getting more experienced in programming I started to<br />

discover that <strong>the</strong> beautiful and bright entity of <strong>the</strong> computer<br />

world is in fact a fragile patchwork.<br />

In <strong>the</strong> beginning hacking was like a game for me. You could<br />

walk around inside your computer system discovering worlds<br />

of new code and possibilities every single day. Occasionally<br />

one could challenge <strong>the</strong> application authors to a duel<br />

by trying to analyze and circumvent <strong>the</strong>ir copy protections.<br />

Sometimes it was like playing chess; o<strong>the</strong>r times it was<br />

like a deathmatch.<br />

On one hand I was excited to see my knowledge growing<br />

and on <strong>the</strong> o<strong>the</strong>r hand it was naturally a great ego boost<br />

for a 14 year old child to circumvent security systems of<br />

overpaid godlike hardcore programmers. During my time<br />

as a senior high school, I revised this view — while programming<br />

tools and applications for some local companies during<br />

school vacations I met some genuine programmers —<br />

and was disappointed: <strong>the</strong>y were nei<strong>the</strong>r gods, nor godlike.<br />

After some time i realized that writing a cool demo, hacking<br />

application X, or finding a nifty hack for Y doesn’t change<br />

<strong>the</strong> world more than a sack of rice toppling down somewhere<br />

in China. So I started choosing my realms more wisely<br />

— technologies of everyday life like telephones, computers,<br />

(continued)

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

Saved successfully!

Ooh no, something went wrong!