HQ NETWORKXbox One | Xbox | C64 9,149 HQ Network UsersHQ Network: 9,149 | Members OnlineGuests: 4918 |Guests OnlineMembers: 1

Xbox 360 Forums
Get involved in our Xbox 360 forum discussions..
Get Xbox Game Pass Ultimate
360-HQ.COM :: Hacking the Xbox 360 DVD drive?? Your thoughts?
Hacking the Xbox 360 DVD drive?? Your thoughts?
360-HQ.COM Forum Index -> Xbox 360 General Hardware/Technical Chat
Post new topic Reply to topic    
 Hacking the Xbox 360 DVD drive?? Your thoughts? View previous topic :: View next topic  
 
 
 
 
forahobby
Administrator
Administrator




Joined: May 22, 2003
Posts: 23944
Location: NSW, Australia
XP: 3,060,024

Post Posted: Tue Mar 21, 2006 4:52 pm   
Post subject: Hacking the Xbox 360 DVD drive?? Your thoughts?
Reply with quote
 
This is a summary of my (largely unedited) notes at http://www.kev.nu/360/dvd.html. Go there for full details.

Use at your own risk, this may break your 360, 360 DVD drive and/or PC if done improperly (or if I happen to have made mistakes).

Connecting the 360 drive to a PC
Getting the Hitachi-LG drive detected under Linux and Windows
Dumping the Hitachi-LG firmware from a PC
Dumping the 'forbidden RAM ranges' 0x8002EC00-0x80037300 and 0x8003A000-0x8003A300
Dumping the drive's unique encryption key from a PC
Writing to anywhere in the Hitach-LG drive's memory space from a PC
Forcing the Hitachi-LG drive to execute arbitrary code from a PC

Connecting the 360 drive to a PC

There are two ways to power your drive when connecting it to a PC

1) From the 360
2) From your PC power supply or external 12V mains adapter


Option 1 is easier in the short term but it's not as safe as option 2 and it gets annoying after a while. For option1 do this

1) Connect your DVD drive to your 360 using the 12 pin DVD power cable supplied with your 360.
2) Connect your DVD drive to your PC using a standard SATA cable.
3) Connect the chassis of your PC to the chassis of your 360 with a couple of croc clips
4) Turn on the 360.
5) Turn on the PC.


Step 3 isn't strictly necessary in this case, but it's a very good habit to get into.

option 2 is more difficult in the short term but is safer than option 1 and you don't have to keep powering the 360 up and down to use the drive. The following circuit will power the 360 drive from your PC power supply.

*** SEE IMAGE ATTACHED ***

It could possibly be useful to mess with the drive's state on a PC and then boot the drive in the 360 without powering the drive down and losing the state. To power the drive from a +12V (or more) external mains adapter requires an additional voltage regulator (7805) to generate the +5V supply.

Note: everything from this point on applies only to the Hitachi-LG drive, not the Toshiba-Samsung.

Getting the Hitachi-LG drive detected under Linux and Windows

This depends on how you connect the SATA signal cable to your PC. The 3 main ways are

1) PATA - SATA bridge board
2) PCI SATA adapter card
3) Native SATA controller


There is one method that I have tested on all three and so I know definitely works. Unfortunately it requires soldering and desoldering. Do this

1) Remove the case from the drive (4 screws)
2) Locate resistor R214. It's in a cluster of 6 resistors between the SATA signal connector and the MN103 MCU (the big 4 sided chip with a million pins)
3) Remove resistor R214.
4) On the DVD power cable, cut back the insulation on the tray_status line to expose the wire (do not cut the wire). If you hold the drive horizontally with the top pointing towards the ceiling and look at the power connector on the back of the drive, then tray_status is the 2nd pin from the left on the bottom row of pins.
5) Solder one end of a 10K resistor onto the exposed tray_status wire
6) Solder the other end of the resistor to a switch between +3.3V and GND (You can get +3.3V at the 3rd pin from the left on the bottom row. GND is available on any of the 4 right most pins on the top row)
7) Before powering up the drive select +3.3V for normal drive operation or select GND for a debug mode that will allow the drive to be detected in Windows, Linux and I imagine any other OS.


Another method that I suspect will work for any type of SATA connection is a firmware patch. I have not tested this, but I know of at least one hacker who has had it working with native SATA. I strongly suspect it will work with PATA - SATA and PCI SATA too. Obviously this requires that you are able to reprogram your drive's flash chip. You need to patch the following code within the Inquiry command handler.

Code:
ROM:00024F6D                 movbu   (word_5BD), D0   ; D0 = packet[5]
ROM:00024F70                 mov     0xC0, D1 ! '+'
ROM:00024F73                 and     D1, D0           ; clear all bits except for (vendor-specific) bits 6 and 7
ROM:00024F75                 cmp     D1, D0           ; are both bits set?
ROM:00024F76                 beq     loc_24F80        ; yes, so continue
ROM:00024F78                 mov     0xD, D0          : no, so fail


I'd patch the conditional "beq loc_24F80" instruction at offset 0x24F76 with an unconditional "bra loc_24F80" instruction. These offsets are taken from the 0047 revision firmware, these may differ in the 0046 code but the priciple is identical.

If these two aren't an option for you, then the following options are available. You'll have much more of a chance using a PATA - SATA board.

1) If you're using a PATA - SATA board, then I found that simply ejecting and closing the tray during boot was enough to get Linux to detect the drive.
2) If you're using a PATA - SATA board or have a legacy mode on your Native/PCI SATA controller, then you can use the following program to initiate the same debug mode that I mentioned above. This should get it detected in Windows after a restart (make sure the drive doesn't power down) or maybe running a "Find new hardware" instead of a restart (untested).


download source
download binary


3) If your drive is detected in Linux but not windows, then you can boot into Linux and run the following program. Then reboot the PC into Windows (make sure the drive doesn't power down). Windows should then pick it up.

modeb.c


4) Linux users should keep an eye on Protobus excellent efforts with the drive in Linux.


Windows users, during some of my tests with native SATA I sometimes found that windows (XP in my case) would detect the drive and it would appear in device manager, but no drive letter would be assigned. To assign one I had to do "device manager > DVD/CDROM drives > right click on HL-DT-ST DVD-ROM GDR3120L SCSI CdRom Device > Properties > Volumes tab > Populate > OK" (screen shot).

Dumping the Hitachi-LG firmware from a PC

There is a Hitachi debug command that allows you to dump memory from the drive. There are security measures in place to prevent the software dumping of the firmware but these measures are a complete failure (see my full notes for info). The following program will dump your firmware.

memdump.c - hex memdump source for Linux
memdump_win.zip - hex memdump binary for Win2000/XP
memdump_win_src.zip - hex memdump source for Win2000/XP

Linux example:
Code:

$ ./memdump /dev/hdc 12200 8 8000 ./firmware.bin


Windows example:
Code:

C:\> memdump_win e 12200 8 8000 firmware.bin


Simple as that.

Dumping the 'forbidden RAM ranges' 0x8002EC00-0x80037300 and 0x8003A000-0x8003A300

It turns out that these ranges contain very interesting information Smile Again, the security measures to prevent software dumping of these ranges were a total failure. Use the following commnds to dump the entire contents of RAM, the 'forbidden' regions are at offsets 0x2EC00-0x37300 and 0x3A000-0x3A300 in the final dump.

Linux example:
Code:

$ ./memdump /dev/hdc 10200 8 8000 ./ram.bin


Windows example:
Code:

C:\> memdump_win e 10200 8 8000 ram.bin


Dumping the drive's unique encryption key from a PC

This key is used to de/encrypt some of the ATAPI transfer during disc authentication.

Linux example:
Code:

$ ./memdump /dev/hdc 91004F0 1 10 ./key.bin


Windows example:
Code:

C:\> memdump_win e 91004F0 1 10 key.bin


Writing to anywhere in the Hitach-LG drive's memory space from a PC

A combination of Mode Select(10) and Hitachi debug commands allows you to write to anywhere in the drive's address space. The following program allows you to peek/poke single bytes. The same principle can be applied to any amount of data, not just single bytes (see my full notes for info)

pp.c - peek/poke source for Linux
pp_win.zip - peek/poke binary for Win2000/XP
pp_win_src.zip - peek/poke source for Win2000/XP


Linux examples:
Code:

$ ./pp /dev/hdc 40000000 peek
$ ./pp /dev/hdc D98D poke 30


Windows examples:
Code:

C:\> pp_win e ABF peek
C:\> pp_win e 804A4B4C poke F2


Forcing the Hitachi-LG drive to execute arbitrary code from a PC

A combination of Mode Select(10) and Hitachi debug commands allows you to execute MN103 code inside the drive. The following program will do this for you. Note: It can take a while to upload the a lot of code.

execcode.c - execcode source for Linux
execcode_win.zip - execcode binary for Win2000/XP
execcode_win_src.zip - execcode source for Win2000/XP

Linux examples:
Code:

$ ./execcode /dev/hdc ./code.bin


Windows examples:
Code:

C:\> execcode_win e code.bin


Official Site: http://www.kev.nu/360/dvdshort.html



xbox360_dvdfirmware_hack.gif
 Description:
firmware hack info
 Filesize:  4.21 KB
 Viewed:  9050 Time(s)

xbox360_dvdfirmware_hack.gif



_________________________________________________________
HQ Network:
www.xbox-hq.com | www.xboxone-hq.com | www.360-hq.com | www.c64-hq.com


View user's profile Send private message Send e-mail Visit poster's website
 
 
 
 
XboxXXX
V.I.P. Lifetime




Joined: Oct 09, 2004
Posts: 1873
Location: Hampshire, UK
XP: 384

Post Posted: Tue Mar 21, 2006 5:28 pm   
Post subject:
Reply with quote
 
I'm waiting on Team Xecuter - news article was very promising.

Below is the article incase you missed it:

http://www.360-hq.com/article-510--0-0.html


View user's profile Send private message Send e-mail
 
 
 
 
Shark2th
Moderator
Moderator




Joined: Nov 17, 2004
Posts: 5222
Location: Tennessee, USA
XP: 1,166

Post Posted: Tue Mar 21, 2006 9:34 pm   
Post subject:
Reply with quote
 
Thanks for the read XboxXXX. I had missed that article! Very Happy
_________________________________________________________
http://twitter.com/HQ_Shark2th


View user's profile Send private message Send e-mail Visit poster's website
 
 
 
 
XboxXXX
V.I.P. Lifetime




Joined: Oct 09, 2004
Posts: 1873
Location: Hampshire, UK
XP: 384

Post Posted: Wed Mar 22, 2006 8:00 am   
Post subject:
Reply with quote
 
No problem Shark2th. Glad you got to see it.


View user's profile Send private message Send e-mail
 
 
 
 
aweirdguy
360-HQ Elite Member
360-HQ Elite Member





Joined: Aug 17, 2005
Posts: 208
Location: Minnesota
XP: 2

Post Posted: Wed Mar 22, 2006 3:23 pm   
Post subject:
Reply with quote
 
interview with one of the hackers

very good read

_________________________________________________________
.




View user's profile Send private message Visit poster's website MSN Messenger
 
 
 
 
XboxXXX
V.I.P. Lifetime




Joined: Oct 09, 2004
Posts: 1873
Location: Hampshire, UK
XP: 384

Post Posted: Wed Mar 22, 2006 3:46 pm   
Post subject:
Reply with quote
 
Nice one! I agree with comment #1


View user's profile Send private message Send e-mail
 
Display posts from previous:   
  Post new topic  
 
  Reply to topic  
|
 All times are GMT | Page 1 of 1
Jump to:  
 

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
 

Xbox Game Pass