PS2 [UPDATE-3] Meet "FreeDVDBoot" by @CTurtE - (PARTIAL) First PS2 FAT (PHAT) Model supported!

We are nearly at the half of this year over but 2020 was an weird year so far, don't you agree? First we lost one of our greatest athletes in Basketball history who was a great father and human as well - shortly after that we are still battling with the worldwide Corona virus outbreak - "and now you tell me that there are still people releasing brand new Exploits for the PS2 released in 2020 ?!?!?!" :) Yeah, you read it correctly. Today well-known Developer @CTurt showcases his newest achievements in "PS2 Hacking". While his previous method saw some critics due to its limitation using the official Sony PS2 YaBasic Interpreter, which was only bundled in very first PS2 Demo Discs released for the PAL region only, Developer @CTurt was so kind to find an even better entry point in launching Homebrew on an unmodified PS2. And guess what, he found a way to achieve exactly that by fully exploiting the DVD Video Player Functionality from a PS2 Console. And it comes even better. Not only you can enjoy all of the old but still good Homebrews and Emulators released back in the old days, this exploit also supports running your legally obtained Backups as well! And all that WITHOUT any need of an modified Memory Card, without any use any old and dirty Swap Magic Trick or to open your PS2 and install an Modchip like many did in the old days? Doesn't sound that cool or what do you think right now when reading this? I kinda mean it when I said that 2020 is a weird year so far. :P

UPDATE-2: FreeDVDBoot now supports EVERY "PStwo" Slim Model! Check the "Further Information"-Tab for additional Information and frequently updates.

UPDATE-3: Support added for DVD Version "2.10" which makes it the very first Firmware for FAT support and more vulnerabilities found for most PS2 FAT consoles from DVD Player Versions 1.00 up to 2.13. Check the "Further Information"-Tab for additional information and frequently updates.


Our Moderator @Fin9ersMcGee was so kind to provide a FreeMCBoot (FMCB) Installation Tutorial in combination with the newest FreeDVDBoot Exploit, which will give you any easy step-by-step guide to run FreeDVDBoot on your PS2. Check it out here!

Check also his new
All-in-One Guide if you are new in PS2 Hacking!


FreeDVDBoot.png

Screenshot of running an recompiled Version of uLaunchELF on an UNMODIFIED PS2 using the newest FreeDVDBoot Exploit by @CTurt [Source: YouTube]


  • I've previously discussed how the PlayStation 2 doesn't have any good entry-point software exploits for launching homebrew. You need to either purchase a memory card with an exploit pre-installed, open up the console to block the disc tray sensors, or install a modchip. For the best selling console of all time, it deserves better hacks.

    My initial attempt to solve this problem was to exploit the BASIC interpreter that came bundeld with early PAL region PS2s. Although I was successful at producing the first software based entry-point exploit that can be triggered using only hardware that came with the console, the attack was largely criticized due to the requirement of having to enter the payload manually through the controller or keyboard, and limitation of being PAL only. I decided to write-off that exploit as being impractical, and so the hunt continued for a better attack scenario for the PlayStation 2.

    The PlayStation 2 has other sources of untrusted input that we could attack; games which support online multiplayer or USB storage could almost definitely be exploited. But unlike say the Nintendo 64, where we don't really have any other choice but to resort to exploiting games over interfaces like modems, the PlayStation 2 has one key difference: its primary input is optical media (CD / DVD discs), a format which anyone can easily burn with readily available consumer hardware. This leaves an interesting question which I've wanted to solve since I was a child:
    Is it possible to just burn our own homebrew games and launch them on an unmodified console the same way we would launch official discs (without going through any user interaction like disc swapping or triggering a network exploit in a game)?

    Ultimately, I was successfully able to achieve my goal by exploiting the console's DVD player functionality. This blog post will describe the technical details and process of reversing and exploiting the DVD player. All of my code is available on GitHub.

    Demonstration video of new PlayStation 2 exploit through the DVD player, which allows burning homebrew games and running them on an unmodified console the same way you would with official discs. This demo shows the result of the PS2SDK patch which adds support for reading DVD video discs (uLaunchELF can now load homebrews from disc, and emulators can now load ROMs from disc).

  • Whilst the exploit itself is now complete, there's not a huge amount we can currently do beyond loading small standalone homebrew games like Tetris.

    Multi-file homebrew
    Ideally, it would nice for the exploit to boot into a menu which would allow you to select a different homebrew program out of multiple stored on the same disc, and which could then in turn load further data from the disc (such as an emulator loading ROMs). Unfortunately, the PS2SDK filesystem code, and by extension all PS2 homebrew, doesn't support DVD videos. Since DVD videos are the only type of disc that unmodified consoles will accept which we can burn, I assume that everyone was previously satisfied with just loading data over USB.

    I decided to show the exploit to some PS2 enthusiasts in the hope that it might inspire someone to take a look, and uyjulian was kind enough to spend some time adding support and submit a pull request. If you recompile the PS2SDK with this fix, and then recompile your homebrew application, it will have support for loading DVD video disc files from cdfs device.

    This isn't a perfect solution since we don't have source code for all PS2 homebrew produced over the last 20 years, but it is also possible to binary patch homebrew to manually replace the cdvd.irx IOP module with a new one to add DVD video support. For instance, ChelseaFantasy patched the closed source SNES Station emulator, allowing me to make the following demo (special thanks!):

    Demonstration video of new PlayStation 2 exploit through the DVD player, which allows burning homebrew games and running them on an unmodified console the same way you would with official discs. This demo shows the result of the PS2SDK patch which adds support for reading DVD video discs (uLaunchELF can now load homebrews from disc, and emulators can now load ROMs from disc).

  • There already exists a tool (ESR patcher) which patches games to appear like DVD videos so that they'll be accepted by the 'mechacon' (security processor), and an associated loader program (ESR) that boots these patched "video discs". Chaining together this new exploit with that ESR loader would allow you to patch your backups so that they could just be burned and run on your console from boot as though they were official discs.

    I don't really want to be responsible for maintaining a tool that does this, so I'm not including any of the code to do this in the repo, but the gist of it can be explained pretty quickly, so I'll just provide some notes explaining how to do it:

    ESR patcher will add two files, VIDEO_TS.IFO and VIDEO_TS.BUP, to the disc's UDF filesystem. Our exploit requires two files named VIDEO_TS.IFO and VTS_01_0.IFO, so just replace the VIDEO_TS.BUP string it writes with VTS_01_0.IFO to create the filesystem structure we need.

    Attributes we care about for those files are size (4-bytes) and LBA position (2-bytes). In the UDF specification these fields are adjacent, with LBA being stored as an offset from the directory descriptor containing these fields (VIDEO_TS at LBA 134 in our case). The tool creates these files with size 2032 bytes, and LBAs 138 and 139, so the byte patterns we are interested in are:
    Code:
    VIDEO_TS.IFO: f0 07 00 00 0a 00
    VIDEO_TS.BUP: f0 07 00 00 0b 00

    Contents of the ISO 9660 filesystem used by games generally seem to start at around 260, which I believe is a requirement by Sony. This is great for us since it means that we have roughly 250KB ((262-137) * 0x800) of space to place the exploit files and loader, and we only need a fraction of that. Given this amount of space, it would even be possible to include some kind of Action Replay cheat menu or something on the disc, which could be a fun future project.

    Keeping VIDEO_TS.IFO at LBA 138, we just need to extend its size to 14336, and copy the file contents to 138 * 0x800 = 0x45000 in the ISO. Our next free space is 7 sectors later at LBA 145, and will store the contents of our 12288 byte VTS_01_0.IFO file. Finally, the ESR loader program can be copied to the next available sector at 151; we won't bother creating an entry in the UDF filesystem for it since we've already had to manually modify the ISO anyway.

    In summary, the patches we need to make to the UDF data to add our exploit to a patched game are:
    Code:
    VIDEO_TS.BUP -> VTS_01_0.IFO (to rename the file)
    f0 07 00 00 0a 00 -> 00 38 00 00 0a 00 (VIDEO_TS.IFO filesize to 14336)
    0x45000: paste VIDEO_TS.IFO exploit contents (compiled with LOAD_FROM_SECTOR_RELATIVE_TO_VIDEO_TS_IFO so as to boot the ELF from disc at 0x4B800)
    f0 07 00 00 0b 00 -> 00 30 00 00 11 00 (VIDEO_TS.BUP/VTS_01_0.IFO LBA to 145 and filesize to 12288)
    0x48800: paste VTS_01_0.IFO contents
    0x4B800: paste loader ELF

    I only did this once, manually, but it should be pretty straight forward to modify the tool to change these patches. The result is a pretty cool demo showing total defeat of the PlayStation 2 copy-protection security model:

    Demonstration video of new PlayStation 2 exploit through the DVD player, which allows burning homebrew games and running them on an unmodified console the same way you would with official discs. This demo shows loading ESR to boot a backup of an official game stored on the same disc, which is for all intents and purposes complete destruction of the PS2 copy protection security model.

  • Optimisation
    As previously mentioned, the exploit could probably be optimised to boot a fraction of a second faster by reducing the size of the overflow. Also worth noting is that part of the reason the screen flickers whilst triggering the exploit is because I happened to encode my base DVD video as NTSC, and so some of that flickering is an artifact of switching from PAL to NTSC back to PAL. If this bothers you, you can re-make the exploit based on a PAL base DVD instead. Some of the weird white pattern displayed is probably a result of the overflow, and you might be able to remove it by manipulating more of the overflow data.

    Conclusion
    I was successfully able to exploit the PlayStation 2 DVD Player to allow me to run my own burned homebrew discs simply by inserting them and booting, just as you would launch an official disc.

    Although I only exploited version 3.10E, as its the version on the console I happen to own, it's a pretty late version (3.11J was the final version ever released), and so I'm confident that all other versions also contain these same trivial IFO parsing buffer overflows. If those prove to be difficult to exploit on other firmware versions, I'm also confident that there probably exist more generically exploitable bugs like stack buffer overflows if you reverse deeper, after all, I only got as far as reverse engineering the initial IFO parsing before I identified sufficient vulnerabilities for my exploit. I hope this article and these demos inspire others to have a crack at hacking their own console's firmware versions and share their methods in a centralised repo for the community to share.

    The idea of booting discs with no user interaction was extremely appealing to me, but if you instead value having a single disc with compatibility against multiple different firmware versions, it may be possible to build a DVD video which starts with a DVD menu where you select your version and it plays a different video which launches a different exploit, depending on user selection.

    As a final thought, there's really no reason this general attack scenario is specific to the PlayStation 2 as all generations support some combination of burned media: from the PlayStation 1's CD support, to the PlayStation 3 and 4's Blue-ray support, with the PlayStation 4 having only removed CD support. Hacking the PS4 through Blue-ray BD-J functionality has long been discussed as an idea for an entry point. This may be something I would be interested in looking into for a long-term future project: imagine being able to burn your own PlayStation games for all generations; 1 down, 3 to go...



Source: Twitter @CTurtE
Download .iso-Image: PREBUILT ISOs
Complete Blog Post: FreeDVDBoot
FreeDVDBoot on GitHub: CTurt
YouTube Channel: CTurt
 
Last edited:
This means that You aren't boot it (ODD was reject it before allow PS2 firmware to run it). Try different disc and/or clean laser lens. ;) This should be launched on all models (doesn't mean exploit works on all), and i.e in browser, in menu with MC and HDD, yellow disc should appear with DVD-Video description.

If console have modchip installed. Boot console with turned it off (if possible) because all second generation modchips needs special tricks to boot DVDV (i.e Ripper 2 Gold demand as I remember 3xReset).

No modchip, fat SCPH-39003. DVD 2.13E

Unfortunately I don't have any other brand of DVD-R, only Maxell.
I remember back in the day before I understood SMB and had a slim using ESR, many discs wasted until I got hold of some Verbatim discs.

I just tested a legit DVD film and that is read and boots fine...
 
No modchip, fat SCPH-39003. DVD 2.13E

Unfortunately I don't have any other brand of DVD-R, only Maxell.
I remember back in the day before I understood SMB and had a slim using ESR, many discs wasted until I got hold of some Verbatim discs.

I just tested a legit DVD film and that is read and boots fine...

For everyone, Keep in mind, different Ps2 models play different DVD R format types.
(DVD-R, DVD R+ Ect...). Some models have limitations some models do not.
I can't recall which models does what but should not be hard to track

Edit: Not the full story of support of DVD disc on PS2 but here @atreyru187 mentions this in another (unrelated) thread about someone having issue with DVD+R
DVD+R support wasn't officially added till the SCPH-500X model (the last phat PS2 system) so using it on that or any slim models are just fine. The SCPH-300X/3900X or the 1000 models isn't suggested (DVD+R).
 
Last edited:
I tried SCPH-50004 / DVD Ver. 3.04E model console but no luck... :(
It gives "Playback halted due to malfunction" error.
I guess we will wait until the appropriate software comes out.
 
Last edited:
Truly living the dream right here: Burn a disc and go. Fantastic work done on this! Unfortunately I'll have to wait for this to get ported to other DVD Player firmwares as I just tried EVERY PS2 I own and didn't have success booting this with any of them, which is to be expected since this is targeting version 3.10E. Regardless I wanted to provide my DVD Player versions and the results I got.

2.12U - Black screen with DVD player menu controls. If I press the Play button it states "Unable to read disc."
3.00U - Black screen with white text that states "Play halted due to malfunction."
3.11U - Black screen.
 
Here are my results:

ModelBrowserCD PlayerPlaystation DriverDVD PlayerWorking
SCPH-500041.402.001.113.02EPlay halted due to malfunction
SCPH-700041.402.001.113.10EYes*
SCPH-790031.402.002.003.11EBSOD
* - I need to unplug my MC with DVD Player modifications (3.11 RPC-1)
to launch wLe.

As name of an ISO (3.10E.iso), currently exploit should work with DVD Player 3.10E...
Also:
So mainly 3.10.
 
Last edited:
@CTurt uploaded a build for 3.11!

https://github.com/CTurt/FreeDVDBoot/blob/master/3.11EU.iso

Edit: Keep in mind, that it is not yet tested!

Edit: CTurt rebuilt the 3.11EU.iso to work on 3.11E and 3.11U consoles. The original iso only worked on 3.11J, and has been renamed to 3.11J.iso - the original issue is resolved.

I tested this and let CTurt know on Twitter - same results on a 3.11U unit I have. He says he will try to update it tomorrow.

I'd recommend other 3.11 owners test as well, in case there's any error on my end.
 
Last edited:
Guys,

I plan to create a "Compatibility List" similar what @jolek did above because with more and more updates and Devices supported, it could lead into some confusion. Best Example, when I understand this correctly, than 3.11.iso could work on SCPH-75xxx, SCPH-77xxx and SCPH-79xxx BUT NOT ON SCPH-90xxx right?

Just tell your exact SKU model name and the Firmware Version here and I will collect some Data. The approach from @jolek is pretty good when you provide the complete info.

Thanks in Advance.

EDIT: My Goal is to understand which SKU had which DVD Player Software in general so a newcomer can quickly identify if his/her PS2 works with that Exploit or not without even testing it.
 
Guys,

I plan to create a "Compatibility List" similar what @jolek did above because with more and more updates and Devices supported, it could lead into some confusion. Best Example, when I understand this correctly, than 3.11.iso could work on SCPH-75xxx, SCPH-77xxx and SCPH-79xxx BUT NOT ON SCPH-90xxx right?

Just tell your exact SKU model name and the Firmware Version here and I will collect some Data. The approach from @jolek is pretty good when you provide the complete info.

Thanks in Advance.

EDIT: My Goal is to understand which SKU had which DVD Player Software in general so a newcomer can quickly identify if his/her PS2 works with that Exploit or not without even testing it.
By now it looks the suffix used in the exploit files could be removed in the future, the original release was intended to be used in "E" region (europe), but people realized soon that it works also in "U" region (usa)... so by now the files has been renamed with the suffix "EU"
But that "EU" looks a bit confusing, there could be people that hinks it means EUrope, lol... and eventually there could appear someone reporting that it works also in "A" region (for asia)... in other words... it could happen that the exploit is "region agnostic"... so at some point would be better to remove that suffix indicating the region

Also, at this point im wondering if the compatibility with new DVD firmware versions is a "feature" that can be implemented in the same files
I mean... if the files required for the exploit are going to be generic for all DVD firmware versions (so 1 fileset to pwn them all)... or is going to be needed to create a fileset for every DVD firmware version

This 2 details are important to decide how to create the table you are going to do

Btw, i think could be handy to add one or two more columns at the right of the table with some links
 
Yes I saw that from now on it looks the Region doesn't matter.

Sure if there will be "one to pwn them all", then I don't need any List at all lol.

I will use PS2 Wiki for my List but will keep things simplified so it can be exported easily here as well.
 
I'd recommend other 3.11 owners test as well, in case there's any error on my end.

I have the same result as you.
I mean I cannot launch (BSOD) new exploit for 3.11EU on DVD Player 3.11E or any other.

More info about my consoles can be found here:
https://www.psx-place.com/threads/u...ps-on-unmodified-ps2.30204/page-3#post-248708.

EDIT: I have notice that this version should be for DVD Player 3.11J with English language set in settings.

EDIT 2: Added support for 3.11E\U.

If someone have a problem with 3.10EU also try to change language in settings to English.
Source:
https://github.com/CTurt/FreeDVDBoot/blob/master/README.md#step-1-identify-your-dvd-player-version.
Reason for editing: Added more info and link.
Added support for 3.11 E/U
 
Last edited:
Unfortunately I don't have any other brand of DVD-R, only Maxell.

Try then on different speed and/or different burner. PS2 ODDs (and i.e GC ODDs) are very "touchy" for errors count and jitter.

I remember back in the day before I understood SMB and had a slim using ESR, many discs wasted until I got hold of some Verbatim discs.

Yeas, running game copies is no different in that purpose than dvd-video.

I just tested a legit DVD film and that is read and boots fine...

"Legit DVD films" are on DVD-ROM, not DVD-R (which should be readable on all ODDs, instead to DVD+R).
 
Try then on different speed and/or different burner. PS2 ODDs (and i.e GC ODDs) are very "touchy" for errors count and jitter.



Yeas, running game copies is no different in that purpose than dvd-video.



"Legit DVD films" are on DVD-ROM, not DVD-R (which should be readable on all ODDs, instead to DVD+R).

I burned DVD using IMGburn set to 4x write speed.
I guess I could go down to 1x write speed lol.
I only have one DVD Writer :(

I read TnAs post about "booktyping" the disk to DVD-ROM. I will try different setting combinations but I have a much older DVD player version than the current 3.10 and 3.11 releases
 

Featured content

Trending content

Back
Top