Full readme:
QUOTE
Schtrom360Xtract V2.1
-------------------------------------------------------------------------------------
Schtrom360Xtract is used to backup Xbox360 and Xbox1 game discs in one step.
Features/Functions
----------------------------
Version 2.1 Release Date 01.09.2006
- now extracts video.iso, pfi.bin and dmi.bin for xtreme 3.0 style images
- also tested with xtreme V3.2
- single extraction of video.iso, pfi.bin, dmi.bin, ss.bin and game.iso supported
- the extraction can be done from original discs, copied discs and image files
- two whole disc extraction methods:
- xtreme 3.0 style (video.iso, pfi.bin, dmi.bin)
- xtreme 2.0 style (blank.iso, no pfi.bin, no dmi.bin)
- injection of video.iso, pfi.bin, dmi.bin, ss.bin and game.iso to an image
- automatic detection of Xbox1 or Xbox360 game discs depending on the size
- stealth checks added for Xbox1 and Xbox360 copied discs and images by acidflash
- DVD-ROM support for USB SH-D162C by acidflash
Version 2.0 Release Date 10.08.2006
- now also enumerates Samsung TSSTcorp DVD-ROM SH-D162C drive letter
- you must flash with kreon's firmware first
- at the moment there is no full security sector extraction possible with this drive, there
are 69 bytes difference to a "real" security sector from the Xbox360 drive
- extraction of Xbox1 games should now be possible
- be warned, I had no way to test this, so it would be nice if anybody can confirm this works
- if the "game data visible"-function fails, extraction continues
- I never had this problem so some testing would be nice
- now you can also copy defective sectors on discs that for example are scratched
- in my tests I never had any read errors on Xbox360 discs, neither on the SH-D162C nor the
Xbox360 drive
- extraction time is now displayed in the status bar
- image files are named in ascending order from IMAGE1.000 to IMAGE999.000
- you don't have to move the image files if you want to extract another one
- last but not least the extraction speed increases dramatically with this release
- in my tests a complete Xbox360 image was extracted within 15 minutes on the SH-D162C
- many many thanks to blackpanther who helped me a lot on the extraction routine, he's a great
programmer and it's a pleasure for a noob like me to work with such a master of C++!!!
Version 1.0 Release Date 31.07.2006
- enumerates Xbox360 TSSTcorp DVD-ROM TS-H943A drive letter
- creates the CloneCD image desciptor file IMAGE.dvd for the layer break
- creates blank360.iso
- extracts security sector (ss.bin)
- makes game data visible
- extracts dvd sectors (game.iso)
- merges blank360.iso, ss.bin and game.iso to the CloneCD image file IMAGE.000
Hints
---------
Make sure your Xbox360 TSSTcorp DVD-ROM TS-H943A drive is in xtreme0800 mode.
The Samsung TSSTcorp DVD-ROM SH-D162C drive must be flashed with kreon's firmware.
Otherwise there's no drive letter available and Windows XP can't see the drive.
This program is written for Windows XP SP2 and I think it's the only platform it
will run on at the moment, but with the source included you hopefully can port it
easily.
For me no read errors occurred on Xbox360 discs! On Xbox1 discs the read errors are
corrected for best results.
Additional Steps
------------------------
To burn the image do the following:
- set the booktype of your burner from DVD+R DL to DVD-ROM
(you don't need this with xtreme firmware V3.1 and V3.2 on TS-H943A)
- start CloneCD
- insert DVD+R Double Layer disc
- choose image.dvd file
- burn at 2.4x speed
- I have not burned with DVD Decryptor, but I've read you must apply the layer
break manually in this software, there are some good tuts on www.xbox-scene.com
Technical Details
-------------------------
Changes and error fixes
Version 2.1
- it seems to be the best to use blocks of 16 sectors when reading the discs,
especially for error corrections on Xbox1 discs this works best
- on error every sector of the failed block (2048 Byte * 16 sectors) is read again
before the sector is filled with zeros, this seems to give the similar results as
isobuster
- many functions have been rewritten, now we have functions like MySendCDB to send a
variable length command to the device
- I used a lot more MFC CStrings, cause the code get's more readable than with c style
strcpy and strcat
- MyExtractSectors is a very huge function, cause we can gain a lot of time in comparison
to calling MySendCDB every loop and init all the structs
- the most functions now accept file or device handles, so we don't need to open/close
devices and files all the day
- before the video.iso extraction the cd tray must be ejected and loaded on the original
Xbox drive, this is only necessary if the game data is already visible at video
extraction start
- the pfi.bin and dmi.bin extracted on the original Xbox drive with xtreme 3.0 has
a "four byte left shift" compared to the SH-D162C, so on extraction on the Samsung
drive I implemented this shift, thanks to kreon who helped me with the last 4 missing
bytes on the samsung and c4e for his immediate response in the forums
- differences between an SH-D162C xtreme 3 and an Xbox xtreme 3 image:
- 0xFD8FA00: 69 bytes challenge/response data missing in the security sector of the samsung
- warning: if you compare Xbox1 images extracted on SH-D162C and TS-H943A you get different
results even with isobuster, the SH-D162C seems to have a better error correction and
can read sectors the Ts-H943A can't read
- now I also try to support copied disks, they are checked for valid pfi, dmi and ss data,
first I try to extract the data in the usual way (cdb), if this fails I read the sectors
where the data resides on a copy, thanks for acidflash and Redline99 for help on checking
for valid bytes
- after extraction every file is checked on valid size
Version 2.0
- the CD-ROM enumeration routine has some major bugs, but they only show if you
modify the functions to scan more than one drive, cause of that I deleted the
SCSI inquiry command and took another approach with IOCTL_STORAGE_QUERY_PROPERTY,
the new function name is MyEnumAllXbox360CDROMs
- added a combo box for better changeablity of supported extraction drives
- added a check box for selecting Xbox1 game extraction mode
- "game data visible function" return value is ignored
- in the function MyExtractXboxImageFromDVD the first unreadable cd sector on the
disc will generate a MessageBox, the user can continue the extraction with errors
- the MyExtractXboxSecuritySector functions now has a Sleep of one second between
sending cdbs, this is for security only, no errors had been reported of a wrong ss
- the extraction routine is now modified for faster reading of sectors
Source Code
-------------------
Source Code is not released this time, sorry! Last time there were too many "patched"
versions out and users don't know what version they should download. This also
confuses me. I think the really interested people can figure out what's going on by
looking at the source code of version 1.0 and 2.0.
Special Thanks
-----------------------
Greets go out to Xboxhacker.net and Xbox-Scene.com and all the other international sites
(spanish, italian, french etc.) for their support.
Many many thanks to blackpanther who helped me a lot on the extraction routine, he's a
great programmer and it's a pleasure for a noob like me to work with such a master of C++!!!
My special personal thanks go out to my friend acidflash for changing parts, sending me his
changed code and making suggestions on what can be made better! He tests this tool very
intensive and saved me on getting a buggy release version out! Keep your humor!
Also thanks to MS VS2003 compiler optimization! This nasty option caused three days of error
searching! My personal advice: Turn it off!
Special Thanks to
- blackpanther (master of C++ and testing)
- acidflash (image stealth check implementation, the cool mutex class, testing and support)
- kreon (for his fantastic firmware and immediate answers on my messages, without him the
dmi part on the samsung can't be done by me, he's a great reverser)
- Redline99 (for releasing his source so that others can learn from him, I am really
impressed what you can do with Visual Basic)
- c4e (for making all this possible on the 360 and for his immediate professional response
on my dmi thread in the forum)