Mod Your Xbox

...Without Breaking The Law

First Published: Computer Power User
Date Published: January 2004
By Kevin Savetz

So you've beaten all of your friends at Rally Sport Challenge, and you've returned to Castle Wolf-enstein more times than you can count. Maybe you're ready to hack the Xbox hardware itself.

In many ways, the Xbox is just a standard PC, with a 733MHz Intel processor, 64MB RAM, an 8GB or 10GB hard drive, and an NVIDIA graphics processor. You can tweak the Xbox in many of the same ways that you can tweak a PC. But Microsoft doesn't want people poking around inside their Xboxes, modifying the hardware, or running unauthorized software, so there are many levels of security standing in the way. You can install a larger hard drive or run Linux, but doing so isn't as straightforward as it is with a standard PC.

One more caveat before we begin: Performing any of these hacks will void the warranty and could destroy your Xbox. Installing unauthorized software could invoke the wrath of Microsoft. Proceed at your own risk.

Install Linux

Want to run Linux on your Xbox? No problem! Linux fanatics have made great strides in making the operating system work on any Xbox with minimal hassle. You don't need to install a mod chip or even open the Xbox. Your Xbox will be able to run Linux and will still be able to play regular Xbox games. However, the Xbox Live menu item won't be available after the change, so configuring online games will be impossible.

With Linux installed, you can use your Xbox as a home media server (sourceforge.net/projects/xbplayer), play classic arcade games with MAME ( sourceforge.net/projects/mameox), or use it for anything else a Linux PC can do.

This hack works thanks to two bugs: one in the savegame code in MechAssault, and another in the Dashboard code of the Xbox itself. (The Dashboard is the menu that appears when no game disc is inserted.)

There are several ways to install Linux on the Xbox. The procedure outlined here is among the easiest. You'll need an Xbox-to-USB cable, a USB storage device such as a flash drive, the Xbox game MechAssault, and a CD burner on your PC. A USB keyboard and mouse are strongly suggested. You should be able to buy an Xbox-to-USB cable online for $15 or less, or you can make one yourself. To make one, splice the wires in an Xbox breakaway cable to the wires inside a USB Type A extension cord with a female socket. Then solder all of the same-colored wires together, except for the yellow wire in the Xbox breakaway cable (just ignore that wire).

Running Linux on an Xbox also requires that you download some software: the MechInstaller FATX images (SourceForge.net; prdownloads.sourceforge.net/xbox-linux/MechInstaller-1.0-FATX-Images.zip?download) and OzXMemory Stick Explorer (SourceForge.net; xbox-linux.sourceforge.net/down/ozxmemory.exe). The MechInstaller FATX images are corrupt savegame files that, when loaded into MechAssault, allow the user to take control of the Xbox. OzXMemory Stick Explorer is a PC utility that copies the MechInstaller FATX images to the USB flash drive.

In addition, you'll need a Linux distribution that's tuned to work with the Xbox. Several are available for download from the Xbox Linux Project, such as Ed's Debian (SourceForge.net; xbox-linux.sourceforge.net/debian). The distributions are image files in ISO format. Use a CD burning utility such as Alcohol Software's Alcohol 120% ( www.alcohol-software.com) to burn the Linux distribution to a CD-R/RW. The Xbox's optical drive is notoriously fussy, so be sure to use high-quality CD-R/RW media, and burn the disc slowly (that is, it's better to burn at 4X than 36X). If you find that the Xbox won't boot Linux from the CD, try burning another copy with a different brand of media.

Armed with the hardware and files, you're ready to begin. Start by formatting your USB flash drive with Xbox's FATX file system. This will erase everything on that drive, so back up important data first. To boot the Xbox Dashboard, turn on the Xbox without a game installed. Plug the USB storage device into the USB adapter cable, and plug that cable into one of the Xbox's game ports. Navigate to the Memory menu. The Xbox will format the memory card.

Next, copy the savegame files from the PC to the USB flash drive. Windows isn't directly compatible with FATX, so use OzXMemory Stick Explorer to copy the savegame files to the flash drive. (If you're using Linux or Mac OS, there's a different procedure for copying the savegame files. Do a Web search for "MechInstaller HOWTO" to find those instructions.)

Unplug the flash drive from the Xbox and plug it into your PC. Unzip the MechInstaller-FATX-Images file. Run the OzXMemory Stick Explorer application. From the list of drives on the left, choose the drive that corresponds to the flash drive. When you select the correct drive, you'll see the message "Found FatX at Drive." Click the Flash Write tab and then click the Open 32 MB Image button. Select the MechInstaller-1.0-FATX-8MB-to-32MB.img file, which is located in the MechInstaller folder that you unzipped. Now write the savegame files to the USB flash drive. Press the appropriate Write button for the storage size of your flash drive. For instance, Write to 32MB Stick for flash drives with 32MB or less capacity. Wait a few moments while the files are saved. The application doesn't give notice when it finishes writing the data. Remove the flash drive from the PC and plug it into the Xbox.

To copy the files to the Xbox's hard drive, select Memory from the Xbox dashboard, select the USB device, and select the savegame file called Install Linux. Select Copy and then Xbox Hard Disk to copy the file to the hard drive. Repeat the procedure to copy the Restore Dashboard and Emergency Linux files. You can also copy those three files to a standard Xbox memory card so you can install Linux on other Xboxes in the future without repeating the procedure so far. Reattach the USB flash drive to your PC and reformat it.

The Xbox is ready to run Linux. But first, experts suggest finding out the Xbox's hard disk key and password in case something goes wrong. To do this, connect the Xbox to your LAN and set your PC's IP address to 192.168.0.5 with a netmask of 255.255.255.0. Insert the MechAssault disc into the Xbox and turn it on. Choose Campaign, and then select Emergency Linux. The Xbox will boot into a miniversion of Linux. The USB keyboard doesn't work in Emergency Linux, so telnet from the PC to the Xbox (that is, telnet to 192.168.0.3). Log in as root with the password xbox. At the command prompt, type xbox_tool -a. You'll see a page of info about the Xbox. Print out the hard disk key and password.

Now it's time to hack the Xbox's Dashboard. Restart the system with the MechAssault game. Choose Campaign, and then select Install Linux. When it is done, restart the Xbox without a disc inserted. You'll see a new Linux menu item on the Dashboard menu. Selecting it will boot a limited version of Linux, but don't do that yet. Instead, insert your Linux CD-R/RW. Watch in amazement as the Xbox boots Linux, complete with a graphical X environment. Plug in your USB keyboard and mouse and play!

Finally, you can install the full Linux installation to the Xbox's hard drive so you won't need to boot from the CD-R/RW. For Ed's Debian, type su at the command prompt. When prompted for a password, type xbox. Then type /sbin/XBOXLinuxInstall and follow the prompts. After installation, the Dash-board's Linux menu item will load the full version of Ed's Debian.

A word of warning: Users have reported that when accessing the network play areas of games, the Xbox connects to Microsoft's server and patches itself, correcting the Dashboard bug and destroying the Linux installation in the process. The Xbox Linux Project Web site (xbox-linux.sourceforge.net/docs/preventupdate.html ) explains other easy ways to avoid the forced update.

LED Tweaks

Enterprising users have found many ways to hack the Xbox hardware. These tricks include installing a new DVD drive, replacing the unit's hard drive with a larger one, and tweaking Xbox controllers to work with a standard PC. Users also tweak the Xbox's LEDs to make the power button shine red instead of green, or to replace the power button's green LED with a blue LED.

You can also add a disk activity LED to your Xbox. You'll need basic soldering skills, a size T20 Torx screwdriver, a 5mm LED (6 volts at 20mA), a 220 ohm resistor, and some wire. Solder the resistor to the anode (the longer pin) of the LED, and then solder the other end of the resistor to a piece of wire. Connect another length of wire to the cathode end (the shorter pin) of the LED. Use electrical tape or heat-shrink tubing on each of the connections to prevent shorts.

Unplug the Xbox and open it using the Torx screwdriver. There are several screws on the bottom of the unit under the rubber feet and hidden under labels. Unplug the IDE cable that connects to the hard drive. Next, separate a section of the 39th wire (counting from wire 1, which has a red stripe) from nearby wires. Make 2-inch to 3-inch slits on both sides of the wire to separate it from its neighbors, taking care not to cut any other wires in the IDE cable. Splice in your wire that connects to the cathode side of the LED. When you're done, the 39th wire should still be intact, with your wire connected, as well.

Next, connect the other end of your wire (the one with the resistor) to +5 volts. Find the Molex connector that powers the hard drive: the red wire is +5 volts. Splice your wire into that red wire; do this carefully so that both the LED and the hard drive receive power. Reconnect the power and IDE cables. After taping or shrink-wrapping the connections, turn on the Xbox to test the light. Unplug the Xbox again, drill a hole in the front of the case where you want the LED to go, and install the LED.

Get More Information

Web sites devoted to Xbox modifying issues include the Xbox Linux Project (xbox-linux.sourceforge.net/debian), Xbox Hackz ( www.xboxhackz.com), and Xbox Scene ( www.xbox-scene.com). There seems to be no limit to what enterprising hackers can to with the Xbox.

Sidebar: The Thin Gray Line

"Cracking open an Xbox can gain a person several things," said Andrew "bunnie" Huang, author of "Hacking The Xbox." "First, it is an educational experience. Learning about hardware through reverse engineering is a great way to get hands-on experience. Second, users can repurpose their Xbox to run any program they like, which is a pretty powerful proposition if you consider the Xbox as a central media device within the home."

But exploring and extending your Xbox can also be a legal minefield. In particular, installing a mod chip (a chip that circumvents the Xbox's usual control systems) could be illegal. Some mod chips allow users to play pirated games--definitely a legal no-no.

"Microsoft has been relatively reasonable with respect to hacking the Xbox, certainly in contrast to Sony which has taken an extreme position," Fred von Lohmann, senior staff attorney at the Electronic Frontier Foundation ( www.eff.org), says. Sony has sued dozens of PlayStation mod chip vendors worldwide.

Is it safe for the average user to hack his Xbox? "It's a rather complicated question to answer. The main law involved here is the Digital Millennium Copyright Act. That's the only law in the United States that potentially makes it a violation of the law to hack your own property. The question is whether or not you are, in the language of the law, circumventing a technical protection measure designed to protect a copyrighted work. The answer to that question can be somewhat opaque in that it depends on what you are actually doing. . . . Aggressive companies don't much care what your answer is," von Lohmann says.

"Technically, adding a mod chip can be illegal," explains Huang. "The details are hairy, and it probably depends upon the type of mod chip used. An example of an almost-legal mod chip is the so-called LPC ROM chip that utilizes the 'visor' hack to gain control of the Xbox to run Linux. This mod chip contains no illegally obtained copyrighted code, and it makes no essential use of Microsoft copyrighted code. Due to the fundamental architecture of the Xbox, a few Microsoft-copyrighted instructions are executed, but this should be legal since the user did buy a license to run that code along with the purchase of the Xbox. The [license agreement] associated with the Xbox might make using their code in this manner illegal, but that is more an issue of contract law.

"The argument that Microsoft could make against this type of Linux mod chip is that discovering the mechanisms required to create such a mod chip and port Linux to the Xbox would have required some individuals to violate the DMCA at some point by bypassing Microsoft's copyright controls and making a copy of their kernel data for the purpose of reverse engineering," he says. "Fortunately, many of those who did work on this part of the project were involved in academia (like I was) and there is some nominal but thin protection in the DMCA for research and interoperability purposes."

Examples of almost certainly illegal mod chips are those used to boot the Xbox into a native gaming state with copyright protections removed. "This kind of chip is illegal because many of them use a re-encrypted and patched copy of Microsoft's ROM to accomplish this behavior. There are so many legal strikes against this type of mod chip that it is hard to enumerate them," Huang notes.

"The average at-home tinkerer probably does not have to worry about the DMCA or incurring the wrath of Microsoft. The Xbox Live inspection of your Xbox is probably what you have to worry about--getting your box locked out of the Xbox Live network can be a pain," Huang said. "The people who should we worried about the DMCA include tinkerers who are in the business of creating mod chips or mod chip-related codes."

Reprinted with permission from Computer Power User magazine.


Articles by Kevin Savetz