To quote from PSGroove: He has managed to run Castlevania: Lords of Shadow from his internal hard drive, while on Geohot's 3.55 Custom Firmware. He achieved this by patching the game's main executable file (EBOOT.BIN) and making the PS3 think it's a PSN game.
Originally Posted by riku.kh3
Castlevania: Lords of Shadow (BLES01047) signed & packed EBOOT (33.5MB)
1) Install PKG file.
2) Transfer contents of USRDIR folder, EXCEPT EBOOT.BIN, to /devhdd0/game/BLES01047/USRDIR/
Thats all! Tested! The game will work from XMB on retail nonJB 3.41, 3.55 and future versions.
OK, here's the guide to patch your own games:
1) Download and compile latest tools from git.fail0verflow.com Git (old versions of unself produce incorrect ELF)
2) Extract ELF from SELF
3) Hexedit ELF, find and replace dev_bdvd to correct path on dev_hdd0 (not all, but most games require this step)
4) Build NPDRM SELF using Geohot's tools
5) Build package using psn_package_npdrm
6) Patch your builded package using Geohot's tool (only for 3.55 firmware)
That's it. If you can't follow this guide, a more detailed guide won't help you.
This also works from 3.41, with no jailbreak dongle, video below (courtesy of TheRuler):
Next up, [Register or Login to view links] has made available PS3 BDVD EBOOT to HDD/USB BackUp EBOOT Converter v1.0 (MAC) followed by PS3 BDVD EBOOT to HDD/USB BackUp EBOOT Converter v1.1 (MAC) and PS3 BDVD EBOOT to HDD/USB BackUp EBOOT Converter v1.2 (MAC), to quote: "Just want to contribute a bit of software. Here is a Mac tool to automate EBOOT.BIN patching and making NDPRM package files with config.
You will still need to use "psn_package_npdrm" and "package_finalize" (for 3.55) to make a package file, because I can't find sources for "psn_package_npdrm"."
1.2 - 12/01/2011
Improved pattern search for "/dev_bdvd" -> "/dev_hdd0" patch
Patched bytes are displayed in text view
1.1 - 12/01/2011
Added PARAM.SFO/PS3_SYSTEM_VER display label
Added patch option to change PARAM.SFO/PS3_SYSTEM_VER to 3.41 version
Copy LICDIR along with TROPDIR to NPDRM package files
Fixed issues with saving more than one game backup packages from one application instance
Static libraries linking replaced with dynamic linking. GMP library doesn't work properly when linked as static.
GMP dynamic library is included, so you don't need to install it to run application. If you want to build project from sources install GMP library headers to /opt/local/include.
Finally, a more detailed guide is below from [Register or Login to view links] as follows:
More Friendly Guide for Making PS3 BDVD EBOOTs into HDD/USB EBOOTs
Note: 80010007 error - You changed the path file to longer than it was originally changing the structure of the eboot.
Also need an FTP client or a way of moving the eboots and game files you have around on your PS3.
I've got windows so im writing this for windows. Linux people you should be savvy enough to figure out what you need from this.
1. Download and do a default install of cygwin.
2. Start cygwin up once, then close it. (Creates the file structure you need for the next part)
3. Download and extract ps3tools.zip. Go to the folder you extracted and take every file except the folder .ps3 and put it in you c:/cygwin/bin/ folder (Assuming you did a default install, this is where the cygwin folder should be). Take the folder .ps3 and put it inside c:/cygwin/home/(Your Username Here)/
4. Download and extract the psn_package_npdrm.exe file to the same place.
5. Okay open up cygwin again.
6. Take an eboot.bin file you want to modify and put it inside the folder c:/cygwin/home/(Your Username Here)/.
7. Type unself eboot.bin eboot_modified.elf (You can call the .elf file whatever you want)
8. Open up your eboot_modified.elf inside a hex editor (I used HxD)
9. **Important** Any modifications you do cant change the file size of the elf. Okay go into your elf and change the dev_bdvd to dev_hdd0. This is where it takes some imagination. By changing the dev_bdvd to dev_hdd0, its going to look at the dev_hdd0 path (Your Ps3 Hard-drive) for the files. That means if it says /dev_bdvd/PS3_GAME/USRDIR/ when you change it to /dev_hdd0/PS3_GAME/USRDIR/ it will look at that place for the files it needs. So if they arnt there it wont work. Also if you add/subtract to the elf here, you will get the error 80010007 when you start up your game. Your just looking to do an exact replacement.
Example time - I just got FF13 to work for me, i changed the path from /dev_bdvd/PS3_GAME/ to /dev_hdd0/FF13GAME/. I then went and created the folder FF13GAME inside my dev_hdd0 on my PS3 and put all the appropriate files in there (For FF13 you just need the /USRDIR/white_data/ Folder.) Here is the FF13 file i made.
MRTC00003 - Final Fantasy XIII
For 3.41JB and down, If you are on 3.55 use geohots package_finalize.exe on it first. [Register or Login to view links]
Create the file structure below inside your PS3 and put "white_data" folder inside it.
10. Okay save your elf file with the modifications you made.
11. Type "make_self_npdrm.exe eboot.elf EBOOT.BIN UP0001-xxxxyyyyy_00-0000111122223333" (Without the quotes and the xxxxyyyyy being the game ID for your backup)
12. You now have your eboot.bin file you need.
13. Now you need to make your pkg file folder structure and associated files. First create a file called xxxxyyyyy.conf and place this inside it. (Where xxxxyyyyy is put your game id)
15. Open your param.sfo file inside your hex editor or sfo editor and change DG to HG. (DG = Disc Game, HG = Hard Drive Game)
16. Back to cygwin and type psn_package_npdrm xxxxyyyyy.conf xxxxyyyyy
17. You should now have a package file if you did everything correctly.
18. (3.55 Only) now type package_finalize.exe UP0001-xxxxyyyyy_00-0000111122223333.pkg
19. Copy the package file to a USB drive and go install it on your PS3.
20. Start up your ftp program and create or move the USRDIR files (Minus the eboot) to the directory you pointed at inside your modified eboot.