This PR implements the DVD security challenge/response mechanism to the best of my knowledge used on a Xbox console between the DVD drive and the Xbox.
This allows loading retail Xbox titles both in 'redump' format and xiso format with an unmodified retail BIOS.
For this to work, you need the security info from your original game disk. There is two methods:
These two dumps have the same info but in a slightly different format. As I understand SS.bin represents what is physically on the DVD, dvd_layout.bin is the packet that is formatted and sent by the DVD drive firmware. This PR detects either and converts accordingly.
To provide this file to xemu, there is currently no GUI element and is done by command line
xemu.exe -dvd_security_path "SS.bin". The same arg is used for "dvd_layout.bin".
Notes from my testing:
I had pretty good success using one common SS.bin/.dvd_layout.bin dump with many games. However later bioses seemed to only accept SS.bin dumps from that specific title. This could be improved security or an issue in my implementation?
The Xbox didn't seem to care if the DVD is 'redump' or XISO style aslong as the challenges are responded to correctly. Your mileage may vary.
Using a retail BIOS comes with the restrictions of the retail system such as region restrictions, and you wont be able to run homebrew (FTP etc)
This process just follows the text book challenge response process from the Xbox. There may be some unusual aspects that are missed and I only have a smallish selection of disks to test with. I pulled in some public domain RC4 and SHA1 libraries, not sure if they should live in the xdvd folder or not.
This PR implements the DVD security challenge/response mechanism to the best of my knowledge used on a Xbox console between the DVD drive and the Xbox.
This allows loading retail Xbox titles both in 'redump' format and xiso format with an unmodified retail BIOS.
For this to work, you need the security info from your original game disk. There is two methods:
SS.bin
from a compatible 'Kreon' drive using the method on redump.org http://wiki.redump.org/index.php?title=Microsoft_Xbox_and_Xbox_360_Dumping_Guide,dvd_layout.bin
from your Xbox and original disk using these homebrew apps https://github.com/Ryzee119/OGX_CHALLENGE_TABLE/releases/tag/build-202310141001 or https://gist.github.com/Ernegien/bef054a43213c52c2bef8d94bf9f51cbThese two dumps have the same info but in a slightly different format. As I understand
SS.bin
represents what is physically on the DVD,dvd_layout.bin
is the packet that is formatted and sent by the DVD drive firmware. This PR detects either and converts accordingly.To provide this file to xemu, there is currently no GUI element and is done by command line
xemu.exe -dvd_security_path "SS.bin"
. The same arg is used for"dvd_layout.bin"
.Notes from my testing:
References
This process just follows the text book challenge response process from the Xbox. There may be some unusual aspects that are missed and I only have a smallish selection of disks to test with. I pulled in some public domain RC4 and SHA1 libraries, not sure if they should live in the xdvd folder or not.
Future work suggestions