Programmeur weet homebrew te draaien op PlayStation 2 zonder hardware-mods

Hoewel de PlayStation 2 inmiddels 20 jaar oud is, is het nog steeds niet simpel om onofficiële software te draaien. Daarvoor is nog bijvoorbeeld een modchip, of aangepaste geheugenkaart voor nodig, maar het is een programmeur gelukt om met alleen een schijfje homebrew te booten.

Het werk staat op naam van een in Engeland wonende Security Software Engineer bij Microsoft. Christopher 'CTurt' Ertl zegt in zijn blog dat het een 'extreem aantrekkelijk idee' was voor hem om zelf samengestelde disks te kunnen booten zonder verdere handelingen van de gebruiker. Dat dit kan, toont hij sinds zaterdag in verschillende YouTube-video's.

Het entry point waar CTurt uiteindelijk voor gekozen heeft, is de dvd-videospeler. Hij past het .ifo-bestand, waar metadata in opgeslagen wordt, aan. Verschillende calls naar dit bestand hebben geen maximum aan hoeveel data er teruggestuurd mag worden, wat de mogelijkheid schept voor een buffer overflow. Die wordt gebruikt om een elf loader te starten die niet verifieert of dat .elf-bestand, wat het equivalent van een .exe-bestand is, ondertekend en vertrouwd is.

Als bewijs heeft CTurt video's gepost waarin hij een homebrew Tetris speelt, een NES-emulator met Super Mario Bros. en een back-up van Shadow of the Colossus. Verder heeft hij een uitgebreide blogpost aan het gehele proces gewijd en staat de broncode van zijn project online. Afsluitend stelt hij dat er 'echt geen reden is waarom dit scenario alleen op de PS2 werkt, aangezien alle generaties PlayStation fysieke schijfjes ondersteunen'.

Door Mark Hendrikman

Redacteur

28-06-2020 • 13:40

54

Reacties (54)

54
53
29
3
0
22
Wijzig sortering
.elf-bestand, wat het equivalent van een .exe-bestand is
Da's natuurlijk niet helemaal correct. ELF is een bestands formaat en wordt gebruikt voor verschillende types bestanden, met verschillende bestands extensies, zoals .so voor libraries (shared object), .o voor object files, .ko voor kernel modules, etc. ELF wordt gebruikt in veel *Nix achtige OS-en,
executables op *nix-achtige systemen hebben vaak helemaal geen extensie.

.exe is een bestandsextensie, maar zegt niet direct wat over het formaat, en is dus niet vergelijkbaar met ELF. Het Windows equivalent van ELF is PE (Portable Executable). Dit formaat kan gebruikt worden in .exe files, en zal tegenwoordig ook het meest gebruikte formaat zijn, maar .exe kan ook een DOS 'MZ' of 'NE' executable zijn. PE wordt o.a. ook gebruikt in .dll, .ocx, .drv, en .sys files.

Het Mac-equivalent is Mach-O.
Als we dan toch al gaan mierenneuken, kunnen we dan niet gewoon zeggen dat equivalent "gelijkwaardig" betekent en derhalve in dit geval juist is toegepast?

Het gaat tenslotte om een executable file formaat. DOS MZ, NE, PE en ELF zijn wat mij betreft allemaal overeenkomstig in het feit dat ze executable zijn en daarom heb ik geen moeite met de vergelijking van de auteur.
Het gaat tenslotte om een executable file formaat.
Nee, .exe is een bestands extensie, niet een file formaat.
Schreef ik dat? Jij bent de enige die spreekt over bestandsextensies. Zowel het artikel als mijn reactie noemen beide niets over bestandsextensies.

"In dit geval" verwees naar het originele artikel waar gesproken wordt over een ELF-bestand en een EXE-bestand.

Zoals je zelf al aangaf, EXE-bestanden zijn niet uitsluitend PE-bestanden. Precies om die reden begrijp ik waarom in het artikel geschreven wordt over een EXE-bestand. Er wordt een vergelijking gemaakt tussen een bestand met de ELF extensie en een bestand met een EXE extensie. Niet tussen bestandsformaten of extensies.
Het is appels met peren vergelijken. .exe is geen bestandsformaat en kan je dus op geen enkele manier vergelijken met ELF.

[Reactie gewijzigd door Aaargh! op 22 juli 2024 23:02]

Een uitvoerbaar bestand met een .exe extensie kun je prima vergelijken met een uitvoerbaar bestand met een andere extensie. Dat zijn geen appels en peren, dat zijn beide bestanden. Nogmaals, het ging hier om de bestanden de uitvoerbaarheid. Niet om de formaten of extensies.
Zoals je zelf al aangaf, EXE-bestanden zijn niet uitsluitend PE-bestanden. Precies om die reden begrijp ik waarom in het artikel geschreven wordt over een EXE-bestand.
Nee, dat is dus het punt. Een ELF file is niet noodzakelijk een uitvoerbaar bestand. Een .exe is een bestand dat direct door de gebruiker uitgevoerd kan worden, de data in dat bestand is op een bepaalde manier georganiseerd, en dit formaat is op Windows over het algemeen PE (Portable Executable). Dit wil echter niet zeggen dag elk bestand in PE formaat een executable is. Onder Windows is .dll is ook in PE formaat, en .sys en .drv bestanden ook, maar deze zijn niet zomaar uit te voeren.

ELF is net zoiets. Executables zijn ELF bestanden (op gangbare OSen die ELF gebruiken over het algemeen zonder extensie), maar een ELF bestand is niet per se een executable. Het kan ook een dynamisch gelinkte library zijn, of een object file, of een core dump.

Dus: exe is altijd een executable. Executables op niet-Windows OSen kunnen in ELF formaat zijn, maar niet elke ELF file is een executable. Appels zijn fruit maar niet elk stuk fruit is een appel.
Is dit een volledige unlock of zijn er nog limieten die overkomen moeten worden?
Dit is een volledige 'unlock'. Onderin de blogpost legt hij het verder uit:
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.
Dit is niet een volledige unlock maar een omzeiling van de MECHACON security processor. Door de dvd's in dvd-video mode te laten draaien heb je de mogelijkheid om unsigned code te draaien (ESR patches bestonden al lang) maar nog geen zelfgebrande schijfjes zonder patch.
Maar als je dus met een gebrande dvd nu dus alle homebrew kunt draaien die je wilt, kun je dus wel stellen dat de ps2 daarmee unlocked is.
Hier mee kun je dus gewoon een freemcboot memory card maken... tot nu toe had je daar een omgebouwde PS2 voor nodig
Dat is ook niet waar, aangezien je via verschillende game exploits de freemcboot installer kon draaien. Bijvoorbeeld 007 Nightfire.
Nee. Want er zitten nog steeds haken en ogen aan de diverse homebrew groottes. Plus er is nog niets bekend over verdere compatibility.
"Mechacon" was altijd de benaming voor de mechanism control processor. Heeft ie nog steeds ook die functie in deze apparaten?
Ik denk niet dat de PS2 wordt geunlocked. De disc met het spel wordt aangepast zodat deze boot ondanks dat het niet op een originele disc staat. En daarbij denk ik dat het antwoord ja is, dat heeft hij volledig werkend. Zie zijn video van Shadow of the Colossus:

https://www.youtube.com/watch?v=DWIvfFGuw7I

[Reactie gewijzigd door Mic2000 op 22 juli 2024 23:02]

Afsluitend stelt hij dat er 'echt geen reden is waarom dit scenario alleen op de PS2 werkt, aangezien alle generaties PlayStation fysieke schijfjes ondersteunen'.
Lijkt mij een concept waarop hij an geeft dat de PS3/PS4 generatie voor het eerst een echte hack zal gaan zien die ook op recente firmware's zou kunnen werken.
Maar waarom alleen playstation? "omdat alle playstations fysieke schijfjes ondersteunen"....
Zover ik weet ondersteunen de xbox360 en xbox one dit ook.
En zullen de "playstation 5" en en "xbox x series" dus ook kwetsbaar moeten zijn (de versies met fysieke lade dan)

[EDIT]
Niet dat ik een kant kies in de eeuwige strijdt tussen "eerlijke modders", de "game downloaders" en de consolemakers. Ik vind het vanuit technisch oogpunt gewoon interessant hoe deze hack tot stand is gebracht en hoe simpel deze uiteindelijk wel niet is.

[Reactie gewijzigd door JBVisual op 22 juli 2024 23:02]

.oisyn Moderator Devschuur® @JBVisual28 juni 2020 14:37
Zijn stelling is natuurlijk veel te kort door de bocht, uiteindelijk is het een bug in de dvd software en dat kan gepatched worden, wat misschien al is gebeurd in de loop der tijd. Maar de kans is natuurlijk wel groter dat de verschillende edities van de playstation dezelfde software gebruiken. De Xbox zal zijn eigen implementatie hebben, met mogelijk zijn eigen fouten.
Als je het technische verhaal leest is het juist een probleem met de manier hoe dvd’s worden afgespeeld in het algemeen.

De dvd moet afgespeeld kunnen worden, maar nagenoeg geen enkele film wordt voorzien van een digitale ondertekening. Dit betekend dus dat het bestand met alle gegevens van de film op een whitelist moeten worden geplaatst om afgespeeld te kunnen worden.

Nu zijn daar mogelijkheden voor te maken zoals de film afspelen binnen een sandbox, maar dat is momenteel zover ik weet op geen enkele console aan de orde.
.oisyn Moderator Devschuur® @JBVisual28 juni 2020 15:41
Nu loop je wat te hard van stapel. Een DVD bevat geen direct uitvoerbare code. Voor interactieve menu's is er wel een basale lijst met opcodes, maar die bieden nog geen native toegang tot de CPU.

De aard van het beschreven probleem is nog altijd gewoon een buffer overflow. Dit kun je veroorzaken door speciaal geprepareerde bestanden in te laden waarbij de inhoud dus niet helemaal klopt tov wat de specs zeggen, en waar de software niet genoeg rekening mee houdt (door blind te vertrouwen op het feit dat de inhoud van het bestand aan de spec voldoet). Dat is uiteindelijk gewoon een bug in de software zelf, niet een fundamenteel probleem met het afspelen van DVD's in het algemeen.

Uiteindelijk is de DVD player gewoon een grote attack surface voor ieder appraat. Of die te exploiten is, en hoe, verschilt per apparaat.

[Reactie gewijzigd door .oisyn op 22 juli 2024 23:02]

Nee, de PS2 is heel erg anders dan de PS3, en het lijkt me vrij logisch dat de software voor de DVD-speler fundamenteel verschilt tussen de twee apparaten (ik neem aan dat bij de PS3 de XMB op de achtergrond nog draait, terwijl op de PS2 de software volledige controle heeft over de hardware vanwege beperkte resources). In het geval van de PS2 zal de software van de dvd-speler tussen de diverse hardwarerevisies nauwelijks verschillen op dit aspect, omdat deze buffer overflow hoogstwaarschijnlijk tot nu niet gevonden was.
.oisyn Moderator Devschuur® @field33P28 juni 2020 21:45
Voor wat betreft de rendering backend van video en audio heb je gelijk, maar dingen als de parsers van de bestandsformaten en de afhandeling van interactieve menu's zal echt niet opnieuw geschreven worden alleen maar omdat de CPU verschilt.

[Reactie gewijzigd door .oisyn op 22 juli 2024 23:02]

Nieuwe(re) consoles zitten toch aardig vast aan het internet waardoor deze hack mij ongeschikt lijkt. Misschien maar goed ook. Als een grote groep illegaal games kan spelen lijkt dat leuk op de korte termijn. Tot ontwikkelaars omvallen, er minder (goede) games worden uitgebracht, etc.
Dat zal helaas altijd een discussiepunt blijven, de 2 uur die je bij digitale uitgevers krijgt om een game te testen is vaak te kort, en Demo’s zijn tegenwoordig ook een zeldzaamheid.

Op de pc download ik nagenoeg elke maand wel 1 a 2 games, maar koop ik vervolgens wel de games die ik goed vind.
(Goed = doorspelen, slecht = verwijderen)
Games die ik anders compleet links had laten liggen.

Nu weet ik dat die stelling helaas niet voor iedereen op gaat, maar dit is waar deze discussie niet over gaat. En ook nooit een einde zal kennen.
Maar maakt dat je niet stiekem ook gewoon een beetje lui? Ik heb eigenlijk totaal geen problemen met inschatten of ik een game cool ga vinden of niet aan de hand van reviews en video's online. Komt maar weinig voor dat ik spijt heb van een game die ik gekocht heb. Daar hoef ik de game niet illegaal voor uit te proberen. Maar als je dat gewend bent kan ik me voorstellen dat je die moeite gewoon al niet meer echt wil doen.
het hangt een beetje van het spel af, Zeker simulators met een hoge moeilijkheidsgraad moet je spelen om te kijken of dit spel bij je past.

"Project Hospital" heb ik na 4 uur speeltijd gekocht.
"Kerbal space program" heb ik na ongeveer 5 uur spelen gekocht.

niet elk spel heeft een download nodig uiteraard (games als "the witcher 3" hadden zich met de vorige 2 delen al voor mij bewezen, maar een game als deze had ik wel met reviews kunnen kopen omdat de toegankelijkheid nog redelijk laag ligt. Het type spel wat ik speel heeft echter veel tijd nodig om in te komen)
Ah ja daar kan ik me inderdaad wel wat bij voorstellen... Niet mijn type game dus niet een probleem waar ik zelf tegenaan loop.
Nintendo consoles zijn nog steeds makkelijk te hacken kijk maar naar de switch.
Toch wel erg knap, 20 jaar lang geen echte goede software hacks gevonden! De security researches bij sony hadden het goed voor elkaar, wow!

[Reactie gewijzigd door dec0de op 22 juli 2024 23:02]

Aan de andere kant. Met PS1 en PS2 was je Playstation ombouwen echt een ding en volgens mij werd het best vaak gedaan. Ik vraag me af tot in hoeverre Sony's team echt goed bezig was. :P
Nee hoor, PS1 en PS2 hoefde je niet om te bouwen om gekopieerde games te spelen. Waren simpele trucjes voor.
Ja, ik begrijp niet helemaal waarom het bijzonder is. Je had vroeger toch al swap CDs/DVDs voor de ps2? Bij de oude ps2 kon je met een plastic haakje het laatje open doen maar dat ging niet altijd goed. Bij de slim kon je met een rietje de detectie uitschakelen en kon je gewoon het klepje openen en daarna draaien wat je wilde van een gebrande dvd.
Ja idd, en op de PS2 kon je via een Exploder memorycard gekopieerde spellen spelen. Dus geen gefriemel :P
Bij de ps1 kon je gewoon het schijfje wisselen nadat hij een echte geautoriseerd had waarna je je piraten versie kan spelen. Het security model van de ps1 is misschien wel de slechtste ooit, deze hack ben ik als 8 jarig jongetje achter gekomen laat staan hoe snel de piraterij community er achter is gekomen
De PS1 had een vrij aardig security model (door bij op te starten te zoeken naar de letters SCEI, SCEA of SCEE afhankelijk van de regio, die op die manier bijna alleen geschreven konden worden op een geperste CD), alleen keken ze even over de swaptruc heen. De swaptruc werd om zeep geholpen door games die eens in de zoveel tijd op zoek gingen naar de regiocode, die natuurlijk niet aanwezig kon zijn op menig gebrand schijfje, samen met modchips die alleen bij het opstarten een goed getimede SCEE eruit stuurden.

Het model was in ieder geval beter dan dat van de Saturn, een apparaat wat überhaupt geen rekening hield met CD-branders omdat die indertijd nog duizend euro kostten.
Denk het wel ja, heb zelf ook nog een omgebouwde PS2 slim op zolder liggen
Freemcboot bestaat al jaren, en wordt veel gebruikt.
Minus de 12+ jaar dat het al gehacked was.
Het probleem was dan ook nooit echt Sony, maar vooral exploits gevonden in savegames, of zelfs een demo disc.
Er waren al eerdere bruikbare exploits, zoals de Independence Exploit en Free McBoot (hoewel laatstgenoemde niet echt een exploit is maar gebruik maakt van een door Sony toegevoegde functie om een firmware update te laden van een memory card om dure terugroepacties te vermijden bij een bug), maar beiden hadden als nadeel dat er een memory card waarop het al geïnstalleerd was (en dus 'patient zero' in de vorm van een gemodchipte PS2) nodig was om het te verspreiden. Voor deze exploit heb je niks anders nodig dan een brandbare DVD en een DVD-brander (laatstgenoemde is tegenwoordig iets minder wijdverspreid dan op het hoogtepunt van de PS2, maar soit), dus dit is een flinke vooruitgang (en staat ook homebrew zonder modchip op de laatste hardware-revisie in de vorm van de SCPH-90000 toe)
Leuk, maar meer dan dat ook niet echt. Wel knap gevonden na al die jaren.
FreeMcBoot is een begrip sinds jaren en zelfs voor beginners erg eenvoudig te realiseren.
Maar dan moet je iemand kennen die al een freeMCBoot memory card heeft of zelf met freeHDBoot aan de haal (dat laatste heb ik gedaan en vervolgens een memorycard gemaakt).. dus voor beginners niet zo eenvoudig.

Met deze methode kan je op een andere manier de freemcboot installer opstarten en installeren.
Dat klopt, of bijv. al een PS2 hebben met iets als een Matrix Infinity chip, maar het gaat me ook om de eenvoudige manier van het (zelfde) doel bereiken. Desalniettemin minder moeite en hetzelfde resultaat dus erg netjes gevonden :)
Zijn volop verkrijgbaar bij de bekende Chinese webshops ;-). In combinatie met een SATA adapter speel je al je spellen vanaf een HDD/SSD.
Je kan kant en klare kopen bij Ali voor een paar euro ;).
Dit maakt het voor instappers inderdaad makkelijker om freeMCBoot in een memory card te krijgen. Ik heb het een aantal jaar geleden voor elkaar gekregen met een disk swap exploit in 007 agent under fire, maar die was behoorlijk frustrerend om uit te voeren, dus ik had graag deze oplossing gehad! :D
Maar daar heb je al homebrew voor nodig om de memory card te 'hacken'. Dit lijkt me een compleet opzichzelfstaand concept.
Ik stond net op het punt een Raspberry Pi met Retropie in mijn oude PS2 te bouwen. Toch eerst dit nog even proberen.
Eerste wat ik dacht na het lezen van dit artikel; had de Dreamcast maar zo'n goede beveiliging...
Offtopic. Biedt iemand serieus de ps2 via bol aan voor 199eu?
Dat viel mij ook op
Voor de echte liefhebber natuurlijk wel erg leuk.
Oh man, dat zullen de makers van Bomba Patch geweldig vinden...

Op dit item kan niet meer gereageerd worden.