Editing PKG files
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
See also {{talk}} page, [ | See also {{talk}} page, [http://www.psdevwiki.com/ps4/PKG_files PS4 PKG], [[PKG_DIGEST.DAT]], [https://playstationdev.wiki/psvitadevwiki/index.php?title=System_File_Object_(SFO)_(PSF)]. | ||
There are two kinds of SCE package files (.pkg): | There are two kinds of SCE package files (.pkg): | ||
* System Software Update Packages (.pkg) | * System Software Update Packages (.pkg) | ||
* NPDRM Packages (.pkg) | * NPDRM Packages (.pkg) | ||
= System Software Update Packages = | = System Software Update Packages = | ||
Line 280: | Line 280: | ||
! Identifier !! PKG type !! Category name !! Possible size !! Possible values | ! Identifier !! PKG type !! Category name !! Possible size !! Possible values | ||
|- | |- | ||
|0x1 || All || | |0x1 || All || DRM Type || 4 || 0/5/6/7/8/9/0xA/0xB/0xC (unknown), 0x1 (network), 0x2 (local), 0x3 (DRMfree no license), 0x4 (PSP), 0xD (DRMfree with license), 0xE (PSM) | ||
|- | |- | ||
|0x2 || All || [[PKG_files#ContentType|ContentType]] || 4 || 00 00 00 07 | |0x2 || All || [[PKG_files#ContentType|ContentType]] || 4 || 00 00 00 07 | ||
Line 292: | Line 292: | ||
|0x6 || PSP || Version + App Version / [[TitleID]] (on size 0xC) || 0xC || "NPEG00005\0\0\0" | |0x6 || PSP || Version + App Version / [[TitleID]] (on size 0xC) || 0xC || "NPEG00005\0\0\0" | ||
|- | |- | ||
|0x7 || PSP | |0x7 || PSP and PS3 || QA Digest (described as "This is a digest of packaged files and attributes.")|| 0x18 || 00 00 00 00 00 00 00 00 B5 76 E1 D9 00 EE 9B BC 8E 24 17 91 5D BC 5A CB | ||
|- | |- | ||
|0x8 || All || unk (1 byte) + PS3/PSP/PSP2 System Version (3 bytes) + Package Version (2 bytes) + App Version (2 bytes) || 8 || 00 00 00 00 00 00 00 00, 00 00 00 00 01 00 01 00, 44 01 70 00 01 01 00 00, 81 01 90 00 01 00 01 00, 81 04 75 00 01 02 01 00 (4.7500, 1.02, 1.00) --> unk: 44 maybe PSP and 02/80/81 PS3 | |0x8 || All || unk (1 byte) + PS3/PSP/PSP2 System Version (3 bytes) + Package Version (2 bytes) + App Version (2 bytes) || 8 || 00 00 00 00 00 00 00 00, 00 00 00 00 01 00 01 00, 44 01 70 00 01 01 00 00, 81 01 90 00 01 00 01 00, 81 04 75 00 01 02 01 00 (4.7500, 1.02, 1.00) --> unk: 44 maybe PSP and 02/80/81 PS3 | ||
Line 331: | Line 331: | ||
|0x3 || || || || | |0x3 || || || || | ||
|- | |- | ||
|0x4 || GameData || /dev_hdd0/game/ || || | |0x4 || GameData (also patches) || /dev_hdd0/game/ || || | ||
|- | |- | ||
|0x5 || GameExec || /dev_hdd0/game/ || || | |0x5 || GameExec || /dev_hdd0/game/ || || | ||
Line 337: | Line 337: | ||
|0x6 || PS1emu || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | |0x6 || PS1emu || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | ||
|- | |- | ||
|0x7 || PSP || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | |0x7 || PSP & PCEngine || /dev_hdd0/game/ || ?ux0:pspemu/PSP/GAME/? || | ||
|- | |- | ||
|0x8 || || || || | |0x8 || || || || | ||
Line 353: | Line 353: | ||
|0xE || PSPgo || /dev_hdd0/game/ || || Displayed as Unknown Album: Corrupted Data | |0xE || PSPgo || /dev_hdd0/game/ || || Displayed as Unknown Album: Corrupted Data | ||
|- | |- | ||
|0xF || | |0xF || Minis || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | ||
|- | |- | ||
|0x10 || NEOGEO || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | |0x10 || NEOGEO || /dev_hdd0/game/ || ux0:pspemu/PSP/GAME/ || | ||
Line 369: | Line 369: | ||
|0x16 || PSP2AC (PS Vita Additional Content) || || ux0:addcont/ || | |0x16 || PSP2AC (PS Vita Additional Content) || || ux0:addcont/ || | ||
|- | |- | ||
|0x17 || PSP2LA (PS Vita LiveArea) || || ux0: | |0x17 || PSP2LA (PS Vita LiveArea) || || ?ux0:livearea/? || | ||
|- | |- | ||
|0x18 || PSM (PS Vita PSM) || || ux0:psm/ || [https://www.playstation.com/en-ca/explore/playstation-mobile/ PlayStation Mobile] | |0x18 || ?PSM? (PS Vita PSM) || || ux0:psm/ || [https://www.playstation.com/en-ca/explore/playstation-mobile/ PlayStation Mobile] | ||
|- | |- | ||
|0x19 || WT || /dev_hdd0/game/ || || | |0x19 || WT (?Web TV?) || /dev_hdd0/game/ || || | ||
|- | |- | ||
|0x1D || PSM | |0x1D || ?PSM? (PS Vita PSM) || || || | ||
|- | |- | ||
|0x1F || PSP2Theme (PS Vita Theme) || || ux0:theme/ || | |0x1F || PSP2Theme (PS Vita Theme) || || ux0:theme/ || | ||
Line 385: | Line 385: | ||
! Identifier !! type name !! usage !! notes | ! Identifier !! type name !! usage !! notes | ||
|- | |- | ||
| | | 4th byte, bit: xxx1 xxxx, ex: 00 00 00 1E (+CumulativePatch), 00 00 20 1E (+VC-MC+CumulativePatch) || Patch || for PSP game updates, to use with CumulativePatch, IncrementalPatch, HybridPatch || | ||
|- | |- | ||
| | | ex: 00 00 08 5A (+RenameDirectory) || DiscGamePatch || for PS3 BD games || | ||
|- | |- | ||
| | | 4th byte, bit: xxx1 xxxx, ex: 00 00 00 5E (+Finalized+RenameDirectory) || HDDGamePatch || for PS3 HDD games (NPDRM) || | ||
|- | |- | ||
| | | unk || NoEBOOTBIN || || | ||
|- | |- | ||
| ex: 00 00 00 | | 4th byte, bit: xxxx 1x1x, ex: 00 00 00 4A (+RenameDirectory) || Demo || || | ||
|- | |- | ||
| ex: 00 00 00 0C || Key || || | | 4th byte, bit: xxxx 11xx, ex: 00 00 00 0C || Key || || | ||
|- | |- | ||
| | | ex: 00 00 30 1E (+VC-MC+CumulativePatch+Patch) || Upgradable || || | ||
|} | |} | ||
To class in PackageType or PackageFlag : DiscBinded | |||
=== PackageFlag === | === PackageFlag === | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Identifier !! type name !! usage !! notes | ||
|- | |- | ||
| | | ex: 00 00 00 00 || NO FLAGS || || yes it exists, it was found in IP9100-NPIA00001_00-PS2HDDSYSDAT0001 that was builded with revision 960 (very old) !!! | ||
or even UP0700-NPUJ00213_00-0000000000000002 (so old that it does not embed make_package_npdrm revision) | |||
|- | |- | ||
| | | 4rd byte, bit: x1xx xxxx, ex: 00 00 00 4E, 00 00 00 5E || RenameDirectory || || | ||
|- | |- | ||
| | | when RenameDirectory flag is not set (default), ex: 00 00 00 0E || NoRenameDirectory || || | ||
|- | |- | ||
| | | 4rd byte, bit: xxxx x11x, ex: 00 00 00 0E, 00 00 00 1E, 00 00 00 4E, 00 00 00 5E, warning: do not mistake with the finalized flag in main header || Finalized || || PS1 and PSP games have not this flag: 00 00 02 0C, PS3 game that has not this flag : 00 00 00 08 | ||
|- | |- | ||
| | | ex: 00 00 00 08 || NON Finalized flaged PS3 package (DLC) || || | ||
|- | |- | ||
| | | ex: 00 00 02 0C, 00 00 02 1C (+Patch) || NON Finalized flaged package (all PS1 and PSP packages) || || | ||
|- | |- | ||
| | | ex: 00 00 02 4E (+RenameDirectory) || NON Finalized flaged minis package || || | ||
|- | |- | ||
| | | ex: 00 00 04 8C || Theme (.p3t.edat) / License package (.edat) || -> ????noEBOOOT?????? || | ||
|- | |- | ||
| | | ex: 00 00 04 0C || VSH Module package (PS3 only) || || | ||
|- | |- | ||
| | | 4rd byte, bit: xxxx ?111x?, ex: 00 00 20 1E, 00 00 00 1E || CumulativePatch || Embeds the previous patches || To use with Patch PackageType. | ||
|- | |- | ||
| | | unk || IncrementalPatch || Requires the previous patches to be installed first || To use with Patch PackageType. | ||
|- | |- | ||
| | | unk || HybridPatch || || To use with Patch PackageType. | ||
|- | |- | ||
| | | 3rd byte, bit: x1xx xxxx, ex: 00 00 40 0E || NonGame || Used for most of PS Vita NPDRM apps || | ||
|} | |} | ||
Line 444: | Line 440: | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Identifier !! type name !! usage !! notes | ||
|- | |- | ||
| | | 3rd byte, bit: xx1x xxxx, ex: 00 00 20 0E, 00 00 20 1E || VC-MC || | ||
[VC-MC] | |||
This application is distributed by PS Vita card(VC). | |||
This application may be distributed by network and installed onto memory card(MC). | |||
[In case of VC distribution] | |||
The VC does NOT have rewritable(R/W) area, and Patches/Additional Contents/Save Data are stored on MC. | |||
MC is REQUIRED to run this application. | |||
|| There exists 2 variants : 2GB VC and 4GB VC (it is still unknown how to recognize this difference) | |||
|- | |- | ||
| | | default (when VC-MC flag is not set), ex: 00 00 00 0E, 00 00 00 1E || VC-VC || [No VC/MC-MC] | ||
This application is NOT distributed by PS Vita card(VC). | |||
This application is distributed by network and installed onto memory card(MC). | |||
|| | |||
|} | |} | ||
Line 709: | Line 716: | ||
| data_size || 0x10 || u64 || | | data_size || 0x10 || u64 || | ||
|- | |- | ||
| flags || 0x18 || u32 || The file type | | flags || 0x18 || u32 || The file type | ||
|- | |- | ||
| padding || 0x1C || u32 || zero | | padding || 0x1C || u32 || zero | ||
Line 732: | Line 739: | ||
=== PKG builder / infos / extractor === | === PKG builder / infos / extractor === | ||
=== package.conf (PSP/PS3/PS Vita) === | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Config name !! Usage !! Expected value !! Example | ||
|- | |- | ||
| | | Content_ID || needed || XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX || EP4153-NPEZ00314_00-0000111122223333 | ||
|- | |- | ||
| | | K_licensee (PS3) || needed (can be set to 0x00000...) || 0x00000000000000000000000000000000 || 0x0123456789ABCDEF0123456789ABCDEF | ||
|- | |- | ||
| | | DRMType || needed || Network / Free / Local || Free | ||
|- | |- | ||
| | | ContentType || needed || See [[PKG_files#ContentType]] || minis | ||
|- | |- | ||
| | | PackageVersion || needed || XX.XX || 01.02 | ||
|- | |- | ||
| | | PackageType || || See [[PKG_files#PackageType]] || DiscGamePatch | ||
|- | |- | ||
| | | PackageFlag || || See [[PKG_files#PackageFlag]] || RenameDirectory | ||
|- | |- | ||
| | | StorageType || needed for PS Vita gamedata || See [[PKG_files#StorageType]] || VC-MC | ||
|- | |- | ||
| | | TitleID || used only for PSP and PS1 games || XXXXYYYYY || NPEZ00314 | ||
|- | |- | ||
| | | LimitedTimeStart || || YYYY-MM-DDThh:mmTZD || 2018-10-30T11:55T32 | ||
|- | |- | ||
| | | LimitedTimeEnd || || YYYY-MM-DDThh:mmTZD || 2019-10-30T11:55T32 | ||
|- | |- | ||
| | | InstallDirectory || used in PSP patches ?and DLCs? || ? || UCUS98744_LBPPDLCSONYPA002 | ||
|- | |- | ||
| | | ForcedInstallTo || Allows installing packages to any HDD directory (and even flash memory if it is mounted RW). || || | ||
|} | |} | ||
=== NPDRM.CONF (PSP) === | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Config name !! usage !! expected value !! example | ||
|- | |- | ||
| Content-ID || needed || XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX || EP4153-NPEZ00314_00-0000111122223333 | | Content-ID || needed || XXYYYY-XXXXYYYYY_00-XXXXXXXXXXXXXXXX || EP4153-NPEZ00314_00-0000111122223333 | ||
|- | |- | ||
| K-Licensee || needed (can be set to 0x00000...) || 0x00000000000000000000000000000000 || 0x0123456789ABCDEF0123456789ABCDEF | | K-Licensee || needed (can be set to 0x00000...) || 0x00000000000000000000000000000000 || 0x0123456789ABCDEF0123456789ABCDEF | ||
|- | |- | ||
| PackageVersion || needed || XX.XX || 01.02 | | PackageVersion || needed || XX.XX || 01.02 | ||
|- | |- | ||
| ProtectDocument || used in PSP Downloadable Game Package (PSP .pkg) | | ProtectDocument || used in PSP Downloadable Game Package (PSP .pkg) | ||
Line 788: | Line 789: | ||
to purchase the downloadable game package. If "ProtectDocument = FALSE" is specified or | to purchase the downloadable game package. If "ProtectDocument = FALSE" is specified or | ||
if no specification is made, the game manual will not be protected by NPDRM. | if no specification is made, the game manual will not be protected by NPDRM. | ||
|| FALSE/TRUE || FALSE | || FALSE/TRUE || FALSE | ||
|- | |- | ||
| [[PKG_files#HealthWarning|HealthWarning]] || used in PSP Downloadable Game Package (PSP .pkg) | | [[PKG_files#HealthWarning|HealthWarning]] || used in PSP Downloadable Game Package (PSP .pkg) | ||
Line 798: | Line 799: | ||
If "HealthWarning = NONE" is specified or if no specification is made, no startup warning | If "HealthWarning = NONE" is specified or if no specification is made, no startup warning | ||
will be displayed. | will be displayed. | ||
|| NONE/[[PKG_files#HealthWarning|specification word]] || NONE | || NONE/[[PKG_files#HealthWarning|specification word]] || NONE | ||
|- | |- | ||
| ZIPThreshold || used in PSP Downloadable Game Package (PSP .pkg) | | ZIPThreshold || used in PSP Downloadable Game Package (PSP .pkg) | ||
Line 810: | Line 811: | ||
download the package. Unless you specifically need to change the compression rate, do not | download the package. Unless you specifically need to change the compression rate, do not | ||
include this specification. | include this specification. | ||
|| 0 to 100 || 80 | || 0 to 100 || 80 | ||
|- | |- | ||
| OptimizeLevel || used in PSP Downloadable Game Package (PSP .pkg) | | OptimizeLevel || used in PSP Downloadable Game Package (PSP .pkg) | ||
Line 821: | Line 822: | ||
When the authoring service changes, refer to details that are publically available in the | When the authoring service changes, refer to details that are publically available in the | ||
Technical Notes. | Technical Notes. | ||
|| ?0 to 100? || ?80? | || ?0 to 100? || ?80? | ||
|- | |- | ||
| BootablePlatform || used in PSP minis Package (PSP minis .pkg) | | BootablePlatform || used in PSP minis Package (PSP minis .pkg) | ||
Line 827: | Line 828: | ||
games, "BootablePlatform = minis" must be set in NPDRM.CONF that is a configuration file | games, "BootablePlatform = minis" must be set in NPDRM.CONF that is a configuration file | ||
for packaging. | for packaging. | ||
|| minis || minis | || minis || minis | ||
|- | |- | ||
| BootablePlatformDetails || used in PSP minis Package (PSP minis .pkg) | | BootablePlatformDetails || used in PSP minis Package (PSP minis .pkg) | ||
Line 835: | Line 836: | ||
"BootablePlatformDetails=onlyPSP" to NPDRM.CONF in addition to the setting | "BootablePlatformDetails=onlyPSP" to NPDRM.CONF in addition to the setting | ||
"BootablePlatform = minis". | "BootablePlatform = minis". | ||
|| onlyPSP || onlyPSP | || onlyPSP || onlyPSP | ||
|} | |} | ||
==== PSP SDK official tool: make_package_npdrm (2006-2014) ==== | ==== PSP SDK official tool : make_package_npdrm (2006-2014) ==== | ||
* latest version: rev 1642 | * latest version: rev 1642 from 6.60 PSP SDK | ||
==== PS Vita SDK official tool: make_pkg.exe (2011-2014) ==== | |||
==== PS Vita SDK official tool: | |||
* latest version: make_pkg.exe rev 1972 (2014-06-29) from PublishingTools version 2.31.0.1669 in 3.55/3.57 PS Vita SDK. | * latest version: make_pkg.exe rev 1972 (2014-06-29) from PublishingTools version 2.31.0.1669 in 3.55/3.57 PS Vita SDK. | ||
==== PS3 SDK official tool : make_package_npdrm (2006-2017) ==== | |||
* latest version: rev 1972 from 4.75 PS3 SDK | |||
* common version: rev 1732 from 3.40 PS3 SDK (also found under patched form) | |||
* oldest leaked version: rev 1061 from X.XX PS3 SDK | |||
==== Make Package Npdrm Patcher (revision 1732) by SubZero Dezigns (2012) ==== | ==== Make Package Npdrm Patcher (revision 1732) by SubZero Dezigns (2012) ==== | ||
Line 1,025: | Line 948: | ||
[https://github.com/st4rk/PkgDecrypt Source code] | [https://github.com/st4rk/PkgDecrypt Source code] | ||
==== PKGrip by qwikrazor87 (2018) ==== | ==== PKGrip by qwikrazor87 (2018) ==== | ||
Line 1,110: | Line 1,029: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{File Formats}}<noinclude>[[Category:Main]]</noinclude> | {{File Formats}}<noinclude>[[Category:Main]]</noinclude> |