Advertising (This ad goes away for registered users. You can Login or Register)

[Suggestion] HBL as signed EBOOT

This is the development forum of the half-byte loader project. For general Half Byte Loader questions, visit the Half Byte Loader forum.
Forum rules
This forum is for HBL Development discussions ONLY. For User support or HBL general discussions, go to viewforum.php?f=3 . Messages that are not development related will be deleted.
dridri
VIP
Posts: 169
Joined: Wed Oct 27, 2010 5:21 pm

Re: [Suggestion] HBL as signed EBOOT

Post by dridri » Wed Jan 26, 2011 10:02 pm

I think it's possible to increase compatible HBs by importing all the user NIDs, then there is no syscall estimations, right ?
Advertising
Sorry for my English :mrgreen:
OpenIdea team support: open.idea.team at gmail.com
LibGE

User avatar
m0skit0
Guru
Posts: 3817
Joined: Mon Sep 27, 2010 6:01 pm

Re: [Suggestion] HBL as signed EBOOT

Post by m0skit0 » Wed Jan 26, 2011 10:06 pm

We somewhat discussed that I think, and IMO that would bloat HBL's size too much, leaving not enough room for big homebrews and actually decreasing compatibility. It might be worth a try though.
Advertising
I wanna lots of mov al,0xb
Image
"just not into this RA stuffz"

JJS
Big Beholder
Posts: 1416
Joined: Mon Sep 27, 2010 2:18 pm
Contact:

Re: [Suggestion] HBL as signed EBOOT

Post by JJS » Thu Jan 27, 2011 8:59 am

You can cover the vast majority of homebrew with a rather smallish set of NIDs. I could see an improvement in adding a few NIDs from sceImpose, sceHprm and sceUsb.

Also with the current design the NID table is limited in size, so that it is very much possible to overflow it when the homebrew uses some user mode libraries (net, mp3). If all theoretically necessary NIDs should be made available the way the NIDs are handled has to be changed overall.

What I could imagine is to only extract information about the lowest NID and the gap from the imports and to store those. Then you would never run the risk of overflowing the table with useless NIDs and could still estimate every syscall.

Edit: In fact you only need exactly two known NIDs per library to use perfect syscall estimation. Namely the first and the last export of the library. Only importing those would automatically keep the NID table small and there would only be a change necessary to get_klowest_syscall() so that the lowest syscall and gap can be extracted from the known NIDs. Nope, scratch that. It doesn't give the lowest syscall.

User avatar
m0skit0
Guru
Posts: 3817
Joined: Mon Sep 27, 2010 6:01 pm

Re: [Suggestion] HBL as signed EBOOT

Post by m0skit0 » Thu Jan 27, 2011 11:05 am

There are A LOT of things that can be improved on HBL, since when I initially designed it, I lacked much knowledge, which now, with the knowledge we have, can be made much more efficient, faster and smaller. I already proposed a complete re-design in the past. Now I'm not coding for PSP anymore, but if someone feels like doing it, go ahead.
I wanna lots of mov al,0xb
Image
"just not into this RA stuffz"

Strangelove
Posts: 286
Joined: Thu Nov 25, 2010 6:32 pm

Re: [Suggestion] HBL as signed EBOOT

Post by Strangelove » Thu Jan 27, 2011 2:16 pm

The EBOOT is 5.5MB and yet it's mostly imports. Why does the imports take so much space?
"If you have specific questions ... don't hesitate to ask as the more generic the question is the more philosophic the answer will be" - PSPWizard

JJS
Big Beholder
Posts: 1416
Joined: Mon Sep 27, 2010 2:18 pm
Contact:

Re: [Suggestion] HBL as signed EBOOT

Post by JJS » Thu Jan 27, 2011 2:24 pm

Strangelove wrote:The EBOOT is 5.5MB and yet it's mostly imports. Why does the imports take so much space?
They don't. The 5.5 MB is mostly padding to reach the same size as the demo from which the header is copied. This is just a limitation of the signing process. The unencrypted PRX is only 26 KiB.

wololo
Site Admin
Posts: 3614
Joined: Wed Oct 15, 2008 12:42 am
Location: Japan

Re: [Suggestion] HBL as signed EBOOT

Post by wololo » Thu Jan 27, 2011 11:04 pm

By the way I believe the signed version of TN Hen is much smaller (a few hundred kB), so I'm assuming we can do better than 5.5MB. Did he use a different wrapper maybe?
If you need US PSN Codes, this technique is what I recommend.

Looking for guest bloggers and news hunters here at wololo.net, PM me!

JJS
Big Beholder
Posts: 1416
Joined: Mon Sep 27, 2010 2:18 pm
Contact:

Re: [Suggestion] HBL as signed EBOOT

Post by JJS » Thu Jan 27, 2011 11:29 pm

Yeah, TN used a different demo (minna no sukkiri it seems). Libre got a nifty tool that can select the demo header according to the homebrew size here.

Libre
Posts: 47
Joined: Sat Jan 01, 2011 4:51 pm

Re: [Suggestion] HBL as signed EBOOT

Post by Libre » Thu Jan 27, 2011 11:32 pm

Wololo wrote:By the way I believe the signed version of TN Hen is much smaller (a few hundred kB), so I'm assuming we can do better than 5.5MB. Did he use a different wrapper maybe?
TN-C is signed using the sukkiri demo headers (instead of World Tour Soccer 2), with gzip compression. I tried yesterday to do the same with HBL but it crashes. I don't know what the problem is since it works with over hbs and the same method, maybe my code is buggy.

Edit : my mistake, I tested it on a hbl version I build from SVN, but I think I was missing something. Anyway, with the current signed HBL r113, decrypted with prxdecrypter, it works just fine with my app :)

Here is HBL r113 EBOOT.PBP repacked with sukkiri1 demo headers & gzip compression : download (621KB)
It may be possible to do better if we could find demos with smaller data.psp.

KaZ
Posts: 158
Joined: Wed Sep 29, 2010 5:36 pm
Location: Flash0:/kd/PF0.prx

Re: [Suggestion] HBL as signed EBOOT

Post by KaZ » Fri Jan 28, 2011 8:27 pm

this isnt really signed its just a trick as mathieulh told me on irc.
why dont u go on pspdemocenter and look on page 3, there are really small demos there ;)

Post Reply

Return to “Half Byte Loader Development”