The most requested feature ever for the HBL, is an iso loader: many ďdevelopersĒ promised the release of an iso loader for HBL, but nobody managed to code one so far. To understand what an iso loader is and why it wonít work on HBL, first, we have to know what a .iso file is.
What are isos?
The ISO 9660 is a filesystem standard for optical discs (CDs, DVDs, and even UMDs use it). Itís pretty simple to implement if youíre a developer, and itís widely documented.
An .iso file is just a raw disc image, that you can burn on a disc, or mount with some software, that does nothing but implement the ISO 9660 filesystem.
If you have a CFW, and your CFW can run isos and has a vsh menu, youíll notice an option in your vsh menu called ďISO DriverĒ: usually, a custom firmware has more than just one implementation of the filesystem (driver), each one can have its advantages and works differently (some implement caching, other implement .cso support, and so on).
The OFW itself has an ISO driver, as UMDs use that filesystem aswell: some CFW drivers just patch that driver to make it work with your .iso files.
Now you may be asking yourself ďCanít HBL do the same?Ē
Well, it canít patch the OFW driver as it is a kernel module, itís in kernel memory, and HBL runs in usermode: it canít just write to kernel memory! It canít implement a kernel mode driver (like the ones CFWs have) because that requires access to some kernel-only functions (such as sceIoAddDrv).
Yet, an .iso dumped from an UMD contains some resource files andÖan EBOOT.BIN, whatís that?
Couldnít HBL implement the iso specifications?
The EBOOT.bin inside your iso is just a usermode executable (ELF or PRX), so HBL could technically implement the 9660 filesystem, get that EBOOT.BIN and load it?
Not so fast! First of all, the executable is encrypted, and decryption requires kernel access. But this could be easily bypassed by decrypting the executable on a hacked PSP.
The main problem is that some games come with some kernel modules bundled with them (not sure why, backwards compatibility probably).
When the PSP system executes a game from an UMD, it looks for those modules, and allows the game to load them in order to override some OFW modules.
Doesnít that make the system somewhat vulnerable? Probably, but since only certified software houses should be able to burn images onto UMDs, itís not very risky.
The HBL just canít load those modules, as loading kernel modules requires kernel permissions; mounting the ISO as a ďlegitĒ UMD would make the OFW do that for us, but that requires a kernel mode driver.
So, when HBL executes a game which requires some of those ďextraĒ modules, the game will just not work, as it will most likely check if those modules were loaded or not.
I hope now you understand why we developers, find so annoying such requests. Also, letís face it, most people who ask for an iso loader are pirates: Iím not saying people who really backup their own games to protect them donít exist, but theyíre just a small part of the ďgroupĒ.
Again, I tried to keep this as simple as possible, if you didnít understand something, let me know in the comments
There are currently 1 users browsing this thread. (0 members and 1 guests)