How to Modify Sony PS3 PKG Files UPDATED! Discovered and Written by Xcellerator
Contents
Sony PS3 Executable PKG’s (HDD Boot Software) – How to unpack a PKG file
[II] – How to modify the PARAM.SFO file (Changing the Game ID)
[III] – How to write the configuration file in order to pack the PKG
[IV] – How to pack a PKG file Sony PS3 Game Update PKG’s (Patches/Updates for Disc Games) – Information
[II] – How to pack a PKG file
FAQ
Please note: to use this guide you will need the following:
• PS3 SDK (I used the 3.41 as you can use it entirely on Windows!)
• PS3SFOEdit.exe (Or any other PS3 SFO Editor)
• A bit of common sense
Sony PS3 Executable PKG’s (HDD Boot Software) – How to unpack a PKG File
OK, let’s start off easy. This was already well known before I wrote this tutorial, but I’ll add it in as a reference. First you’ll need to start up Windows. Now make sure you have your PS3 SDK and the PKG on the Desktop and open up a command prompt. From your CMD window, browse to the following directory using the CD command:
(For XP, use Documents and Settings instead of Users)
cd “C:\Users\<username>\Desktop\PS3 SDK”
In this directory is the Linux version of the PS3 SDK and is where all the tools we need for modifying the PKGs even further than this article will show. The file we are going to use is called make_package_npdrm. To unpack the PKG we issue the following command.
make_package_npdrm –x <PKG-FILE>
Example:
./make_package_npdrm –x manager.pkg
Now from whatever directory you issued the command, (in our case it’s bin) will be a folder titled whatever the Game-ID of the PKG is. So for us, it will be LAUN12345. If we open that folder, we can see the following files.
NOTE: You can only decrypt DEBUG PKG files as they are not signed by Sony. You can obtain Debug files from this link.
Congratulations, you now have successfully unpacked a Sony PS3 PKG File
[II] – How to modify the PARAM.SFO file
OK, so by now, you should have extracted a PKG and have the contents on your Desktop in Windows. This section will show you how to modify the PARAM.SFO file. It contains everything the PS3 needs to know about what the PKG contains and how to run and where to store its contents. I will be using a program called PS3SFOEdit.exe but any SFO Editor will do. (They’ve been out a while, so I’m sure you’ll find one with a quick Google search!) To start open up your SFO Editor and Load up the PARAM.SFO from the LAUN12345 folder.
If look in the top-left you will see the setting for the Game-ID. As you can see I have already changed it to BLES00232 (SEGA Superstars Tennis). The only other setting you need to look for is the Data Type. I have it set to HG – Harddisk Game. I did not have to change it, but you may need to change it for various reasons, while experimenting. Once you have modified all the settings you need to, click save and you are finished.
So, you’ve made it this far, have you? Done with the easy stuff! Most people knew all this before. Now comes the good stuff!
[III] – How to write the configuration file in order to pack the PKG
The configuration file is possibly the most important thing to get right while packing a PKG. It contains all the necessary information in order to pack your PKG with the correct settings. Below is an example of a configuration file.
Content-ID = EP0001-BLES00232_00-XCELLERATORSTEAL >> Name given to PKG
K_licensee = 0x00000000000000000000000000000000 >> License No. (unique)
DRM_Type = Free >> Free or Local (Paid)
Content_Type = GameExec >> PKG Content Type
PackageVersion = 01.00 >> Package Version
This is where I had to experiment a bit. In the SDK v1.92 Documentation, configuration files are slightly different. In the 1.92 version the Content_Type would be Game_Data, but in the 1.6 version, it’s GameExec. The Content-ID does not matter as long as it follows the following layout: XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX. DRM_Type specifies whether this PKG is Free (no activation needed) or Local (activation needed via PSN Store). Follow the above layout exactly as it is and make sure you customise it so it suits your needs. If you make any errors, you will not be able to form your PKG file. (Don’t worry, you’ll just have to come back and fix the file!)
When you are finished, you can continue to the final stage: Packing Your First PKG File!
[IV] – How to pack a PKG file
So here we are, the final stage of the operation where we can form our very own PKG file and install it onto our PS3! In order to follow this section, you must be on your chosen Linux Distro, and have your configuration file, PKG contents and the PS3 SDK readily available. I am going to assume that all of those things are on your Desktop.
Now, in whatever directory you ran the command from (in my example it’s the bin folder) will be your PKG file named as whatever the Content-ID was in your configuration file. Feel free to rename this to whatever you want and share with the community at Next Gen Update and PS3 News.
Sony PS3 Game Update PKG’s (Patches/Updates for Disc Games) – Information
OK, I said that I’d release this portion of the guide a few weeks ago, but my laptop packed up and I had some other issues to deal with, but anyway, sorry for the delay, here it is!
In order to make a Patch for a PS3 Disc Game, you need to extract the PKG as you would above, but the secret lies in the packing. Read on to find out.
[II] – How to pack a PKG file
OK, so I fiddled around a bit with Game Update PKG files, and have discovered how to pack a PKG that will be applied to a PS3 Disc Game.
First, you’ll need to edit the PARAM.SFO file to make it say GAME DATA (or GD). This is vital for it to work. Secondly, we need to edit our config.txt file.
Content-ID = EP0001-BLES00232_00-XCELLERATORSTEAL >> Name given to PKG
K_licensee = 0x00000000000000000000000000000000 >> License No. (unique)
DRM_Type = Free >> Free or Local (Paid)
Content_Type = GameData >> PKG Content Type
PackageType = DiscGamePatch >> PKG Type
PackageVersion = 01.00 >> PKG Version
So what’s changed? Content Type has been changed from GameExec to GameData, and a new field has been added: PackageType. In older SDK’s (1.92/1.6) instead of DiscGamePatch, it is simply Patch.
So, I guess some of you are wondering, how I found this out. If you use the make_package_npdrm program, you can discover many things about a PKG file, signed or not signed. Just add “-c” when running it, or use “—check”, which does the same thing.
FAQ
Q: How do I edit the EBOOT.BIN file from the extracted PKG?
A: Use the unfself and make_fself tools in the SDK.
Q: How do I edit the patch_mp.ff file in the Call of Duty patches?
A: Check one of the many threads now on NGU on how to do it, don’t pay anyone to do it for you, you’ll learn better if you do it yourself.
Q: Can I make a modded lobby with this guide?
A: If you edit the patch_mp.ff, and then pack it using the second chapter of this guide, then yes you can.
Q: I get the error: EBOOT.BIN is an NPDRM SELF file with an unsupported extension.
A: This is to do with your config file. If you’re making a HDD Boot Game, then make sure your ContentType is set to GameExec. If you’re making a Disc Game Patch, then make sure you set ContentType to GameData and PackageType is set to DiscGamePatch.
It took me a long time to work out and write down everything in this guide, so please give +REP and Thanks. I ask the Mods to sticky this article so everyone can do this and hopefully get us somewhere further than what I did.
So with the Game update into .pkg files, does that mean that you can update the games from the updates on USB. Like from the files u get downloaded from "Awesome Update Finder"