Help installing Mr Brown's exploit under PS2 Linux

Discuss the development of software, tools, libraries and anything else that helps make ps2dev happen.

Moderators: cheriff, Herben

Post Reply
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Help installing Mr Brown's exploit under PS2 Linux

Post by Barbarian »

I successfully compiled titleman and added my PS1 game to the TITLES.DB, BUT PS2 Linux will refuse to copy, create or read the BADATA-SYSTEM folder. I suspect there is a protection in Sony's mem card libraries, since even with a real dev kit I can't read or modify that folder.
Since the ps2dev libs obviously can copy files there, this must be a software protection somewhere.
Would anyone have insight in this? Mr. Brown?
zaurglub

Post by zaurglub »

you can't create this folder because there is already one, that you can't see. I suppose it has some system permission flags.
So, just go to the ps2 browser, and erase the "Your System Configuration"
. After that, create is ok

I put my elf as BOOT.ELF, but it doesn't run...
I could get to the white screen ( SETBG(0xff, 0xff, 0xff); from _start() in payload.c )
it seems to load my elf correctly, because I don't see the other color errors (SETBG(...))
the screen just turn black, and nothing...

someone has a clue ? better luck with other BOOT.ELF ?
thx
User avatar
Lukasz
Posts: 248
Joined: Mon Jan 19, 2004 8:37 pm
Location: Denmark
Contact:

Post by Lukasz »

zaurglub wrote: I put my elf as BOOT.ELF, but it doesn't run...
I could get to the white screen ( SETBG(0xff, 0xff, 0xff); from _start() in payload.c )
it seems to load my elf correctly, because I don't see the other color errors (SETBG(...))
the screen just turn black, and nothing...

someone has a clue ? better luck with other BOOT.ELF ?
thx
You will have to be specific about what you BOOT.ELF is, the problem is most likely IOP related, eg. error when trying to load a module, calling nprintf or similar.

Lukasz
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Re: Help installing Mr Brown's exploit under PS2 Linux

Post by mrbrown »

Barbarian wrote:I successfully compiled titleman and added my PS1 game to the TITLES.DB, BUT PS2 Linux will refuse to copy, create or read the BADATA-SYSTEM folder. I suspect there is a protection in Sony's mem card libraries, since even with a real dev kit I can't read or modify that folder.
Since the ps2dev libs obviously can copy files there, this must be a software protection somewhere.
Would anyone have insight in this? Mr. Brown?
You'll have to use a tool like nPort to modify that save. You can setup ps2link to run from PS2/Linux, then run nPort once you have ps2link booting.

You're correct about why you can't see those files, there is a flag that allows "system" saves to be accessed, and that flag is only set in the BIOS version of MCMAN.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Hmm, I tried running the pukkling (with the reload1 stub), but it doesn't work on the latest versions of PS2 (I have v9 unfortunately).
If ps2link has an updated RTE loader that would be awesome, I have been trying to run the exploit for weeks now ...
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post by Oobles »

If you don't have a modchip, the other option you have is to use a commercial memory card manager like Xport. Or if you know someone with a modchip then you can use Nport to load ps2link and exploit.

I don't have the linux kit, so can't help you with reload.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Hmm, I didn't realize I can buy a memory card manager. Thanks for the tip.
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

Barbarian wrote:Hmm, I tried running the pukkling (with the reload1 stub), but it doesn't work on the latest versions of PS2 (I have v9 unfortunately).
If ps2link has an updated RTE loader that would be awesome, I have been trying to run the exploit for weeks now ...
It's something I've needed to do for a long time now, but haven't gotten to it. When I get my ps2dev setup at home, I'll release an updated reload1 for v9's.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Thanks Mr Brown that will be greatly appreciated.
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

BTW, and this isn't directed towards you in particular Barbarian :P. "mrbrown" is just the first two initials of my name and my last name, Marcus R. Brown -> mrbrown. I see folks writing Mr. Brown, but that's not how the nick was intended :). If you want to say Marcus, or mrbrown, that's fine with me, but please not "Mr. Brown" :).

Just FYI.
Guest

Post by Guest »

Oh, I see. My bad :D
I somehow assumed it's a Reservoir Dogs thing ...
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

OMG, the login is playing tricks on me.

Btw, Marcus, I can help with the reload1 stub if you want me to. I just need an idea what to look for that is different between v4 and v9 machines. I believe the reload1 code was published on playstation2-linux.com. Is this the latest version?
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

In reload1.c, on line 134, change 0x80005390 to 0x80005388. I *think* that is the only change required for v9 and higher.

The problem right now with me publishing the full fix is that the HDD it's sitting on is in storage atm. Hopefully that will do it for you.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Ok, the fix did the trick and the reload1 boots succesfully.
BUT, ps2link hangs saying : "Booting from host: (host:)"
I think it fails to load some IRX files, since the network adapter doesn't get initialized.
I put all IRX files in the BWLINUX folder. Does it expect them somewhere else? Or is it somehow sensitive to the fact it's being loaded through the RTE.
I even tried with pukklink with the same result - failing to load some IRX.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Ok, found it. ps2link expects argc to be some huge number and somehow it's not anymore, so I just hardcoded reload1 to always use the BWLINUX path. Works like magic now :-)
blackdroid
Posts: 564
Joined: Sat Jan 17, 2004 10:22 am
Location: Sweden
Contact:

Post by blackdroid »

// reload1 usually gives an argc > 60000 (yea, this is kinda a hack..)
else if (argc != 1) {
bootPath = "mc0:/BWLINUX/";
}

You mean this hack ? Im not sure what reload passes in argv ( mc0:ps2link.elf ? )
but what happens if you comment the argc if statement ( from line 378 in current ee/ps2link.c ) ?

could you scr_printf argc and argv and tell us what you get ?
Kung VU
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Actually I hacked the elf directly and replaced the host: string with mc0:/BWLINUX/
I couldn't figure out how to get a tarball from the CVS last night and was too lazy to download each file. I just looked at ps2link.c source to see what it expects as arguments.

I'll try to compile the source tonight and get a printout of argv and argc.
boman666
Posts: 33
Joined: Fri Jan 30, 2004 10:25 am
Location: Hell

Post by boman666 »

What's the easiest way of getting ps2link to work on a PS2 Linuxkit not having xRhino installed?
boman666
Posts: 33
Joined: Fri Jan 30, 2004 10:25 am
Location: Hell

Post by boman666 »

ie how do I solve the prb that ps2link can't access the MC after I've started it with reload and hence can't load the modules required to run.
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

The problem is that ps2link fails to detect it was booted from reload1.
There is a updated version of ps2link which has a special elf called ps2link_forcemc or something like that.
Attach this elf to the reload1 stub and you should be good to go. All IRX files should be in the BWLINUX directory (or in case you don't have the MC patch installed - in the only directory you can see when you mount mc00).
boman666
Posts: 33
Joined: Fri Jan 30, 2004 10:25 am
Location: Hell

Post by boman666 »

I've already modified ps2link.c to force it to load from the MC, but it wasn't able to find any modules with neither mc0:/ nor mc0:/BWLINUX/. I don't have the MC-patch installed. I, for some reason, thought the feature of being able to fully access the MC came with the xRhino kernel. My bad!

Are you saying that, when I put a file, FILE, on the MC with my unpatched kernel, it'll be visible from the PS2 OS as mc0:/BWLINUX/FILE ? Because I forced ps2link to use the mc0:/BWLINUX-path but it still wasn't able to find and load the modules. Maybe I screwed something up, I'll try that again.
boman666
Posts: 33
Joined: Fri Jan 30, 2004 10:25 am
Location: Hell

Post by boman666 »

I've got it to work now. The reason it didn't work was probably because I'd forgotten that I'd comment out all sbv-calls, because I didn't have that lib the first time I tried to get ps2link to compile. Anyways, thanks for the help!
Barbarian
Posts: 28
Joined: Tue Jan 27, 2004 4:31 am

Post by Barbarian »

Yes, under unpatched kernel, anything you write in mc00/, is in reality mc0:/BWLINUX/.
Basicly the patch modifies the kernel so you can see the root of the MC.

Btw, congrats on getting reload1 working. I spent weeks struggling with it before I finally got it :-)
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

I have a fix for ps2link and proper RTE detection.

/me adds to ever-growing list...
Post Reply