Homebrew för PlayStation Portable

Från Rilpedia

Version från den 30 januari 2009 kl. 19.15 av Jalla (Diskussion)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Program skrivna för Playstation Portable (eller någon annan spelkonsol), brukar kallas för homebrew. För PSP finns ett stort utbud av dessa program. Bland annat spel, filhanterare, WiFi-applikationer, IR-sändarprogram med mera. För att dessa program som inte har blivit digitalt signerade av Sony skall kunna exekveras, krävs att konsolen använder sig av systemprogramvara 1,50 eller alternativt en inofficiell variant.

Innehåll

Upptäckten av homebrew

I april 2005 upptäcktes en metod på byggde på DNS-omdirigering av spelet Wipeout Pures innehållsnedladdningstjänst, så att vanliga HTML-sidor visades istället. Genom att använda sig av denna metod kombinerat med att gissa sig fram, kom hackare fram till att navigering till adresser som file:///disc0:/ tillåter användaren att komma åt filerna på UMD-skivor. På så vis upptäcktes konsolens exekverbara filformat, EBOOT-filen. Layouten av detta filformat offentliggjordes genom att använda sig av en dumpad avbildsfil av konsolens system-ROM och kunskapen som upptäckts från Wipeout Pure-skivan.

I maj månad samma år, var konsolen som använde systemprogramvara 1.00 kapabla att exekvera osigerad kod packad i samma format som EBOOT.bin från Wipeout Pure-UMD:n, men från /PSP/GAME-mappen på ett Memory Stick. Detta betydde att konsolen kunde användas för att köra homebrewmjukvara, eftersom att det inte fanns någon inbyggd mekanism som verifierade att koden hade signerats digitalt i den första systemprogramvaruversionen (på liknande sätt som det var med både Playstation och Playstation 2 - bristande säkerhet i de första revisionerna).

Dessutom är det möjligt att dumpa Universal Media Disc:ar genom att använda homebrewprogram. Dessa avbilder kan skrivas till ett Memory Stick Duo och därifrån exekveras. Dessa avbilder kommer då att bete sig på exakt samma sätt som om de vore fysiska UMD-skivor.

1.50 homebrew

I juni 2005 upptäcktes det att osignerad kod kunde köras på PSP med systemprogramvara 1.50. Denna upptäckt tillät tidigt köpta konsoler i USA att köra homebrew. Det utvecklades två sätt att kunna köra osignerad kod. Den tidigare av dem utnyttjade ett kryphål känt som "Swaploit" och den senare via den säkrare "KXPloit".

Swaploit

Swaploit släpptes den 15 juni 2005. Den skapades av en spansk grupp och bygger på att byta mellan två olika minneskort vid uppstartandet av spelet. Det har rapporterats att minneskort har försämrats då denna metod använts, men det har inte bekräftats.

KXploit

KXPloit utvecklades av en spanjor med alias Killer-X. KXPloit utnyttjar en felaktig användning av sprintffunktionen hos konsolen genom att ha en annan mapp, namngiven å samma sätt men med ett procenttecken efter filnamnet (till exempel game och game%). "Procentmappen" innehåller ingen data utöver bilder och en PARAM.SFO. Mappen utan procenttecknet innehåller bara en DATA.PSP omdöpt till EBOOT.PBP, vilken innehåller koden. Problemet med denna "exploit" var att korrupt data visas på minneskortet (presic som normal data gör). Detta beror på att PSP: bara programmet med en PARAM.SFO-fil i det, det vill säga filen inuti procentmappen. Mappen som endast består av programdata bedöms vara korrupt. Detta fick man emellertid snartt bukt med genom att använda två trick. Ett utnyttjar FAT16-systemet på mineskortet och den andra involverar placeringen av "__SCE__" före namnet på den korrupta mappen och "%__SCE__" framför den normala mappen (den utan procenttecken). De båda tricken tar bort den korrupta datat eftersom mappen utan procenttecken numera är osynlig för PSP:n, men fortfarande tillåter EBOOT:en att exekveras. Det finns många verktyg som automatiskt gömmer det korrupta datat och organiserar alla installerade program.

No-KXploit Patch

Vissa användare av homebrew klagade på att ha dessa två mappar för programmet och att korrupta ikoner visades. Även om det finns sätt att gömma ikonerna så är det besvärligt. Ett homebrewprogram som kallas "No-KXploit patch", modifierade konsolens systemprogramvara i RAM-minnet, vilket tillät program som inte använde KXploit att exekveras direkt. No-KXploit patc-programmet har i sig självt använt "KXploit" för att tillåta exekvering av det.

Programmet modifierar inte systemprogramvaran permanet utan bara i RAM-minnet. Det som programmet gör, görs även av inofficiella systemprogramvaror, vilka är designade för att köra homebrew-programvara.

1.51- och 1.52-homebrew

Under lite över två år fanns det inga som helst metoder att köra homebrew på systemprogramvara 1.51 och 1.52. Båda dessa var väldigt säkra och det kom aldrig några hemmagjorda program för dessa versioner. Det fanns heller ingen möjlighet att nedgradera dessa systemprogramvaror förrän Sony släppte uppdateringen 2.00, vilken senare hackades vi en .tiff-säkerhetslucka i fotobiblioteken.

2.00-homebrew

Huvuduppdateringen i systemprogramvara 2.00 var webbläsaren. I och med detta, blev det möjligt att skriva program som kunde dra nytta av konsolens HTML-renderingsmöjligheter och dess nya möjlighet att ansluta till servrar på trådlösa nätverk.

Den 23 september 2005, upptäcktes ett kryphål i form utav att osignerad kod (binärfil) kunde exekveras efter att buffertöverskridning i bildrenderingsbiblioteken åstadkommits. Metoden involverade att användaren öppnade en TIFF-fil i bildmappen. När man fick åtkomst till fotomenyn, var binärfilen laddad.

Två dagar senare släpptes det första "Hello World"-programmet. Storleken hos binärfilen var begränsad till 64kb och PSP:n kunde inte läsa okrypterade ELF-filer än, så vidare exprimentering krävdes innan någon form utav homebrew-mjukvara kunde köras. En dag senare släpptes det första spelbara spelet som använder sig utav kryphålet, det fick namnet "TIFF Pong 2.00".

En PSP-programutvecklare med alias Fanjita, skapade ett program kallat eLoader, vilket använder samma kryphål som "MPH Downgrader" och låter användaren köra usignerad programvara från en meny. Detta var ett alternativ till att nedgradera konsolen med "MPH Downgrader", vilket kunde vara riskabelt.

Kort därefter upptäcktes en ny TIFF-säkerhetslucka, vilken fungerar med alla systemprogramvaror upp till 2.80.

Referenser

Fotnoter

Webbkällor

(engelska) Engelska Wikipedias artikel: En äldre version som använts och en nyare version som använts

(tyska) Tyska Wikipedias artikel Playstation Portable

(svenska) Playstation Portables officiella webbplats: playstation.com/psp/

(engelska) PSP-vault: psp-vault.com

(engelska) Playstation.com PSP: playstation.com

(engelska) "Champagne Gold" källa:psp-vault.com

(engelska) Systemprogramvara 2.00 källa: psp.ign.com

(engelska) Portable TV källa: psp.ign.com

Tryckta källor

  • Playstation Portables handbok
Personliga verktyg