UPDATER mode patch for eLoader

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
Fanjita
Posts: 217
Joined: Wed Sep 28, 2005 9:31 am

UPDATER mode patch for eLoader

Post by Fanjita »

Hi folks, for any interested parties, we released a patch for eLoader 0.97 that allows it to run GTA in UPDATER mode, as per the technique suggested by moonlight in this thread.

It currently only works on v2.0 PSPs, but might be of interest to anyone looking to explore this little hack.

You can download the patch at http://noobz.eu.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
User avatar
dot_blank
Posts: 498
Joined: Wed Sep 28, 2005 8:47 am
Location: Brasil

Post by dot_blank »

ahh why post pspu thread ...i will not be a member
just to read that thread by moonlight ...can you post
info in a paste or post in this thread ?

thanx in advance
10011011 00101010 11010111 10001001 10111010
User avatar
0okm0000
Posts: 116
Joined: Fri Jan 13, 2006 9:51 am
Contact:

Post by 0okm0000 »

moonlight wrote:Just a thought that came to my mind, but probably won't work...

#include <psploadexec.h>

#define PATH "disc0:/PSP_GAME/SYSDIR/EBOOT.BIN"

void reinit_inupdater()
{
struct SceKernelLoadExecParam param;

param.size = sizeof(param);
param.args = strlen(PATH) + 1;
param.argp = PATH;
param.key = "updater";

sceKernelLoadExec(PATH, &param);
}

In the best of cases, if it succeded, the GTA would be reinited in updater mode, where there are less restrictions, and where probably writing to the flash0 is possible.

In the worst of cases, only a waste of time

Unfortunaly, i don't have a 2.01+ to test these things myself.
moonlight wrote:The sceKernelLoadExec can be called from user mode, at least in 1.50. (but it can only execute files from the disc, curiously, in 1.50, sceKernelLoadExec in user mode can run the BOOT.BIN, not encrypted, but not EBOOT.BIN, the encrypted one :S )

Here you have the exported LoadExec functions for user mode:

http://svn.ps2dev.org/filedetails.php?r ... rev=0&sc=0

FreePlay, don't get confused by the word "kernel". A lot of other functions that have the "kernel" word like sceKernelCreateThread, sceKernelStartThread... can be called from user mode.
PSP hardware hack
http://0okm.blogspot.com/
User avatar
groepaz
Posts: 305
Joined: Thu Sep 01, 2005 7:44 am
Contact:

Post by groepaz »

whats that fuzz about updater mode anyway?
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

groepaz wrote:whats that fuzz about updater mode anyway?
There is nothing special about it... I thought that maybe there would be less restrictions, but i was wrong. If the module has not vsh attributes, the access to flash and functions from sceVshBridge are restringed.
User avatar
groepaz
Posts: 305
Joined: Thu Sep 01, 2005 7:44 am
Contact:

Post by groepaz »

indeed :) cpu mode doesnt change, regardless what configuration is booted :)
Fanjita
Posts: 217
Joined: Wed Sep 28, 2005 9:31 am

Post by Fanjita »

There was some hope that some of the restrictions might be different (for instance, Yoshihiro's speculation that flash access is restricted for games), or that some different modules might be available.

VshBridge is loaded in UPDATE mode, for instance - but sadly we can't use it because we don't have the VSH thread attribute.

Anyway - it's just a little curiosity, since I had the patch in hand it seemed worth releasing it.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
User avatar
dot_blank
Posts: 498
Joined: Wed Sep 28, 2005 8:47 am
Location: Brasil

Post by dot_blank »

just curious

// Define the module info section for VSH module
PSP_MODULE_INFO("modWifiTest", 0x0800, 1, 1);
10011011 00101010 11010111 10001001 10111010
Fanjita
Posts: 217
Joined: Wed Sep 28, 2005 9:31 am

Post by Fanjita »

dot_blank wrote:just curious

// Define the module info section for VSH module
PSP_MODULE_INFO("modWifiTest", 0x0800, 1, 1);
Difficult to edit that flag into BOOT.BIN on the UMD though...

And remember that the eLoader isn't running in kernel mode (or even VSH mode, in this case) - so it can't honour the module's request for the VSH flag. The whole point of the eLoader is that it simulates what it can from sceKernelLoadExec - but it can't grant permissions that it doesn't have.

Of course, I don't know if anyone has tried to LoadExec a plaintext module from the MS in the same way as the plaintext BOOT.BIN is executed. But I suspect that the only reason the plaintext exec is allowed is because the file is on UMD, and just user-mode.
Got a v2.0-v2.80 firmware PSP? Download the eLoader here to run homebrew on it!
The PSP Homebrew Database needs you!
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

Fanjita wrote: Of course, I don't know if anyone has tried to LoadExec a plaintext module from the MS in the same way as the plaintext BOOT.BIN is executed. But I suspect that the only reason the plaintext exec is allowed is because the file is on UMD, and just user-mode.
Of course!! It will give you an error ILLEGAL_LOADEXEC_DEVICE.

Btw, fanjita, have you used the function sceKernelLoadModuleMs in GTA? This function lets you load a signed kernel module (not user ones :O) from the memory stick. Maybe you could use this function to load the usb drivers in GTA, although you would have to copy them from the flash to the memstick :D
Post Reply