Page 1 of 5

[Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 8:43 am
by m0skit0
Maybe converting HBL into an EBOOT and signing him will allow for easier homebrew running from HBL, so you don't have to pass through a demo exploit to launch HBL. This would get rid for the need of any exploit, and also from all the cleaning since we already know what has to be cleaned :mrgreen:

But I'm thinking also that HBL won't have its "syscall information charge" to be able to resolve the homebrews, but HBL can include any number of imports to be resolved by the OFW kernel as well.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 9:06 am
by JJS
It would probably be possible to hack this is in with minimal effort by doing this:
- Have the signed eboot equipped with imports for every useful library.
- Make the signed eboot perform the functions of h.bin, that is loading hbl.bin and resolving its imports (i.e. copying them to the scratchpad).
- Set the config files to point to the import stubs of the signed eboot, just like you would do it with the exploitet game and its other modules.

So the signed eboot would perform both the functions of the launcher and the exploitet game.

Edit: There would be no changes required to hbl.bin at all. But thinking about it, you could also just have h.bin as it is and only load it to RAM with the signed eboot. Then just have the eboot have a lot of imports and adapt the exploit_config.h file accordingly. Everything else runs at is it. You would basically exploit your own eboot.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 9:21 am
by m0skit0
JJS wrote:But thinking about it, you could also just have h.bin as it is and only load it to RAM with the signed eboot.
Yes, nice thinking, it's even simpler.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 11:34 am
by Strangelove
Good idea. I think many people are sick of hearing the Patapon theme song now. :) I take it that means it will be compatible with TN HEN as well?

The minimal hack sounds like the way to go, I mean you wouldn't want to ruin HBL by changing it so much that it can't perform it's original function. If someday Sony fixes the signing issue, then HBL is once again needed to load from an exploit.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 11:49 am
by wololo
Strangelove wrote:I mean you wouldn't want to ruin HBL by changing it so much that it can't perform it's original function. If someday Sony fixes the signing issue, then HBL is once again needed to load from an exploit.
That's not really an issue though, we could reorganize the code, have 2 separate makefiles for the "game exploit" mode and for the "eboot" mode.

JJS's solution is nice because it probably involves not so much changes to the code, we just need to create a separate Eboot that will act as a fake game that gets exploited

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 12:25 pm
by m0skit0
Strangelove wrote: I think many people are sick of hearing the Patapon theme song now.
You just have to mute the sound. And I'm sure wololo and me heard that dang song more than anyone, maybe even more than Patapon developers themselves :lol:
Strangelove wrote:If someday Sony fixes the signing issue
I hardly think Sony can fix the signing issue...

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 12:32 pm
by wololo
m0skit0 wrote:
Strangelove wrote: I think many people are sick of hearing the Patapon theme song now.
And I'm sure wololo and me heard that dang song more than anyone, maybe even more than Patapon developers themselves :lol:
Lol, every day, when I turn my PSP on, and the "gameboot" sound starts, my wife starts singing "Pata Pata Pata Pooooon... yo ho hoi!..." before the game even runs
I think I semi-bricked my wife :mrgreen:

Edit: back on topic, how do we create an Eboot that has all the imports we need? It's fun to think that I have no good idea how to write a homebrew that hacks itself :lol:

I guess it will go something like:

Code: Select all

//import libraries?

main{
void * h_bin_entry = 0x08810000;
fd = fopen(h.bin)
char * buffer = h_bin_entry;
fread(fd, buffer, 10000);
fclose(fd);

h_bin_entry();
}

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 1:34 pm
by m0skit0
Yeah something like that will work just fine. But it has to import some stuff, otherwise it will be useless.

PD: remember the forum rules, thanks. No useless posts here.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 1:55 pm
by Libre
I was trying to do just that since yesterday, either one of those ways, but unsuccessfully :
- Build the h.bin (loader.c) as signed eboot (-> The original hbl/hbl.bin is loaded but crashes when building NIDS)
- Build the hbl.bin (eloader.c) as signed eboot (-> Crashes after boot screen whenever I include some NIDs from sdk_hbl.S)

Obviously I do this the wrong way, I'll wait to see how your guys will do it, and learn.

Re: [Suggestion] HBL as signed EBOOT

Posted: Thu Jan 20, 2011 2:13 pm
by some1
Libre wrote:I was trying to do just that since yesterday, either one of those ways, but unsuccessfully :
- Build the h.bin (loader.c) as signed eboot (-> The original hbl/hbl.bin is loaded but crashes when building NIDS)
- Build the hbl.bin (eloader.c) as signed eboot (-> Crashes after boot screen whenever I include some NIDs from sdk_hbl.S)

Obviously I do this the wrong way, I'll wait to see how your guys will do it, and learn.
As mentioned above, I think the best way is to make a signed Bin Loader (I just tried it, very easy), and from the bin loader you import all the usefull lib's (not quite sure how to do this), and then adjust the sdk files (also very easy) and the rest should be just troubleshooting :P

In reality, the only thing you need to get hbl going is scePaf_Module, however if you want net, ad hoc, ect you will need others...