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:
I bought the PS2 (brand new) when it was released from the sony store. As i said earlier i am 100 percent certain that it has not been modified in any way.
...and I tell you, that your ASSUMPTION is NOT correct and hence the 100% claim is FALSE!

Your PS2 shows a burned disc as PS2-Disc! That is PROOF that your PS2 has been modded in some way. If you never used MechaPwn, it IS modchipped.
No way around it!


I didn't even know these things were possible until about 2 months ago. I haven't given it to someone else since the time i bought it even for one day. I read somewhere that in a modified PS2 with a modchip, the guarantee void seal on the back of PS2 is broken, which in my case is still intact.
Multiple versions (specifically the earlier Slims and SOME FATs AFAIR) can be opened without destroying that seal AND there are fake-seals available as well!

Nevertheless, i tried what you suggested and it doesn't open the MC-screen.
Try EVERY button! Hold a button right when you press the power-button.

What else do you think i can try to install fmcb?
Try a pre-built, known to be working uLE/WLE-DVD Image! (Edit: I see Berion helped you out with it.)

Have you tried any type of game (direct backup without patches) yet? Preferably 2 trials... One for CD, one for DVD. (Edit: Aha, Modchip proven!)

Just buy the fmcb installed MC?
That's an alternative, if you don't get it working/installed.

And considering that there is no modchip, what do you think has happened to my PS2, and is there any way i can solve this issue and get to ulaunch, fmcb and opl?
I don't see how a no-mod PS2 shows a burned disc as PS2-Disc, if it is neither modded with a Modchip, nor MechaPwn being installed.

The aio 2.0.1 dvd ran fine and from that i tried to install fmcb.
First i tried 1.966(FMCB 19) version, but during boot, after the fmcb logo, it got stuck on black screen.
Then i tried the 1.8 (FMCB 18) verison. But during the boot after its installation, it gets stuck at the FMCB logo. :(

Edit : Also tried the fmcb 1.965 modchip version with usb drivers, fortuna and opentuna.
None of them work.
Does it also not boot with the USB-stick removed?


Try to hold SQUARE + TRIANGLE at boot. I think that was the combo for MIs and Clones.
Otherwise, try to hold every single button (only one) and reset and try the next one, if it didn't work.
You can NOT "wait a second, etc.
When the Sony-Sequence or the FMCB-Logo pops up, it is already too late.

On another note... You can let FMCB automatically boot into OPL and that usually works on most if not all modchips. It is usually the hacked OSDSYS which modchips cause problems with.
 
Hello guys @Berion , @Peppe90 , @TnA
Was busy in work this past week.
Got back to ps2 today and i was thinking that if there was a modchip in my ps2, then there definitely would be a button combo to disable it or access the boot menu of the chip. So i tried different combinations as well single button presses while booting the ps2 but coudn't access anything.
Also researched a bit on various forums as well. I know i could have just opened up the PS2 and see what kind of chip was there, but i was not confident that i would be able to assemble it again.

So out of the various methods to disable the modchip, the one that worked was this:
1. Press the reset button to turn on ps2 from standby. Wait for 1 sec.
2. Press the reset button twice quickly.( before the sony sequence of the Ps2 appears)

After doing this, the PS2 recognized the freedvdboot DVD as a DVD video.(Yayy!). I installed the latest FMCB. Rebooted the PS2, did the reset button combo thing again. and had no problems booting the fmcb. Also installed OPL. Played various games as well. So everything is working.
Only thing is, i have to disable the modchip everytime i start the PS2.
Anybody knows which type of modchip this is? ( May be a crystal chip?)
Or do i have to open up the PS2 to confirm?
It would have been nice if there was some boot menu of the chip.

Also, while i was testing all of this i found out another method to disable the chip. It can also be disabled by doing step 1, and then in step 2 pressing the reset button 6 times quickly.

Will test if it plays burned PS1 games with modchip enabled in the next few days!! :)
 
Last edited:
Not all chips can be temporary disabled and not all have any menu.

Disassembling console and assembling it back is hard for someone without experience and manual skills. And I'm such person unfortunately, yet I did it because battery died and my modchip interfere with FHDB, but if I choose do it again, well... no. It was to much stressful for me. ;p

Modchips cannot be identify in other way than opening console. Some series can be identify based on behaviour, menu looks, button combos etc. but that's all.
 
Hi! I burn some games(Esr Patched) with Img burn
Some of them run perfect but the other games run very bad
I burn them at lowest suported speed (3x)
dvd-r (PRINCO)
Can someone help me?
 
"mid-speed" of the supported "speed-range".
On 4-16x discs, that would be 10x (for good Media). A bit slower for bad media and even slower for Laptop-Writer.
 
What should I do if my PlayStation 2 has DVD version 3.00U instead of 3.02, 3.03, or 3.04?
I use SCPH50001
 
Last edited:
You can do nothing.

If Your console is already hacked somehow, You can put hacked 3.11 DVD-Player update on MC which brings You FDVDB compatibility.
 
I have SCPH-75004 & DVD Player 3.11E
All PS2 Slims - English language.iso not work
I read a message saying there should be lots I wrote 20+ DVDs
 
What "not work" means to You? Describe what You exactly doing since downloading disc image. ;] etc. etc.
 
@Berion thansk for reply this old topic
I test many different brands of dvd-r and different iso
ps2 slim SCPH-75004 6c datecode / DVD Player 3.11E
"The disc could not be read"
According to what it says in ISOs that it is supported
maybe my problem is the laser head is too old to read DVD-R
 
Back
Top