Playstation Update Package (PUP): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
 
(298 intermediate revisions by 24 users not shown)
Line 1: Line 1:
==Description==
== Description ==


'''PUP''' (Playstation Update Package) files are packages which contain the files used to update a PSP or PS3 system. There are 2 different types: patches (PS3PATCH.PUP) and full updates (PS3UPDAT.PUP). Based on the model, there are 4 different release types: Retail/CEX, Shop/SEX, Debug/DEX and Tool/DECR. Within the Retail/CEX there are 2 file versions: 1 is a PUP with a normal file length which also gets released online. The other PUP file version is the same, except it is zero-filled to a fixed filelength of 256MB, which gets released on Gamedisks (if gamecreators build their project to a premaster and give it to Sony for signing, they just use a placeholder of a 256MB PS3UPDATE.PUP which contains no firmwaredata at all - it is completely zerofilled. Sony decides the firmware that gets on the disk and for which firmware the 'Gold' code is signed and mastered). There is no regioning in the .PUP files, they are the same for all different regions.
'''PUP''' ('''P'''laystation '''U'''pdate '''P'''ackage) files are packages which contain the files used to update a PSP or PS3 system. There are 2 different types: patches (PS3PATCH.PUP) and full updates (PS3UPDAT.PUP). Based on the model, there are 4 different release types: Retail/CEX, Shop/SEX, Debug/DEX and Tool/DECR. Within the Retail/CEX there are 2 file versions: 1 is a PUP with a normal file length which also gets released online. The other PUP file version is the same, except it is zero-filled after the normal PUP content to a fixed filelength of 256MB, which gets released on Gamedisks (if gamecreators build their project to a premaster and give it to Sony for signing, they just use a placeholder of a 256MB PS3UPDAT.PUP which contains no firmwaredata at all - it is completely zerofilled. Sony decides the firmware that gets on the disk and for which firmware the 'Gold' code is signed and mastered).


== Location ==


==Firmware .PUP structure==
=== PS Vita ===


The HMAC key used to verify the packages has been released. Look around for "pup-hmac"
The PS Vita and PS Vita TV OS can install the update as /PSP2/UPDATE/PSP2UPDAT.PUP or as /PSVITA/UPDATE/PSVUPDAT.PUP.<br />


===Header===
The update comes from:


{| class="wikitable"
http://djp01.psv.update.playstation.net/update/psv/image/image/<YYYY_MMDD>/pre_<md5>/PSVUPDAT.PUP
|-
! Offset
! Length
! Type
! Information
|-
| 0x0
| 0x8
| unsigned long
| Magic
|-
| 0x8
| 0x8
| unsigned long
| Package Version
|-
| 0x10
| 0x8
| unsigned long
| Image Version
|-
| 0x18
| 0x8
| unsigned long
| File Count
|-
| 0x20
| 0x8
| unsigned long
| Header Length
|-
| 0x28
| 0x8
| unsigned long
| File Length
|-
| 0x30
| 0x20 * '''File Count'''
| '''File Table'''
| File Table
|-
| 0x30 + (0x20 * '''File Count''')
| 0x20 * '''File Count'''
| '''Hash Table'''
| Hash Table
|-
| 0x30 + (0x40 * '''File Count''')
| 0x14
| bytes
| Header Hash
|-
| 0x44 + (0x40 * '''File Count''')
| 0xC
| bytes
| Unknown
|}


===File Table===
It is only used by sony on the website. That's why there is no update list on that server.


The file table consists of a number of file entries determined by '''File Count''', with the format below:
== Download ==


{| class="wikitable"
=== PUP Download Repositories ===
|-
! Offset
! Length
! Type
! Information
|-
| 0x0
| 0x8
| unsigned long
| Entry ID
|-
| 0x8
| 0x8
| unsigned long
| Data Offset
|-
| 0x10
| 0x8
| unsigned long
| Data Length
|-
| 0x18
| 0x8
| unsigned long
| Unknown
|}


===Filename IDs===
Links:
* https://darthsternie.net/index.php/ps-vita-firmwares/
* https://darksoftware.xyz/VITA/FWList


{| class="wikitable"
== Types ==
|-
! File Entry ID
! Filename
|-
| 0x100
| ps3version.txt
|-
| 0x101
| resource.txt
|-
| 0x102
| shop.txt
|-
| 0x103
| pup_data.txt
|-
| 0x104
| patch_build.txt
|-
| 0x200
| ps3swu.self
|-
| 0x201
| vsh.tar
|-
| 0x202
| dots.txt
|-
| 0x203
| patch_data.pkg
|-
| 0x300
| update_files.tar
|}


===Hash Table===
=== PS3 ===
The hash table contains a hash entry for every file inside the PUP.


The hash entry format is:
To document.
{| class="wikitable"
|-
! Offset
! Length
! Type
! Information
|-
| 0x0
| 0x8
| unsigned long
| File Entry ID
|-
| 0x8
| 0x14
| bytes
| HMAC-SHA1 hash
|-
| 0x1C
| 0x4
| unsigned int
| Unknown
|}


=== PS Vita ===


==Files in tree example==
PUP contains updates for different partitions of the system. Most packages, once decrypted, decompressed and pieced together are a raw disk image for the partition to update. Sometimes, a TAR archive patch is also used along with the disk images but not as often. Sony usually releases three kinds of update files, each to update different components: release, systemdata and preinstall.


Here is an example of the files stored in a PUP, This is from firmware version 3.55
There are different types of PS Vita .PUP files:


PSUPDATE.PUP
==== release - full - rel ====
??? dots.txt
??? license.txt
??? ps3swu.self
??? update_files.tar
?  ??? BDIT_FIRMWARE_PACKAGE.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_301R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_302R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_303R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_304R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_306R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BDPT_FIRMWARE_PACKAGE_308R.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? BLUETOOTH_FIRMWARE.pkg
?  ?  ??? content
?  ?  ?  ??? RC29_firmware_footer.dfu
?  ?  ?  ??? usb8780-5.0.1-A1-A2.dfu
?  ?  ?  ??? usb8781-20.0.12.0.dfu
?  ?  ??? info0
?  ?  ??? info1
?  ??? CORE_OS_PACKAGE.pkg
?  ?  ??? aim_spu_module.self
?  ?  ??? appldr
?  ?  ??? creserved_0
?  ?  ??? default.spp
?  ?  ??? emer_init.self
?  ?  ??? eurus_fw.bin
?  ?  ??? hdd_copy.self
?  ?  ??? isoldr
?  ?  ??? lv0
?  ?  ??? lv1ldr
?  ?  ??? lv1.self
?  ?  ??? lv2_kernel.self
?  ?  ??? lv2ldr
?  ?  ??? manu_info_spu_module.self
?  ?  ??? mc_iso_spu_module.self
?  ?  ??? me_iso_spu_module.self
?  ?  ??? sb_iso_spu_module.self
?  ?  ??? sc_iso.self
?  ?  ??? sdk_version
?  ?  ??? spp_verifier.self
?  ?  ??? spu_pkg_rvk_verifier.self
?  ?  ??? spu_token_processor.self
?  ?  ??? spu_utoken_processor.self
?  ?  ??? sv_iso_spu_module.self
?  ??? dev_flash_''XXX''.tar.aa.''DATE/TIME''
?  ??? dev_flash3_''XXX''.tar.aa.''DATE/TIME''
?  ??? MULTI_CARD_FIRMWARE.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? RL_FOR_PACKAGE.img
?  ??? RL_FOR_PROGRAM.img
?  ??? SYS_CON_FIRMWARE_01000006.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01010303.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01020302
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01030302.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01040402.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01050002.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_01050101.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? SYS_CON_FIRMWARE_S1_00010002083E0832.pkg
?  ?  ??? content
?  ?  ??? info0
?  ?  ??? info1
?  ??? UPL.xml.pkg
?      ??? content
?      ??? info0
?      ??? info1
??? update_files.tar
??? update_flags.txt
??? version.txt
??? vsh.tar


Release PUPs update most [[Partitions|partitions]]. This contains the actual system files. The main components are <code>os0</code>, <code>vs0</code>, and the [[Boot Sequence|bootloader partition]].


==Content of different versions==
==== systemdata - sd ====


The following information is a copy/paste from the output of [http://www.multiupload.com/U24Q1RAVZ8 KaKaRoTo's pup.c tool]. This is an old build, which does not support 3.56/3.60 and higher added entryid's x501 &amp; 0x601 (which because of that are named ''Unknown entry id'').
Systemdata PUPs only update the <code>sa0</code> [[Partitions|partition]]. It is likely separated from the main update due to it not regularly needing updates and size concerns.


==== preinstall - preinst ====


Preinstall PUPs only update the <code>pd0</code> [[Partitions|partition]]. This is the [[Welcome Park]] application and the initial setup movie. It is likely separated from the main update due to it not regularly needing updates and size concerns.


===1.00 DEBUG/DEX===
==== com ====
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 5
Header length: 400
Data length: 68764824
PUP file hash : CAEE418F3F46FCBED2CDD03C0E63CAF2520463DE
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 6DB520E0481450B4C0B727F936253CFAB101A5C6
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5543056
File hash : C8E9C82F5EC9B3407BF9ECA6B6AF886BD76F2309
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x549628
Data length: 624640
File hash : 9A0DBC899F58774CBDA9C7B904B7675C0E05DAEC
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1E28
Data length: 62597120
File hash : 50B5B65E4DDBFA7D80B61153A937AF1786BBAE3D
</pre>


===1.02 RETAIL/CEX===
Unknown. Maybe stands for Common or for Communication in the case it would target COM PS Vita i.e. PS Vita that have a 3G Modem.
<pre>
PUP file information
Package version: 1
Image version: 1788
File count: 5
Header length: 400
Data length: 95358184
PUP file hash : 5A016FE5EF454A9D2E0C6F2C5FBF5709E743B429
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : D98B072F8DAEA1480E10896EEA934B385177DE0E
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5543136
File hash : 8FF47C8C21F215FC5A09074ACF10902E4DFB9C3C
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x549678
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1E78
Data length: 89190400
File hash : 8A6ED45311E28C9C6B98E4B3FF39CBB6534BB12C
</pre>


===1.02 RETAIL-DISK/CEX===
==== modeldiff ====
Included in some game dumps (BLJS10002)
<pre>
PUP file information
Package version: 1
Image version: 1788
File count: 5
Header length: 400
Data length: 95358184
PUP file hash : 5A016FE5EF454A9D2E0C6F2C5FBF5709E743B429
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : D98B072F8DAEA1480E10896EEA934B385177DE0E
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5543136
File hash : 8FF47C8C21F215FC5A09074ACF10902E4DFB9C3C
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x549678
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1E78
Data length: 89190400
File hash : 8A6ED45311E28C9C6B98E4B3FF39CBB6534BB12C
</pre>


===1.10 RETAIL/CEX===
Unknown. Stands for Model Differences.
This version was only released on the web in Japan
<pre>
PUP file information
Package version: 1
Image version: 2120
File count: 5
Header length: 400
Data length: 102984176
PUP file hash : 00ABB79F0E138C380418D4F98C2AD325CA5F7790
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 4B0B0F10385978C5D28B403FEC5C433C9EC23FFD
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5540328
File hash : 8FD764A609F97CF2EF23B1DBC86C0A0D07F0039F
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x548B80
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1380
Data length: 96819200
File hash : 5AAC434D57F166C947EC8A2C0A06C24013D49DDC
</pre>


===1.11 RETAIL/CEX===
== Revisions ==
<pre>
PUP file information
Package version: 1
Image version: 2232
File count: 5
Header length: 400
Data length: 102994416
PUP file hash : A36739D25BE68C255358571AD4751ECE428A0CF5
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 56B199850A438FB5D114A361E4CF595CE37FDE76
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5540328
File hash : 14EF39578A496420695FD2FE1AAD51016E81629B
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x548B80
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1380
Data length: 96829440
File hash : FAE75883724EAE3DD4F8758546026533A06E872E
</pre>


===1.30 RETAIL/CEX===
=== PS Vita ===
<pre>
PUP file information
Package version: 1
Image version: 2400
File count: 5
Header length: 400
Data length: 102093296
PUP file hash : 4A5D1A97653A6A4CBA6752B989D5A5917DB2846E
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 4C32D1E8DC1913DC16192EB62B9A5E04713D8D58
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5540328
File hash : 8C63C022CC0B7BDA9E06EA661F65A04BB89BCDDE
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x548B80
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1380
Data length: 95928320
File hash : D37A0DE282961924024A6FA558EFD0B414DFE6AA
</pre>


===1.31 RETAIL/CEX===
See [https://psdevwiki.com/vita/index.php?title=Category:Firmware_revisions].
<pre>
PUP file information
Package version: 1
Image version: 2494
File count: 5
Header length: 400
Data length: 102103536
PUP file hash : 79466F7D8DD03810F2693C386E1423D8E067EA77
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 205E7E6B66E1EE0442FFA415C3A70FE45BAC8678
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5540328
File hash : 0C6D7469F542F82C06B37347E18A2FB7A9C4618B
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x548B80
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1380
Data length: 95938560
File hash : E7ECC18E43B0B60174F5FA302EB4ACA559DE829B
</pre>


===1.32 RETAIL/CEX===
== Update List ==
<pre>
PUP file information
Package version: 1
Image version: 2587
File count: 5
Header length: 400
Data length: 102113776
PUP file hash : 9F3C8AE69C18F9006916D7C66A9E09A94D7F5B0F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 1B0FAABBF28999A04A222FB8CC933DA0F2BD5336
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5540328
File hash : 3795309DA00F0AD4A731FCCDF508DD27039DF96B
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x548B80
Data length: 624640
File hash : BD5C9D48280569F69EB1E84761AA455A2D082948
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5E1380
Data length: 95948800
File hash : A7904EDAAFEA7F9125C90AFFC14078CB12064AB6
</pre>


===1.50 DEBUG/DEX===
=== PS3 ===
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 5
Header length: 400
Data length: 75761680
PUP file hash : 35D1318B4930E5EFB330E88FDD933623D92BE543
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 8ECA7569B16CEE5051A740149EB923D2ECD70621
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : 7CB2085262007EFD2C5D113870101784D568EC45
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 70236160
File hash : 5C735DC77E3AFCC9EF82B1FAD5D34B28F30BDB54
</pre>


===1.50 RETAIL/CEX===
There is no regioning in the .PUP files i.e. they are the same for all different regions (if you were looking for regioninfo, [[SKU_Regioning|see here]]). The PS3 however gets the [[ps3-updatelist.txt]] from different servers, depending on the region of that model (last 2 numbers in the CECHxxXX SKU name).
<pre>
PUP file information
Package version: 1
Image version: 3014
File count: 5
Header length: 400
Data length: 103768080
PUP file hash : AD55657DB858BB5F70A977507482C5539BC3FDE8
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 8ECA7569B16CEE5051A740149EB923D2ECD70621
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : E32ABFFF0B67C7348B44914EB388CCC58F1F6B99
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98242560
File hash : A957710F086381215ED43FDE6100E12FECBB0146
</pre>


===1.50 RETAIL-DISK/CEX===
<ul>
<pre>
<li> [http://fjp01.ps3.update.playstation.net/update/ps3/list/jp/ps3-updatelist.txt Japan, jp] (00 > 0x83)
PUP file information
<li> [http://fus01.ps3.update.playstation.net/update/ps3/list/us/ps3-updatelist.txt USA, us] (01 > 0x84)
Package version: 1
<li> [http://feu01.ps3.update.playstation.net/update/ps3/list/eu/ps3-updatelist.txt Europe, eu] (04 > 0x85)
Image version: 3014
<li> [http://fkr01.ps3.update.playstation.net/update/ps3/list/kr/ps3-updatelist.txt Korea, kr] (05 > 0x86)
File count: 5
<li> [http://fuk01.ps3.update.playstation.net/update/ps3/list/uk/ps3-updatelist.txt United Kingdom, uk] (03 > 0x87)
Header length: 400
<li> [http://fmx01.ps3.update.playstation.net/update/ps3/list/mx/ps3-updatelist.txt Mexico, mx] (11 > 0x88)
Data length: 103768080
<li> [http://fau01.ps3.update.playstation.net/update/ps3/list/au/ps3-updatelist.txt Australia/New Zealand, au] (02 > 0x89)
PUP file hash : AD55657DB858BB5F70A977507482C5539BC3FDE8
<li> [http://fsa01.ps3.update.playstation.net/update/ps3/list/sa/ps3-updatelist.txt South Asia, sa (Asia except China, Japan, Korea  and Taiwan)] (06 > 0x8A)
File 0
<li> [http://ftw01.ps3.update.playstation.net/update/ps3/list/tw/ps3-updatelist.txt Taiwan, tw] (07 > 0x8B)
Entry id: 0x100
<li> [http://fru01.ps3.update.playstation.net/update/ps3/list/ru/ps3-updatelist.txt Russia, ru] (08 > 0x8C)
Filename : version.txt
<li> [http://fcn01.ps3.update.playstation.net/update/ps3/list/cn/ps3-updatelist.txt China, cn] (09 > 0x8D)
Data offset: 0x190
<li> [http://fhk01.ps3.update.playstation.net/update/ps3/list/hk/ps3-updatelist.txt Hong Kong, hk] (10 > 0x8D)
Data length: 5
<li> [http://fbr01.ps3.update.playstation.net/update/ps3/list/br/ps3-updatelist.txt Brasil, br] (11 > 0x8F)
File hash : 8ECA7569B16CEE5051A740149EB923D2ECD70621
</ul>
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : E32ABFFF0B67C7348B44914EB388CCC58F1F6B99
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98242560
File hash : A957710F086381215ED43FDE6100E12FECBB0146
</pre>


===1.51 RETAIL/CEX===
For completeness, see [[Product Code]]: Reference Tool/DECR : 0x81, Debug/DEX : 0x82, and Arcade : 0xA0
<pre>
PUP file information
Package version: 1
Image version: 3229
File count: 5
Header length: 400
Data length: 103768080
PUP file hash : 70B8EC7EADF20F8C375F0235315C033A507A61DB
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 0535A3A1DE711EDC17748FA035FFA357C2195177
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : CFBF35000EFA59983CE83259E6C6235C2E965811
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98242560
File hash : F920A8BCC63E223885517007D40B46D0530D67BB
</pre>


===1.51 RETAIL-DISK/CEX===
Retail basic structure of the update URL:
<pre>
PUP file information
Package version: 1
Image version: 3229
File count: 5
Header length: 400
Data length: 103768080
PUP file hash : 70B8EC7EADF20F8C375F0235315C033A507A61DB
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 0535A3A1DE711EDC17748FA035FFA357C2195177
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : CFBF35000EFA59983CE83259E6C6235C2E965811
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98242560
File hash : F920A8BCC63E223885517007D40B46D0530D67BB
</pre>


===1.54 RETAIL/CEX===
  http&#58;&#47;&#47;d<span style="color:darkgreen;font-style:italic;"><TLD></span>01.ps3.update.playstation.net&#47;update&#47;ps3&#47;image&#47;<span style="color:darkgreen;font-style:italic;"><TLD></span>&#47;<span style="color:darkgreen;font-style:italic;">YYYY_MMDD_md5</span>&#47;PS3UPDAT.PUP
<pre>
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, MD5 is 32-digits long HASH)
PUP file information
Package version: 1
Image version: 3563
File count: 5
Header length: 400
Data length: 103757840
PUP file hash : 091FE7875436635F41A40977C419F6F03535BFE0
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : C8C43A20CF1EFBD43EE715A8F97C1BEE63200329
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : DE0C0320B9358E86C747EE96CEF39E19CEAEC419
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98232320
File hash : 069612F52EDF023086AAC691FDD4F582378B9559
</pre>


===1.54 RETAIL-DISK/CEX===
<pre>
PUP file information
Package version: 1
Image version: 3563
File count: 5
Header length: 400
Data length: 103757840
PUP file hash : 091FE7875436635F41A40977C419F6F03535BFE0
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : C8C43A20CF1EFBD43EE715A8F97C1BEE63200329
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5515272
File hash : DE0C0320B9358E86C747EE96CEF39E19CEAEC419
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5429A0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5451A0
Data length: 98232320
File hash : 069612F52EDF023086AAC691FDD4F582378B9559
</pre>


===1.60 RETAIL/CEX===
Shop update check URL: http://fshop01.ps3.update.playstation.net/update/ps3/list/shop/ps3-updatelist.txt
<pre>
PUP file information
Package version: 1
Image version: 3940
File count: 5
Header length: 400
Data length: 109060608
PUP file hash : A8EE5451C36F08A5F76CF40BBFB747335B5A5496
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 4B31D786D899623CE50D85A80D934EB29AE080D3
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5595640
File hash : BDEEC676A150469F3FA4C9C8BB51BE9591E98C55
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x556390
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x558B90
Data length: 103454720
File hash : 1CD6B5400B38171E275240E8BAF42D0319FE396F
</pre>


===1.60 TOOL/DECR===
Content:
<pre>
<pre>
PUP file information
# JP(shop)
Package version: 1
Dest=83;CompatibleSystemSoftwareVersion=4.7600-;
Image version: 3938
Dest=83;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://djp01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
File count: 5
# US(shop)
Header length: 400
Dest=84;CompatibleSystemSoftwareVersion=4.7600-;
Data length: 78862848
  Dest=84;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dus01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
PUP file hash : 583A85AD4446AC9D9F027CE8C49000F7768CA308
# EU(shop)
File 0
Dest=85;CompatibleSystemSoftwareVersion=4.7600-;
Entry id: 0x100
Dest=85;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://deu01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
Filename : version.txt
# KR(shop)
Data offset: 0x190
Dest=86;CompatibleSystemSoftwareVersion=4.7600-;
Data length: 5
Dest=86;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dkr01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
File hash : 4B31D786D899623CE50D85A80D934EB29AE080D3
# UK(shop)
File 1
Dest=87;CompatibleSystemSoftwareVersion=4.7600-;
Entry id: 0x101
Dest=87;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://duk01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
Filename : license.xml
# MX(shop)
Data offset: 0x195
Dest=88;CompatibleSystemSoftwareVersion=4.7600-;
Data length: 3
Dest=88;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dmx01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
# AU/NZ(shop)
File 2
Dest=89;CompatibleSystemSoftwareVersion=4.7600-;
Entry id: 0x200
Dest=89;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dau01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
Filename : ps3swu.self
# SouthAsia(shop)
Data offset: 0x198
Dest=8A;CompatibleSystemSoftwareVersion=4.7600-;
Data length: 5595640
Dest=8A;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dsa01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
File hash : 0F2E2566D7F95DA28AEA273E73455AE116EDD486
# TW(shop)
File 3
Dest=8B;CompatibleSystemSoftwareVersion=4.7600-;
Entry id: 0x201
Dest=8B;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dtw01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
Filename : vsh.tar
# RU(shop)
Data offset: 0x556390
Dest=8C;CompatibleSystemSoftwareVersion=4.7600-;
Data length: 10240
Dest=8C;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dru01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
# CN(shop)
File 4
Dest=8D;ImageVersion=00000000;SystemSoftwareVersion=0.0000;CDN=http://dcn01.ps3.update.playstation.net/update/ps3/image/shop/nodata;CDN_Timeout=30;
Entry id: 0x300
# BR(shop)
Filename : update_files.tar
Dest=8F;CompatibleSystemSoftwareVersion=4.7600-;
Data offset: 0x558B90
Dest=8F;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dbr01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
Data length: 73256960
File hash : 1363C4CA4F0A6DF6DB83FEDB94028A46F573F36F
</pre>
</pre>


===1.70 DEBUG/DEX===
Shop basic structure of the update URL:
<pre>
  http&#58;&#47;&#47;d<span style="color:darkgreen;font-style:italic;"><TLD></span>01.ps3.update.playstation.net&#47;update&#47;ps3&#47;image&#47;shop&#47;<span style="color:darkgreen;font-style:italic;">YYYY_MMDD_md5</span>&#47;PS3UPDAT.PUP
PUP file information
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, MD5 is 22-digits long HASH)
Package version: 1
Image version: 4539
File count: 5
Header length: 400
Data length: 92595160
PUP file hash : CB8F0FA71CDFB07121EB2E88A8F1582778B675F7
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : DCE593E803130EA18E4B24C96263ECDECCC2C626
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5575632
File hash : 8F25EB7BB328BE117616B1690547FA8F44BBFC94
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x551568
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x553D68
Data length: 87009280
File hash : D0E2ABEC793DCC9BF59844834CD485DB757CF86E
</pre>


===1.70 RETAIL/CEX===
=== PS Vita ===
<pre>
PUP file information
Package version: 1
Image version: 4540
File count: 5
Header length: 400
Data length: 111959000
PUP file hash : CD3204B046446C946C9845C567ACB72A01043C77
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : DCE593E803130EA18E4B24C96263ECDECCC2C626
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5575632
File hash : 33D8DECA8E23B5182BEF124E79DA32BC0161095A
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x551568
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x553D68
Data length: 106373120
File hash : 784D9C276FDB0419A8FC591F9535207F285A3463
</pre>


===1.70 RETAIL-DISK/CEX===
Like on PS3, there is no regioning in the .PUP files: they are the same for all different regions. However, the PS Vita gets the psp2-updatelist.xml from different servers, depending on the region of that model.
<pre>
PUP file information
Package version: 1
Image version: 4540
File count: 5
Header length: 400
Data length: 111959000
PUP file hash : CD3204B046446C946C9845C567ACB72A01043C77
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : DCE593E803130EA18E4B24C96263ECDECCC2C626
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5575632
File hash : 33D8DECA8E23B5182BEF124E79DA32BC0161095A
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x551568
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x553D68
Data length: 106373120
File hash : 784D9C276FDB0419A8FC591F9535207F285A3463
</pre>


===1.80 DEBUG/DEX===
On retail (CEX) consoles, when you check for updates via WiFi in settings the console will download an XML file based on the console's region code. For example on PS Vitas sold within the United States the URL for the XML file is <code>http://fus01.psp2.update.playstation.net/update/psp2/list/us/psp2-updatelist.xml</code>.
<pre>
PUP file information
Package version: 1
Image version: 5355
File count: 5
Header length: 400
Data length: 95855384
PUP file hash : F072273D191C4BBC392869E5815C61279482363F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 90C97ECCF6052D12D4EEEA0185D5FA39D98FE378
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559056
File hash : 21400D3D339828D64ABC5FC8B6C64F375CECBAA0
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D4A8
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FCA8
Data length: 90286080
File hash : 331884838213E15E1350430A77B673F70C634EEF
</pre>


===1.80 RETAIL/CEX===
When this file is read by the system, the <code>region id</code> MUST match the system region.
<pre>PUP file information
Package version: 1
Image version: 5354
File count: 5
Header length: 400
Data length: 115956504
PUP file hash : EF84C1DB2BD1227C6C74F354C8D31A702706977B
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 90C97ECCF6052D12D4EEEA0185D5FA39D98FE378
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559056
File hash : E44FBAEB1A52755882A8B6CCEA413A4BA7869B41
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D4A8
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FCA8
Data length: 110387200
File hash : 9F3AAB702748AD60DEBFA7801B9BAFF8A3372228
</pre>


===1.80 RETAIL-DISK/CEX===
Possible regions are: <code>jp</code>, <code>us</code>, <code>au</code>, <code>uk</code>, <code>eu</code>, <code>kr</code>, <code>sa</code>, <code>tw</code>, <code>ru</code>, <code>mx</code>, <code>cn</code> and on devkit you must use the region id <code>257</code> and <code>258</code> for testkit's.
<pre>PUP file information
Package version: 1
Image version: 5354
File count: 5
Header length: 400
Data length: 115956504
PUP file hash : EF84C1DB2BD1227C6C74F354C8D31A702706977B
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 90C97ECCF6052D12D4EEEA0185D5FA39D98FE378
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559056
File hash : E44FBAEB1A52755882A8B6CCEA413A4BA7869B41
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D4A8
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FCA8
Data length: 110387200
File hash : 9F3AAB702748AD60DEBFA7801B9BAFF8A3372228
</pre>


===1.81 RETAIL/CEX===
The file must be no larger than 65535 bytes, and the URL's specifying where to download the .PUP from can be no longer than 1024 characters, it also must be a direct URL to the content *including "http://" protocol*.
<pre>
PUP file information
Package version: 1
Image version: 5746
File count: 5
Header length: 400
Data length: 115946632
PUP file hash : 96797AA5AEDE03ACE30D13A9148FBD5C311E1DFB
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : D7E9DEAD45F123D6082FAE2509E7BBD06D7AE1ED
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559424
File hash : 2F17A3315B24FEE2F54CEDBA5D9E46D159A8C7FA
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D618
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FE18
Data length: 110376960
File hash : ABF0051E6D3DC62B6EEEDD74BD0A402C3A77EF1A
</pre>


===1.82 RETAIL/CEX===
When selecting "Update via connecting to PC", the console connects to Content Manager Assistant installed on a PC and then CMA downloads the psp2-updatelist.xml file and the PUP files from PC side and sends it back to the PS Vita. Because of this, by using a custom Content Manager Assistant such as QCMA, you can send whatever psp2-updatelist.xml you want to the PS Vita. This is also what happens with "Update via connecting to PS3".
<pre>
PUP file information
Package version: 1
Image version: 5986
File count: 5
Header length: 400
Data length: 115946632
PUP file hash : DA812239133E14BB5356D81F7EDEEDB7B74E7D15
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 9350954C3F2DAB8990DF7DA36D9CABC1BE07B44B
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559424
File hash : 184BC72DDDACFC78925767D0FF1DA7E5DAD557FB
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D618
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FE18
Data length: 110376960
File hash : 54660B2CF4AD71B192ABE70F6FA03BE0C640CF6A
</pre>


===1.82 RETAIL-DISK/CEX===
On PS Vita DevKit and TestKit, you can configure your own URL for the psp2-updatelist.xml file in <code>Debug Settings > System Update</code> and this setting can be overridden by placing a file at <code>ux0:/PSP2/UPDATE/SERVER_URL.TXT</code> or <code>host0:/PSP2/UPDATE/SERVER_URL.TXT</code>.
<pre>
PUP file information
Package version: 1
Image version: 5986
File count: 5
Header length: 400
Data length: 115946632
PUP file hash : DA812239133E14BB5356D81F7EDEEDB7B74E7D15
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 9350954C3F2DAB8990DF7DA36D9CABC1BE07B44B
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5559424
File hash : 184BC72DDDACFC78925767D0FF1DA7E5DAD557FB
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54D618
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54FE18
Data length: 110376960
File hash : 54660B2CF4AD71B192ABE70F6FA03BE0C640CF6A
</pre>


===1.90 RETAIL/CEX===
Retail:
<pre>
* [http://fjp01.psp2.update.playstation.net/update/psp2/list/jp/psp2-updatelist.xml Japan (jp)]
PUP file information
* [http://fus01.psp2.update.playstation.net/update/psp2/list/us/psp2-updatelist.xml USA (us)]
Package version: 1
* [http://feu01.psp2.update.playstation.net/update/psp2/list/eu/psp2-updatelist.xml Europe (eu)]
Image version: 6591
File count: 5
Header length: 400
Data length: 125176752
PUP file hash : 91D2096371FA509D2A1380872417DFEAC616750A
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 97DB77EAE68D43052EC2D939C62BD8FD7E8C3160
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5542824
File hash : E6AE80A769FE351EF1AD90A73358160726C42089
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x549540
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BD40
Data length: 119623680
File hash : 4AC908CD72CCD329AAB4DC28C51C65BBCE6CBFF3
</pre>


===1.90 RETAIL-DISK/CEX===
11 jan 2012 :: full 01.520.000 + systemdata 01.000.010 + preinst 01.000.000:
<pre>
<pre>
PUP file information
<update_data_list>
Package version: 1
  <region id="jp">
Image version: 6591
    <np level0_system_version="01.520.000" level1_system_version="01.520.000" level2_system_version="01.520.000"/>
File count: 5
    <version system_version="01.520.000" label="01.520">
Header length: 400
      <update_data update_type="full">
Data length: 125176752
        <image size="94646272">
PUP file hash : 91D2096371FA509D2A1380872417DFEAC616750A
          http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/rel_01a72de4dd90191f679f648da8d11a48/PSP2UPDAT.PUP?dest=jp
File 0
        </image>
Entry id: 0x100
      </update_data>
Filename : version.txt
    </version>
Data offset: 0x190
    <recovery spkg_type="systemdata">
Data length: 5
      <image spkg_version="01.000.010" size="56817152">
File hash : 97DB77EAE68D43052EC2D939C62BD8FD7E8C3160
        http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/sd_d48c3a2ca8963ffc7ac01c73e873809c/PSP2UPDAT.PUP?dest=jp
File 1
      </image>
Entry id: 0x101
    </recovery>
Filename : license.xml
    <recovery spkg_type="preinst">
Data offset: 0x195
      <image spkg_version="01.000.000" size="128837120">
Data length: 3
        http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/pre_5899e51b24eb4ab2c985df08bf6c901b/PSP2UPDAT.PUP?dest=jp
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
      </image>
File 2
    </recovery>
Entry id: 0x200
  </region>
Filename : ps3swu.self
</update_data_list>
Data offset: 0x198
Data length: 5542824
File hash : E6AE80A769FE351EF1AD90A73358160726C42089
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x549540
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BD40
Data length: 119623680
File hash : 4AC908CD72CCD329AAB4DC28C51C65BBCE6CBFF3
</pre>
</pre>


===1.92 DEBUG/DEX===
22 dec 2011 :: full 01.510.000 + systemdata 01.000.010 + preinst 01.000.000:
<pre>
<pre>
PUP file information
<update_data_list>
Package version: 1
  <region id="jp">
Image version: 7271
    <np level0_system_version="01.510.000" level1_system_version="01.510.000" level2_system_version="01.510.000"/>
File count: 5
    <version system_version="01.510.000" label="01.510">
Header length: 400
      <update_data update_type="full">
Data length: 102894384
        <image size="94500352">
PUP file hash : A4A8C0CB4701EC7FD4C358C4A86DF0B3EE67BF67
          http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/rel_48ac631ecae3837a7530506de0d73eaf/PSP2UPDAT.PUP?dest=jp
File 0
        </image>
Entry id: 0x100
      </update_data>
Filename : version.txt
    </version>
Data offset: 0x190
    <recovery spkg_type="systemdata">
Data length: 5
      <image spkg_version="01.000.010" size="56817152">
File hash : F1ADA5D9614FFFC0F301AAF7C37205D3AB5A2F3D
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/sd_52ff6b714e5f701d15938a6fee68fb66/PSP2UPDAT.PUP?dest=jp
File 1
      </image>
Entry id: 0x101
    </recovery>
Filename : license.xml
    <recovery spkg_type="preinst">
Data offset: 0x195
      <image spkg_version="01.000.000" size="128837120">
Data length: 3
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/pre_a18a91bb8c86f8c1a101d19fcb15fb6d/PSP2UPDAT.PUP?dest=jp
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
      </image>
File 2
    </recovery>
Entry id: 0x200
  </region>
Filename : ps3swu.self
</update_data_list>
Data offset: 0x198
Data length: 5542696
File hash : A74BC78F111406A9963166D62DA4D11CFC4E9B5B
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 97341440
File hash : 5D1D12EC29CBDC70522726E6B99F403A0470961D
</pre>
</pre>


===1.92 RETAIL/CEX===
14 dec 2011 :: full 01.500.000 + systemdata 01.000.010 + preinst 01.000.000:
<pre>
<pre>
PUP file information
<update_data_list>
Package version: 1
  <region id="jp">
Image version: 7272
    <np level0_system_version="01.500.000" level1_system_version="01.500.000" level2_system_version="01.500.000"/>
File count: 5
    <version system_version="01.500.000" label="01.500">
Header length: 400
      <update_data update_type="full">
Data length: 125279024
        <image size="94496256">
PUP file hash : C7EBD2128E1655AA89689BF80DBDC48A31A74B22
          http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/rel_f090a69bcf392b5c311b9e786c5cc0b5/PSP2UPDAT.PUP?dest=jp
File 0
        </image>
Entry id: 0x100
      </update_data>
Filename : version.txt
    </version>
Data offset: 0x190
    <recovery spkg_type="systemdata">
Data length: 5
      <image spkg_version="01.000.010" size="56817152">
File hash : F1ADA5D9614FFFC0F301AAF7C37205D3AB5A2F3D
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/sd_484243f3964158b38ad1adaac0332a3e/PSP2UPDAT.PUP?dest=jp
File 1
      </image>
Entry id: 0x101
    </recovery>
Filename : license.xml
    <recovery spkg_type="preinst">
Data offset: 0x195
      <image spkg_version="01.000.000" size="128837120">
Data length: 3
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/pre_24b5601c3b3aa63b51cf5eaeab718a4c/PSP2UPDAT.PUP?dest=jp
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
      </image>
File 2
    </recovery>
Entry id: 0x200
  </region>
Filename : ps3swu.self
</update_data_list>
Data offset: 0x198
Data length: 5542696
File hash : 828726CB29F1BC5B5A05855A0003DE461DD447AC
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 119726080
File hash : D10462CF0397147716399BCAD01F396269FA23D2
</pre>
</pre>


===1.92 TOOL/DECR===
Shop:
* [http://fshop01.psp2.update.playstation.net/update/psp2/list/shop/psp2-updatelist.xml shop]
* [http://fjp01.psp2.update.playstation.net/update/psp2/list/shop/psp2-updatelist.xml Japan (jp)]
* [http://fus01.psp2.update.playstation.net/update/psp2/list/shop/psp2-updatelist.xml USA (us)]
* [http://feu01.psp2.update.playstation.net/update/psp2/list/shop/psp2-updatelist.xml Europe (eu)]
<pre>
<pre>
PUP file information
<update_data_list>
Package version: 1
  <region id="shop">
Image version: 7270
    <np level0_system_version="00.000.000" level1_system_version="00.000.000" level2_system_version="00.000.000"/>
File count: 5
    <version system_version="00.000.000">
Header length: 400
      <update_data update_type="full">
Data length: 85783344
        <image>NA</image>
PUP file hash : AF8ECCED76CC61542DD3C4F3BCA3BC640297CCA4
      </update_data>
File 0
    </version>
Entry id: 0x100
  </region>
Filename : version.txt
</update_data_list>
Data offset: 0x190
Data length: 5
File hash : F1ADA5D9614FFFC0F301AAF7C37205D3AB5A2F3D
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5542696
File hash : 819D9602DC3A85275A532B00571E58DF7EB4A944
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 80230400
File hash : E7A001A0EC4782C0C6DAA237A8838EC61DDF830B
</pre>
</pre>


===1.93 RETAIL/CEX===
Retail basic structure of the update URL:
<pre>
<pre>
PUP file information
http://d<TLD>01.psp2.update.playstation.net/update/psp2/image/<YYYY_MMDD>/pre_<md5>/PSP2UPDAT.PUP?dest=<TLD>
Package version: 1
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, md5 is 22-digits long HASH)
Image version: 7444
File count: 5
Header length: 400
Data length: 125279024
PUP file hash : 08C4189614C4AA82087B4AAE87F8270BBB485AEC
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : BDC06E8A313EF38A71C991CECF871DD8C5780463
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5542696
File hash : 4D981C9665A73AD49F9BB2BEAAFCDF117338241E
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 119726080
File hash : 1F3DCFB90BC509754FE9A5A3CBACB6EFE4CE7068
</pre>
</pre>


===1.93 RETAIL-DISK/CEX===
'''<?xml''' <span style="color: blue;">version</span><span style="color: red;">="1.0"</span> <span style="color: blue;">encoding</span><span style="color: red;">="UTF-8"</span>'''?>'''
<pre>
'''<update_data_list>'''
PUP file information
  '''<region''' <span style="color: blue;">id</span><span style="color: red;">="au"</span>'''>'''
Package version: 1
    '''<np''' <span style="color: blue;">level0_system_version</span><span style="color: red;">="01.600.000"</span> <span style="color: blue;">level1_system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">level2_system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">map</span><span style="color: red;">="03.610.000"</span>'''/>'''
Image version: 7444
    '''<np_d''' <span style="color: blue;">level0_system_version</span><span style="color: red;">="01.600.000"</span> <span style="color: blue;">level1_system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">level2_system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">map</span><span style="color: red;">="03.610.000"</span>'''/>'''
File count: 5
      '''<version''' <span style="color: blue;">system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">label</span><span style="color: red;">="3.61"</span>'''>'''
Header length: 400
        '''<update_data''' <span style="color: blue;">update_type</span><span style="color: red;">="full"</span>'''>'''
Data length: 125279024
          '''<image''' <span style="color: blue;">size</span><span style="color: red;">="133676544"</span>>http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/rel_99d9ab3e57a677b38e42cc6409b95e3b/PSP2UPDAT.PUP?dest=au'''</image>'''
PUP file hash : 08C4189614C4AA82087B4AAE87F8270BBB485AEC
        '''</update_data>'''
File 0
      '''</version>'''
Entry id: 0x100
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="systemdata"</span>'''>'''
Filename : version.txt
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.010"</span> <span style="color: blue;">size</span><span style="color: red;">="56768512"</span>>http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/sd_80cefcda06707796a040648aea38da0f/PSP2UPDAT.PUP?dest=au'''</image>'''
Data offset: 0x190
      '''</recovery>'''
Data length: 5
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="preinst"</span>'''>'''
File hash : BDC06E8A313EF38A71C991CECF871DD8C5780463
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.000"</span> <span style="color: blue;">size</span><span style="color: red;">="128788480"</span>>http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/pre_f5e6da7d1213101482300ccaeda35c3c/PSP2UPDAT.PUP?dest=au'''</image>'''
File 1
      '''</recovery>'''
Entry id: 0x101
  '''</region>'''
Filename : license.xml
'''</update_data_list>'''
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5542696
File hash : 4D981C9665A73AD49F9BB2BEAAFCDF117338241E
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 119726080
File hash : 1F3DCFB90BC509754FE9A5A3CBACB6EFE4CE7068
</pre>


===1.94 RETAIL-DISK/CEX===
PS Vita PUP links use the same structure as PS3 PUP links:
<pre>
PUP file information
Package version: 1
Image version: 7510
File count: 5
Header length: 400
Data length: 125289264
PUP file hash : 3E2B91F45C34435BC46D0E94344CFB734D6CF963
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : C9FFA67CC96F0AB2B2D137EDC48B58F6D23A494C
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5542696
File hash : DAC6BA4F485B714A45B428CE31A57D1226E5ACB0
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5494C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x54BCC0
Data length: 119736320
File hash : 2E1ADB7466F2DCB5E5A2A8417F54F06DCE8AC1C0
</pre>


===2.00 DEBUG/DEX===
<nowiki>http://d</nowiki><span style="color: red;">&lt;TLD&gt;</span>01.ps4.update.playstation.net/update/ps4/image/<span style="color: green;">&lt;YYYY_MMDD&gt;</span>/<span style="color: orange;">&lt;TYPE&gt;</span>_<span style="color: blue;">&lt;MD5&gt;</span>/PS4UPDATE.PUP?dest=<span style="color: red;">&lt;TLD&gt;</span>
<pre>
* <span style="color: red;"><TLD></span>=2 letter region abbreviation (jp, us, ..)
PUP file information
* <span style="color: green;">&lt;YYYY_MMDD&gt;</span> is build date
Package version: 1
* <span style="color: orange;">TYPE</span> is PUP type (rel, pre, sd,...)
Image version: 99999
* <span style="color: blue;">MD5</span> is 22-digits long HASH
File count: 5
Header length: 400
Data length: 109102656
PUP file hash : 914B539B66E5CF0D77EC467CD0BD0094F8010352
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : B12910981ED84D460F89516600DD599C4BA196FB
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5586488
File hash : C182529E179F99E22AB63F62ECC27A310280A4CA
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x553FD0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5567D0
Data length: 103505920
File hash : 82B84F51F18078FD1EE109465F4E132F75DDC88C
</pre>


===2.00 RETAIL/CEX===
=== Running your own local update server ===
<pre>
PUP file information
Package version: 1
Image version: 8237
File count: 5
Header length: 400
Data length: 124698176
PUP file hash : A2A0F11B5D6EA95698FCB48EC0851D173EF8667F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : B12910981ED84D460F89516600DD599C4BA196FB
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5586488
File hash : 9520B1F62181EEAD0DE95C567EEFD17961853FAA
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x553FD0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5567D0
Data length: 119101440
File hash : CE7DE1E2A84A6FDA416BE17D9920DC3A1D719AD9
</pre>


===2.01 RETAIL/CEX===
Note: this is untested, please report back!
<pre>
PUP file information
Package version: 1
Image version: 8426
File count: 5
Header length: 400
Data length: 124698928
PUP file hash : 0F0E95D599A830D629539DF37C0BF44A2E3F4F32
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 6AC907E9FFD7F855C552737ED959537DE6B48A3B
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5587240
File hash : D79AC829A78AA36F2471F6E64AC1492EA2C0F0B4
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5542C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x556AC0
Data length: 119101440
File hash : 4EECCD2BDA0770CDAEE133F4A4CD7D0858A24C28
</pre>


===2.01 RETAIL-DISK/CEX===
Using a webserver (apache, lighttpd, nginx, etc.) and proxy/firewall to catch http://f**01.psp2.update.playstation.net/update/psp2/list/**/psp2-updatelist.xml" and point it to your local server you could[1] have more control over the updates/bandwith. Of course you need to have every <code>PSP2UPDATE.PUP</code> file you reference to, otherwise it errors out.
<pre>
PUP file information
Package version: 1
Image version: 8426
File count: 5
Header length: 400
Data length: 124698928
PUP file hash : 0F0E95D599A830D629539DF37C0BF44A2E3F4F32
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 6AC907E9FFD7F855C552737ED959537DE6B48A3B
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5587240
File hash : D79AC829A78AA36F2471F6E64AC1492EA2C0F0B4
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5542C0
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x556AC0
Data length: 119101440
File hash : 4EECCD2BDA0770CDAEE133F4A4CD7D0858A24C28
</pre>


===2.10 DEBUG/DEX===
In this example the webserver is configured at http://192.168.0.254, region is set to <code>eu</code>[2].
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 5
Header length: 400
Data length: 108934048
PUP file hash : AE8F44489B4952767EA9B5A196183C6F2C8033F6
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : B1721AF65A7E253C0C9A1F1BC865DD769AF534F6
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581720
File hash : 9BEE6D3A99999B7B6413DF0A4B50E96225D0134F
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552D30
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555530
Data length: 103342080
File hash : 5143D5A58F882DDB60110C453DBF5528035DCA48
</pre>


===2.10 RETAIL/CEX===
'''<update_data_list>'''
<pre>
  '''<region''' <span style="color: blue;">id</span><span style="color: red;">="au"</span>'''>'''
PUP file information
    '''<np''' <span style="color: blue;">level0_system_version</span><span style="color: red;">="01.600.000"</span> <span style="color: blue;">level1_system_version</span><span style="color: red;">="03.600.000"</span> <span style="color: blue;">level2_system_version</span><span style="color: red;">="03.600.000"</span> <span style="color: blue;">map</span><span style="color: red;">="03.600.000"</span>'''/>'''
Package version: 1
    '''<np_d''' <span style="color: blue;">level0_system_version</span><span style="color: red;">="01.600.000"</span> <span style="color: blue;">level1_system_version</span><span style="color: red;">="03.600.000"</span> <span style="color: blue;">level2_system_version</span><span style="color: red;">="03.600.000"</span> <span style="color: blue;">map</span><span style="color: red;">="03.600.000"</span>'''/>'''
Image version: 9181
      '''<version''' <span style="color: blue;">system_version</span><span style="color: red;">="03.600.000"</span> <span style="color: blue;">label</span><span style="color: red;">="3.60"</span>'''>'''
File count: 5
        '''<update_data''' <span style="color: blue;">update_type</span><span style="color: red;">="full"</span>'''>'''
Header length: 400
          '''<image''' <span style="color: blue;">size</span><span style="color: red;">="133676544"</span>>http://192.168.0.254/psp2/update/3_600_00/rel/PSP2UPDAT.PUP'''</image>'''
Data length: 125481888
        '''</update_data>'''
PUP file hash : DFBF87275D569727AAFF22AD6EB209BD87E4D78B
      '''</version>'''
File 0
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="systemdata"</span>'''>'''
Entry id: 0x100
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.010"</span> <span style="color: blue;">size</span><span style="color: red;">="56768512"</span>>http://192.168.0.254/psp2/update/3_600_00/sd/PSP2UPDAT.PUP'''</image>'''
Filename : version.txt
      '''</recovery>'''
Data offset: 0x190
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="preinst"</span>'''>'''
Data length: 5
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.000"</span> <span style="color: blue;">size</span><span style="color: red;">="128788480"</span>>http://192.168.0.254/psp2/update/3_600_00/pre/PSP2UPDAT.PUP'''</image>'''
File hash : B1721AF65A7E253C0C9A1F1BC865DD769AF534F6
      '''</recovery>'''
File 1
      '''<version''' <span style="color: blue;">system_version</span><span style="color: red;">="03.610.000"</span> <span style="color: blue;">label</span><span style="color: red;">="3.61"</span>'''>'''
Entry id: 0x101
        '''<update_data''' <span style="color: blue;">update_type</span><span style="color: red;">="full"</span>'''>'''
Filename : license.xml
          '''<image''' <span style="color: blue;">size</span><span style="color: red;">="133676544"</span>>http://192.168.0.254/psp2/update/3_600_00/rel/PSP2UPDAT.PUP'''</image>'''
Data offset: 0x195
        '''</update_data>'''
Data length: 3
      '''</version>'''
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="systemdata"</span>'''>'''
File 2
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.010"</span> <span style="color: blue;">size</span><span style="color: red;">="56768512"</span>>http://192.168.0.254/psp2/update/3_600_00/sd/PSP2UPDAT.PUP'''</image>'''
Entry id: 0x200
      '''</recovery>'''
Filename : ps3swu.self
      '''<recovery''' <span style="color: blue;">spkg_type</span><span style="color: red;">="preinst"</span>'''>'''
Data offset: 0x198
        '''<image''' <span style="color: blue;">spkg_version</span><span style="color: red;">="01.000.000"</span> <span style="color: blue;">size</span><span style="color: red;">="128788480"</span>>http://192.168.0.254/psp2/update/3_600_00/pre/PSP2UPDAT.PUP'''</image>'''
Data length: 5581720
      '''</recovery>'''
File hash : E19217F66FC1B106A7723CAA07591EB3977CA5C6
  '''</region>'''
File 3
'''</update_data_list>'''
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552D30
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555530
Data length: 119889920
File hash : 15CE25322F905B764E394241BAB35BAA9712DD89
</pre>


===2.10 RETAIL-DISK/CEX===
== Installation ==
<pre>
PUP file information
Package version: 1
Image version: 9181
File count: 5
Header length: 400
Data length: 125481888
PUP file hash : DFBF87275D569727AAFF22AD6EB209BD87E4D78B
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : B1721AF65A7E253C0C9A1F1BC865DD769AF534F6
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581720
File hash : E19217F66FC1B106A7723CAA07591EB3977CA5C6
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552D30
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555530
Data length: 119889920
File hash : 15CE25322F905B764E394241BAB35BAA9712DD89
</pre>


===2.15 DEBUG/DEX===
To install firmware via USB Mass Storage Devices (e.g. USB-stick, Memory Stick, SD-card, Compact Flash with at least 256MB free), place the PS3UPDAT.PUP file in the following folder structure: /PS3/UPDATE/PS3UPDAT.PUP
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 5
Header length: 400
Data length: 108851920
PUP file hash : 818119F1BB5EDBD2FFABFE0A661E34AAE55E0174
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 15C0685BEDFD789BFAF3A2C32D82F8582168894D
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581512
File hash : 9A95407F99D890AFFD1D4906CB0BED15E7D83FE3
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552C60
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555460
Data length: 103260160
File hash : 0FE252CC4E9F1682C7BF5727CA47ED7391C9DAD3
</pre>


===2.16 RETAIL-DISK/CEX===
* The update location for Kiosk is the same as Retail/CEX.
<pre>
* The update location for disc media (CD, DVD, BD-ROM) is /PS3_UPDATE/PS3UPDAT.PUP
PUP file information
* The update data for Reference Tool (Tool/DECR) is %SCE_PS3_ROOT%\target\updater\ref-tool\PS3UPDAT.PUP.NNN.0xx
Package version: 1
* The update data for Debugging Station (Debug/DEX) is %SCE_PS3_ROOT%\target\updater\debugging_station\PS3UPDAT.PUP.NNN.0xx.forDEX.release.yyyymmdd
Image version: 10444
* For updating with a single firmware PUP, both the Reference Tool (Tool/DECR) and Debugging Station (Debug/DEX) use the same folder structure as Retail/CEX : /PS3/UPDATE/PS3UPDAT.PUP
File count: 5
* For updating with a multiple firmware PUP (2.50 or later), the Reference Tool (Tool/DECR) can use the folder structure : /PS3/UPDATE/SEARCH with a maximum of 2 sublevels deeper (e.g. PS3/UPDATE/SEARCH/ReferenceTool/250/PS3UPDAT.PUP.242.001). A maximum of 20 PUP files (including /PS3/UPDATE/PS3UPDAT.PUP if applicable) will be shown in the firmware list.
Header length: 400
* The update location for Arcade is "/dev_hdd0/game/SCEEXE000/ARCDIR/PS3UPDAT.PUP"
Data length: 125399760
* The update location in Factory Service Mode (used for downgrader and remarry) is /PS3UPDAT.PUP
PUP file hash : 9FDA58F48BF3B5F1063621303D3EC787496E7774
* The update location for [[QA_Flagging#Debug_Settings|QA Debug setting]] : System Update Debug=ON is /dev_hdd0/updater/01/PS3UPDAT.PUP, /dev_hdd0/updater/02/PS3UPDAT.PUP, etc... (or up to 20 updates together with any name and no file extension required in /dev_hdd0/updater/01/)
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : 3152A1C24B561AA6C93CA2D769427BEE710122FA
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581512
File hash : 84288534F8EED753A96B1FD69C6E2AF959AF6CD0
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552C60
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555460
Data length: 119808000
File hash : EB53E819A745F19389ABB3FE7E9CC8FABD49BC9F
</pre>


===2.17 DEBUG/DEX===
=== Problem solving / tips ===
<pre>
* Don’t use any USB Mass Storage Device with enhanced functions as: encryption, fingerprintreader, U3, pincode etc. (sometimes marketed under names as SCSI Enclosure Services (SES) thus needing drivers and only working under Windows)
PUP file information
* Don’t use USB Mass Storage Devices with a long initialisation time (e.g. some MP3 players)
Package version: 1
* Don’t use multipartitioned USB Mass Storage Devices, only use 1 single primary FAT32 partition.
Image version: 99999
* Make sure they are formatted according to specifications with FAT32 (e.g. [http://www.google.com/search?q=HP+USB+Format+Tool HP USB Format Tool] – or [http://tokiwa.qee.jp/EN/Fat32Formatter/ TOKIWA] / [http://www.ridgecrop.demon.co.uk/guiformat.htm Ridgecrop] FAT32 formatter)
File count: 5
* If the stick is formatted FAT32 and still not working, consider other stick or use this tool: http://www.pendrivelinux.com/restoring-your-usb-key-partition/
Header length: 400
* Most USB Mass Storage Devices that’ll work effortless with PenDrive Linux, will also work with the PS3 (for downgrading, upgrading, storage of your Game dumps and any normal filestorage under the XMB). Those USB Mass Storage Devices are most likely also the ones giving you the least problems under more exotic platforms like PSX/PSone, PS2/PStwo, Xbox/X360, Gamecube/Wii/WiiU etc.
Data length: 108851920
* Make sure no disc is inside the drive otherwise it will try to install that one instead of the one on USB Mass Storage Device!
PUP file hash : AD1FE012773763C803D25EDEF2F51495A386C114
* Make sure the media is not readonly (e.g. SDcard or USB Stick with readonly tab) if using firmwares when doing one of the following:
File 0
** Factory Service Mode reinstallation
Entry id: 0x100
** Remarry BDdrive
Filename : version.txt
** RSOD Fix
Data offset: 0x190
** or any process that needs to write a log file, in short, write access
Data length: 5
File hash : CBBC56501A15E25CF3B224C97951CB7F87B6030C
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581512
File hash : 4BBA1AE3440877760172308EC1AC89D207695904
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552C60
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555460
Data length: 103260160
File hash : C84091A770DDADF1764BCA4A0FA296D7DE6E299F
</pre>


===2.17 RETAIL-CEX===
== Installation descriptive ==
<pre>
:Select via XMB, Settings -> System Update
PUP file information
Package version: 1
Image version: 11729
File count: 5
Header length: 400
Data length: 125399760
PUP file hash : AAB83CFF7EB56A4F9CA12120D33334254DEB0BB3
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x190
        Data length: 5
File hash : CBBC56501A15E25CF3B224C97951CB7F87B6030C
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x195
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 2
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x198
        Data length: 5581512
File hash : E94344FCE2C52FE4E41F76F2CFC9893FC3FB6E89
        File 3
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x552C60
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 4
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x555460
        Data length: 119808000
File hash : 824099220A3229541D717865A554CCFF3368DD1E
</pre>


===2.17 RETAIL-DISK/CEX===
<pre>
<pre>
PUP file information
Update via Internet
Package version: 1
Update via Storage Media
Image version: 11729
File count: 5
Header length: 400
Data length: 125399760
PUP file hash : AAB83CFF7EB56A4F9CA12120D33334254DEB0BB3
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x190
Data length: 5
File hash : CBBC56501A15E25CF3B224C97951CB7F87B6030C
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x195
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x198
Data length: 5581512
File hash : E94344FCE2C52FE4E41F76F2CFC9893FC3FB6E89
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x552C60
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x555460
Data length: 119808000
File hash : 824099220A3229541D717865A554CCFF3368DD1E
</pre>
</pre>


===2.20 DEBUG/DEX===
:Select Update via Storage Media
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 6
Header length: 464
Data length: 111982512
PUP file hash : 51FD993CF38A5A43C9AB94D69ED1DAB26B23846C
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : E0A464A8757B93C6C59EBE56216A4B5B00300986
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568424
File hash : BE5A6E031AC0E46419D9BB45DFA9128EF4422E4B
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F980
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552180
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552180
Data length: 106403840
File hash : 85EABA9936EA2E0C7E25AD739229CA4EB1D62B36
</pre>


===2.20 RETAIL/CEX===
<pre>
<pre>
PUP file information
The following update data was found:
Package version: 1
Version 3.41-@@SUFFIX@@
Image version: 12342
Location USB Device
File count: 6
Header length: 464
Data length: 127729315
PUP file hash : 0D2D98C983F23B128358759C0F81DE23D7B6EE2C
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : E0A464A8757B93C6C59EBE56216A4B5B00300986
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568424
File hash : 90E206C158FFBA3A08F9EB019080D0D2A3A78387
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F980
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552180
Data length: 18163
File hash : 5E101F170CD3CD559D99C7A4A934F7B8A1D91AE8
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x556873
Data length: 122132480
File hash : A69B53B46EDBCB068276D17A93B1E00C1CE4793B
</pre>
</pre>


===2.20 RETAIL-DISK/CEX===
:Select OK
<pre>
PUP file information
Package version: 1
Image version: 12342
File count: 6
Header length: 464
Data length: 127729315
PUP file hash : 0D2D98C983F23B128358759C0F81DE23D7B6EE2C
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : E0A464A8757B93C6C59EBE56216A4B5B00300986
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568424
File hash : 90E206C158FFBA3A08F9EB019080D0D2A3A78387
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F980
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552180
Data length: 18163
File hash : 5E101F170CD3CD559D99C7A4A934F7B8A1D91AE8
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x556873
Data length: 122132480
File hash : A69B53B46EDBCB068276D17A93B1E00C1CE4793B
</pre>


===2.30 DEBUG/DEX===
<pre>
<pre>
PUP file information
User Agreement
Package version: 1
Image version: 99999
File count: 6
Header length: 464
Data length: 115402640
PUP file hash : 3A6140CE6D21B6FB391A575004C8D1E5CA796717
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 736EA097326D3039C32FB213A5B5877EFFA7AADB
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : DE62BFECEBB4D3F27F9F05BF936C7316D8AFD511
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552160
Data length: 109824000
File hash : 65A8DBCCE55DB678FB1A23DDB39500E529694B46
</pre>


===2.30 RETAIL/CEX===
<str id="msg_update_eula_1">line 1
<pre>
</str>
PUP file information
...
Package version: 1
<str id="msg_update_eula_X">line X
Image version: 13778
</str>
File count: 6
Header length: 464
Data length: 130530501
PUP file hash : 5ADB88B2B83C89DB0EA01E56A4D7DB4769A311B4
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 736EA097326D3039C32FB213A5B5877EFFA7AADB
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : 6B69CCF23CAB65EAD5DF61CB42FD6BFD5DC77A1E
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 3381
File hash : 5DD79AAF63107C521B7E4F61BCB9281E7350FC4D
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552E95
Data length: 124948480
File hash : 341D62AA26E42BF02A5C013D176C3D63E265F12A
</pre>
</pre>


===2.30 RETAIL-DISK/CEX===
:Select right arrow or left joystick right
<pre>
PUP file information
Package version: 1
Image version: 13778
File count: 6
Header length: 464
Data length: 130530501
PUP file hash : 5ADB88B2B83C89DB0EA01E56A4D7DB4769A311B4
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 736EA097326D3039C32FB213A5B5877EFFA7AADB
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : 6B69CCF23CAB65EAD5DF61CB42FD6BFD5DC77A1E
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 3381
File hash : 5DD79AAF63107C521B7E4F61BCB9281E7350FC4D
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552E95
Data length: 124948480
File hash : 341D62AA26E42BF02A5C013D176C3D63E265F12A
</pre>


===2.35 RETAIL/CEX===
<pre>
<pre>
PUP file information
Do you accept the user agreement?
Package version: 1
Image version: 15109
File count: 6
Header length: 464
Data length: 130516880
PUP file hash : DF22B91021C3649912DC70DB6FAACF766DE61DAB
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 78770614DF0A66C63BED70B89952C14DFF0AF8DA
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : FCCCF5A0F4452FB871310A93BED467EDA0CC0843
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552160
Data length: 124938240
File hash : C7032697A0EDC63BB9E8B1022912F5B48ECBF7E2
</pre>


===2.35 RETAIL-DISK/CEX===
Do Not Accept
<pre>
Accept
PUP file information
Package version: 1
Image version: 15109
File count: 6
Header length: 464
Data length: 130516880
PUP file hash : DF22B91021C3649912DC70DB6FAACF766DE61DAB
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 78770614DF0A66C63BED70B89952C14DFF0AF8DA
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : FCCCF5A0F4452FB871310A93BED467EDA0CC0843
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552160
Data length: 124938240
File hash : C7032697A0EDC63BB9E8B1022912F5B48ECBF7E2
</pre>
</pre>


===2.36 DEBUG/DEX===
:Select right arrow or left joystick right
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 6
Header length: 464
Data length: 116559760
PUP file hash : 220D82307DA1B92B5AB54665C67AEFE734EB3CC8
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 9BB6386D60A92F8A150E163D19F6BAAABB70DB85
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : A91FBF13A1CCFD48C7240B51312B70EE678B3F13
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552160
Data length: 110981120
File hash : 92F8466664B911F252183F4B3D0EBD22681DAAA7
</pre>


===2.36 RETAIL/CEX===
<pre>
<pre>
PUP file information
Main Features Revised in System Software Version 3.41-@@SUFFIX@@
Package version: 1
Image version: 16093
File count: 6
Header length: 464
Data length: 131284880
PUP file hash : 60430385D9FE540B71C3F6BF6BE42F00AE49EB62
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 9BB6386D60A92F8A150E163D19F6BAAABB70DB85
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x1D8
Data length: 5568392
File hash : 211E5723E8FF7C6736B9444466B887483647A7D8
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x54F960
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x552160
Data length: 0
File hash : B701CBBD3ACE82CAF2E4018E5327AA16637490DE
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x552160
Data length: 125706240
File hash : FEA87C11105949ABF6FB49F5ED3D2051EDC43834
</pre>


===2.40 DEBUG/DEX===
<str id="msg_updater_10">FEATURE 1
<pre>
</str>
PUP file information
...
Package version: 1
<str id="msg_updater_X">FEATURE X
Image version: 99999
</str>
File count: 6
Header length: 464
Data length: 122267847
PUP file hash : 57E083777F6A5B60D869840EFD33B49365BA25E8
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 0333CEA3D70A81019E7B6AE96CA99DF68322062F
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225479
File hash : 00BD949100E120C716543A48E3CA00A878E6E1AA
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3729C
Data length: 5500920
File hash : 071843EBDAC9E50A667FB5ACEFB1ACEBFF375EB7
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x576294
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A94
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A97
Data length: 116531200
File hash : CE70D81184887D6600CFF64F1FCF2411D6432509
</pre>


===2.40 RETAIL/CEX===
For detailed information including limitations of usage, visit the SCE Web site for your region.
<pre>
PUP file information
Package version: 1
Image version: 17023
File count: 6
Header length: 464
Data length: 136710301
PUP file hash : F1FEF8E442586D1182D2AFD12854C4B370AAA7FC
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 0333CEA3D70A81019E7B6AE96CA99DF68322062F
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 239773
File hash : ADA3EB47ECE38E39677D2FEDFFDC1D4A65B63CD6
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3AA72
Data length: 5500920
File hash : 02C188E48F8B40E6CFEF689C1882A44E562218BA
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x579A6A
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57C26A
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57C26D
Data length: 130959360
File hash : CEBFCDF0B26B90A240B85BACD84C1E306BF3D812
</pre>
</pre>
:msg_updater_10 - msg_updater_60 tested to work.  they appear one after another in the same manner as the EULA. 
::Could list each feature as a seperate msg_updater_X


===2.41 DEBUG/DEX===
<pre>
<pre>
PUP file information
Do not turn off the system during the update. If you do, you may not be able to restart the PS3 system. Once the update is started
Package version: 1
you cannot go back to the previous version of the system software.
Image version: 99999
File count: 6
Header length: 464
Data length: 122267713
PUP file hash : EE170E3804468D9E71E3F85CB3D39A53E8DDF088
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : BBDBE24EF9D5856C59D51804548FEE1E043AD490
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : 2BF985CE1B8A1A4073FA19E22DB4FB0BF35CEDC0
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 116531200
File hash : F804461B9A82C25959890F93F10E17F0EC2444F6
</pre>


===2.41 RETAIL/CEX===
CHECKBOX Turn off System Automatically After Update
<pre>
PUP file information
Package version: 1
Image version: 17362
File count: 6
Header length: 464
Data length: 136716353
PUP file hash : AEE1A96018CA715A9BFAE13CE8F4FE46567B89EF
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : BBDBE24EF9D5856C59D51804548FEE1E043AD490
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : 0612D9AF233F7D3EB1B7A0C53171BFCB22DE0FEE
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 130979840
File hash : D4F7400ABD0DF8D9DD03FD75834E34A37BFCF62C
</pre>


===2.41 RETAIL-DISK/CEX===
START
<pre>
PUP file information
Package version: 1
Image version: 17362
File count: 6
Header length: 464
Data length: 136716353
PUP file hash : AEE1A96018CA715A9BFAE13CE8F4FE46567B89EF
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : BBDBE24EF9D5856C59D51804548FEE1E043AD490
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : 0612D9AF233F7D3EB1B7A0C53171BFCB22DE0FEE
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 130979840
File hash : D4F7400ABD0DF8D9DD03FD75834E34A37BFCF62C
</pre>
</pre>


===2.42 DEBUG/DEX===
:Select start to install
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 6
Header length: 464
Data length: 122267713
PUP file hash : 4F198C97C143B9DAF492A56703D2F09107F9091A
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 7804A2E9819BD88843105C676A8B681629A9E80A
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : B3C72D106EC055CF8ED3F7789B51434C826E45C0
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 116531200
File hash : 78AA89892EC9C90114E95DC343970AA62B5AD7A8
</pre>


===2.42 RETAIL/CEX===
<pre>
<pre>
PUP file information
Copying update data to the hard disk...
Package version: 1
Do not turn off the system.
Image version: 18467
File count: 6
Header length: 464
Data length: 136716353
PUP file hash : 7E1AFE58B57BD71FCE203643C5285B1074F972F2
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 7804A2E9819BD88843105C676A8B681629A9E80A
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : DB2EC0E5032CF49AE899EC900D53500AFFC379B6
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 130979840
File hash : B32A51756DD777FD55795DB1530B9F4D1473BE4B
</pre>
</pre>


===2.42 RETAIL-DISK/CEX===
<pre>
<pre>
PUP file information
System Update
Package version: 1
Image version: 18467
File count: 6
Header length: 464
Data length: 136716353
PUP file hash : 7E1AFE58B57BD71FCE203643C5285B1074F972F2
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 7804A2E9819BD88843105C676A8B681629A9E80A
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : DB2EC0E5032CF49AE899EC900D53500AFFC379B6
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 130979840
File hash : B32A51756DD777FD55795DB1530B9F4D1473BE4B
</pre>


===2.42 SHOP/SEX===
Installing...
<pre>
Do not turn off the system.
PUP file information
After the install operation has completed, the
Package version: 1
system will automatically restart.
Image version: 18480
File count: 7
Header length: 528
Data length: 136726605
PUP file hash : BE84DCD03BA08C052AC34F5A4F52CCAF66356981
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 16
File hash : 1AD87A3D1A3EBC8BECD3ED1AB06194524D4AFD28
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x220
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x102
Filename : promo_flags.txt
Data offset: 0x37261
Data length: 1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37262
Data length: 5500920
File hash : 1D88389B18F1A66EB1DD13C737B0569C971D2595
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57625A
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A5A
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A5D
Data length: 130990080
File hash : 3D7A6FA8514398405BD28913F26C56A1FD760318
</pre>''remark: 2.42 SHOP/SEX PUP file used for above has BAD length of 4755220 bytes''


 
PROGRESS BAR
===2.43 RETAIL/CEX===
<pre>
PUP file information
Package version: 1
Image version: 19024
File count: 6
Header length: 464
Data length: 136716353
PUP file hash : A67344219CEA72E679BA3B2852DD793EAF2EAB3E
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 793B3999894FF20EA3832A9C184627AA2A72BC25
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : A8CCAF8D3AE2C3E7C55AC2B9A464043F20E0C1EE
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 130979840
File hash : 85D324D428708C1D59F82F43C37653C1195DFED9
</pre>
</pre>


===2.43 RETAIL/CEX JIG===
=== Orientation ===
<pre>
PUP file information
Package version: 1
Image version: 19024
File count: 6
Header length: 464
Data length: 10938433
PUP file hash : 46A336B7EA1ACDEF54709BB6905A0E217BC19099
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x1D0
Data length: 5
File hash : 793B3999894FF20EA3832A9C184627AA2A72BC25
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x1D5
Data length: 225345
File hash : 296C3DC63AD1C0FFD4E04D6A9DC24F61A24649ED
File 2
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x37216
Data length: 5500920
File hash : 54834F619AE98DFD20667CBD015F597BF073404D
File 3
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57620E
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 4
Entry id: 0x202
Filename : dots.txt
Data offset: 0x578A0E
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 5
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x578A11
Data length: 5201920
File hash : ECAF40D555716FC3D94C231C932412E655F93675
</pre>''remark: the JIG PUP was leaked together with lv2diag.self and has a length of 10938897 bytes''


0x8002F21x - (Set Recovery Mode Flag On (cex/dex/decr)) / (Connecting Controller)
0x8002F22x - (Connect Media containing FW equal or higher)
0x8002F23x - (System Partition formating) / (Search Updater)
0x8002F24x - (Formatting)
0x8002F25x - hdd probing
0x8002F26x - region searching
0x8002F27x - preparing partitions
0x8002F28x - Setup Updating Environment
0x8002F29x -
0x8002F2Ax -
0x8002F2Bx - (Turning Off Recovery Mode Flag)
0x8002F2Cx - Search Updater (Formating preparing Update)
0x8002F2Dx - (Formatting - Preparing to Update)
0x8002F2Ex - (Turning On/Off Recovery Mode Flag)


===2.50 RETAIL/CEX===
= Structure =
<pre>
PUP file information
Package version: 1
Image version: 23368
File count: 7
Header length: 528
Data length: 144073631
PUP file hash : 052123107A61682F9C82AA7FD820FAEA18AB6042
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 5333561A8AA64AE97594EDFF35F4BC0913BDA412
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 241826
File hash : 8993DABBA4B7B497DFB78E13E089A2FEED887E23
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3B2B7
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3B2BC
Data length: 5499632
File hash : 5921514D0CCD58B6CA2070CA7D976F580538D625
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x579DAC
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57C5AC
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57C5AF
Data length: 138321920
File hash : 4342C6DD66B11213EF0944FBA16C5B7E7F97AFA9
</pre>


===2.50 RETAIL-DISK/CEX===
== Verification ==
<pre>
PUP file information
Package version: 1
Image version: 23368
File count: 7
Header length: 528
Data length: 144073631
PUP file hash : 052123107A61682F9C82AA7FD820FAEA18AB6042
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 5333561A8AA64AE97594EDFF35F4BC0913BDA412
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 241826
File hash : 8993DABBA4B7B497DFB78E13E089A2FEED887E23
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3B2B7
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3B2BC
Data length: 5499632
File hash : 5921514D0CCD58B6CA2070CA7D976F580538D625
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x579DAC
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57C5AC
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57C5AF
Data length: 138321920
File hash : 4342C6DD66B11213EF0944FBA16C5B7E7F97AFA9
</pre>


===2.52 DEBUG/DEX===
The PUP Header is signed using HMAC, HMAC-SHA1 for PS3 and HMAC-SHA256 for PS Vita.
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 128614654
PUP file hash : A456643C567048EF934FD41729A569E971CF1D2F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : C906662AB4E4B7026291A57D193F693459D68541
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : EBC330F57BAB522A3EF8048C3B22E1F6814D3182
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 122880000
File hash : 6B653FE725349A1CD813194753B05CB9511DA520
</pre>


===2.52 RETAIL/CEX===
On PS Vita, the PUP Header Digest is signed using RSA2048. The PUP Header RSA signature is RSA-signed along with a message into SCEWM file, which is encrypted using AES128CBC.
<pre>
PUP file information
Package version: 1
Image version: 24267
File count: 7
Header length: 528
Data length: 144056574
PUP file hash : D7A99622183C97591B4AD33C082B78D969A3272A
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : C906662AB4E4B7026291A57D193F693459D68541
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : A27DA7DC3F5F36D10511D51E2D9FBBAAA3926FB5
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 138321920
File hash : 96246C15303501020918A75E1C957F4B06918361
</pre>


===2.52 RETAIL-DISK/CEX===
The PUP Header embeds HMAC signatures for each PUP segment.
<pre>
PUP file information
Package version: 1
Image version: 24267
File count: 7
Header length: 528
Data length: 144056574
PUP file hash : D7A99622183C97591B4AD33C082B78D969A3272A
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : C906662AB4E4B7026291A57D193F693459D68541
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : A27DA7DC3F5F36D10511D51E2D9FBBAAA3926FB5
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 138321920
File hash : 96246C15303501020918A75E1C957F4B06918361
</pre>


===2.53 DEBUG/DEX===
All the PUP keys are known except RSA private keys.
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 128737534
PUP file hash : 5E06F430812AFB6C22BD88ADD15F11EEC786F815
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 3EA000A12D2138538643A085680129B3FBBC47C3
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : 176559A8A38DED2C6AC62D8A1A9AA6252B7A1CEC
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 123002880
File hash : 20318D7B9894FE3C23994EAC1A0DB192BC86E7D5
</pre>


===2.53 RETAIL/CEX===
== Extraction ==
<pre>
PUP file information
Package version: 1
Image version: 25075
File count: 7
Header length: 528
Data length: 144179454
PUP file hash : 7094545B22013A7BA1DD3BD56542A86C760BD0AD
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 3EA000A12D2138538643A085680129B3FBBC47C3
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : 309E9601B76DBD44180699B758ED957F225D2BC2
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 138444800
File hash : 38BD6843EFD7FAA84FD3562677F5842D266FE627
</pre>


===2.60 DEBUG/DEX===
=== PS3 ===
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 129495294
PUP file hash : FB54F6C85803A3ECF890186FF22FC8F6AEE96121
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : C44806FCD87A6FE573918D7E9135FE6913ED8940
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5499632
File hash : 78C054ACE460C2B02C2DD5A1BC00523B7E893FE0
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x575B0B
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57830B
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57830E
Data length: 123760640
File hash : 6F315D60F5A190D3FC6EC0E3A77DA2CE17B7407B
</pre>


===2.60 RETAIL/CEX===
=== PS Vita ===
<pre>
PUP file information
Package version: 1
Image version: 28392
File count: 7
Header length: 528
Data length: 145393535
PUP file hash : B1611B86B218AD18883A0547AA39A04232743191
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : C44806FCD87A6FE573918D7E9135FE6913ED8940
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 230530
File hash : 4C63F2A5732DF34721D80925C6B88BD82A39B3BD
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x38697
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3869C
        Data length: 5499632
File hash : 1821E1330BD0F156932FBBACAFC0268A3FBA9303
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x57718C
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x57998C
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x57998F
        Data length: 139653120
File hash : 7CD93357189E14CD6064DCDB58F8A1F3493DCC9A
</pre>


===2.60 RETAIL-DISK/CEX===
The PS Vita and PS Vita TV update files can be extracted from .PUP using:
<pre>
* "[http://www.psdevwiki.com/vita/index.php?title=Tools PS VITA Firmware xTractor]"
PUP file information
* pupunpack from [http://www.psdevwiki.com/vita/index.php?title=Tools#Vitatools vitatools].
Package version: 1
Image version: 28392
File count: 7
Header length: 528
Data length: 145393535
PUP file hash : B1611B86B218AD18883A0547AA39A04232743191
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : C44806FCD87A6FE573918D7E9135FE6913ED8940
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 230530
File hash : 4C63F2A5732DF34721D80925C6B88BD82A39B3BD
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x38697
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3869C
Data length: 5499632
File hash : 1821E1330BD0F156932FBBACAFC0268A3FBA9303
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x57718C
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x57998C
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x57998F
Data length: 139653120
File hash : 7CD93357189E14CD6064DCDB58F8A1F3493DCC9A
</pre>


===2.70 DEBUG/DEX===
== Decryption ==
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 133868758
PUP file hash : B2547D4FA7C14D5557A447989DB9BC43D1BC23CE
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 647905E5CD2CCCEC5814110DED26377F185C9CD2
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5562056
File hash : 6C8EB50F84D79A0AD24F2E5619BB714CF1F6978E
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584EE3
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5876E3
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5876E6
Data length: 128071680
File hash : 3105F80D067A21B51727A5B74EF1C22FEA8A1DFB
</pre>


===2.70 RETAIL/CEX===
Even though PUP is not encrypted, most files it embeds are.
<pre>
PUP file information
Package version: 1
Image version: 30429
File count: 7
Header length: 528
Data length: 149368669
PUP file hash : 5DF12C6D47773B1BECE9CB7300361798B8CF3767
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 647905E5CD2CCCEC5814110DED26377F185C9CD2
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 241800
File hash : 93ABC0ECD86316ABEE9F1438BE8099A78358943B
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x3B29D
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3B2A2
        Data length: 5562056
File hash : A7DFD0D9651829B1B2C3B89CA6728ED78AC673A1
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x58916A
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x58B96A
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x58B96D
        Data length: 143554560
File hash : 874596DDDCA12A76C6F842128C44F424039863EC
</pre>


===2.76 DEBUG/DEX===
== PS3 ==
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 133868758
PUP file hash : 05200CDC0B853D1ED2113E95BA045816C4A7589B
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 535D9C9142236959277BFB94239AE36839B0D44E
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5562056
File hash : 47C107BE407B1EFCC72DEA7A1F31BBF998E689B8
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584EE3
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5876E3
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5876E6
Data length: 128071680
File hash : 15C901EDF5C5E370313827AD240B0FD348554B04
</pre>


===2.76 RETAIL/CEX===
=== Header ===
<pre>
PUP file information
Package version: 1
Image version: 31347
File count: 7
Header length: 528
Data length: 149341398
PUP file hash : 0B9AF264D831057472636333F339BFE226848E03
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 535D9C9142236959277BFB94239AE36839B0D44E
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x37016
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3701B
        Data length: 5562056
File hash : ABEC4821E953D441CA29B29F64E935C47DD2E54D
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x584EE3
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5876E3
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5876E6
        Data length: 143544320
File hash : F27E9DB361C9A303A925C6D920684CC0FF06B4A7
</pre>


===2.76 RETAIL-DISK/CEX===
<source lang="C">
<pre>
typedef struct ScePupHeader_v1 { // size is 0x30-bytes
PUP file information
  uint8_t magic[7];
Package version: 1
  uint8_t format_flag;
Image version: 31347
  uint64_t package_version;
File count: 7
  uint64_t image_version;
Header length: 528
  uint64_t segment_num;
Data length: 149341398
  uint64_t file_offset;
PUP file hash : 0B9AF264D831057472636333F339BFE226848E03
  uint64_t file_size;
File 0
} ScePupHeader_v1;
Entry id: 0x100
</source>
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 535D9C9142236959277BFB94239AE36839B0D44E
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5562056
File hash : ABEC4821E953D441CA29B29F64E935C47DD2E54D
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584EE3
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5876E3
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5876E6
Data length: 143544320
File hash : F27E9DB361C9A303A925C6D920684CC0FF06B4A7
</pre>


===2.80 DEBUG/DEX===
{| class="wikitable"
<pre>
|-
PUP file information
! Offset !! Length !! Type !! Information
Package version: 1
|-
Image version: 99999
| 0x0 || 0x7 || unsigned long || Magic
File count: 7
|-
Header length: 528
| 0x7 || 0x1 || uint8_t || Format Flag
Data length: 134390902
|-
PUP file hash : B1349CD11D1D388910EF90DB4302A0847DB29480
| 0x8 || 0x8 || unsigned long || Package Version. ?Might be Format version like on PS Vita?
File 0
|-
Entry id: 0x100
| 0x10 || 0x8 || unsigned long || Image Version. ?What is this?
Filename : version.txt
|-
Data offset: 0x210
| 0x18 || 0x8 || unsigned long || Segment Number
Data length: 5
|-
File hash : DD694DEAB13106DF3BD7A1B5F3F96018184AC087
| 0x20 || 0x8 || unsigned long || File Offset. It corresponds to Header Length.
File 1
|-
Entry id: 0x101
| 0x28 || 0x8 || unsigned long || File Size. It corresponds to Data Length.
Filename : license.xml
|-
Data offset: 0x215
| 0x30 || 0x20 * '''segment_num''' || '''Segment Table''' || Segment Table
Data length: 224769
|-
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
| 0x30 + (0x20 * '''segment_num''') || 0x20 * '''segment_num''' || '''Digest Table''' || Digest Table
File 2
|-
Entry id: 0x103
| 0x30 + (0x40 * '''segment_num''') || 0x14 || '''Header Digest''' || Header Digest
Filename : update_flags.txt
|-
Data offset: 0x37016
| 0x44 + (0x40 * '''segment_num''') || 0xC || uint8_t[0xC] || Padding
Data length: 5
|}
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5561960
File hash : 65D6F0513B0E4D8832CCC75FC675809E6DAA7E78
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584E83
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x587683
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x587686
Data length: 128593920
File hash : 495E0F6A4DF1EF23ED5CEA7FF6C156BFA2988E95
</pre>


===2.80 RETAIL/CEX===
=== Segment Table ===
<pre>
PUP file information
Package version: 1
Image version: 32582
File count: 7
Header length: 528
Data length: 149597302
PUP file hash : A40FD1CC06772021913A308760FBD0933AC9A061
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : DD694DEAB13106DF3BD7A1B5F3F96018184AC087
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5561960
File hash : 5047AE69369FC6E8147E444A040916A721971564
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584E83
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x587683
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x587686
Data length: 143800320
File hash : 892BDD32EB5434E3E31CE46D7FB4E23DD046AFE1
</pre>


===2.80 RETAIL-DISK/CEX===
The Segment Table consists of a number of Segment Entries determined by '''Segment Num'''.
<pre>
PUP file information
Package version: 1
Image version: 32582
File count: 7
Header length: 528
Data length: 149597302
PUP file hash : A40FD1CC06772021913A308760FBD0933AC9A061
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : DD694DEAB13106DF3BD7A1B5F3F96018184AC087
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 224769
File hash : 9F7430A8BC07F17E796E0546456BB04CEA680556
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x37016
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3701B
Data length: 5561960
File hash : 5047AE69369FC6E8147E444A040916A721971564
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x584E83
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x587683
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x587686
Data length: 143800320
File hash : 892BDD32EB5434E3E31CE46D7FB4E23DD046AFE1
</pre>


===3.00 DEBUG/DEX===
<source lang="C">
<pre>
typedef struct ScePupSegmentEntry { // size is 0x20-bytes
PUP file information
  uint64_t id;
Package version: 1
  uint64_t offset;
Image version: 99999
  uint64_t size;
File count: 7
  uint32_t sign_algorithm;
Header length: 528
  uint32_t padding;
Data length: 145612313
} ScePupSegmentEntry;
PUP file hash : 8E09D4B789650935983390D5838711E5CB6712BD
</source>
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 840EE6386CC0B047912310E277CE00DBAB74BA11
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 243604
File hash : A3A07FABCECC15E180E0BCA34A0ECD1FC98F249A
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3B9A9
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3B9AE
Data length: 5561976
File hash : 59854785B3A50F3E1BD09F8691C84EE84EDC19FD
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x589826
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x58C026
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x58C029
Data length: 139796480
File hash : B0F8C0591C062030E5969E765F532B782FC7310C
</pre>


===3.00 RETAIL/CEX===
{| class="wikitable"
<pre>
|-
PUP file information
! Offset !! Length !! Type !! Information
Package version: 1
|-
Image version: 34641
| 0x0 || 0x8 || unsigned long || ID
File count: 7
|-
Header length: 528
| 0x8 || 0x8 || unsigned long || Offset
Data length: 160979676
|-
PUP file hash : ADDE78466CF9B342C00A216895E049C9E2919049
| 0x10 || 0x8 || unsigned long || Size
        File 0
|-
        Entry id: 0x100
| 0x18 || 0x4 || unsigned int || Signature Algorithm. 0 = HMAC-SHA1, 2 = HMAC-SHA256
        Filename : version.txt
|-
        Data offset: 0x210
| 0x1C || 0x4 || char[4] || Padding
        Data length: 5
|}
File hash : 840EE6386CC0B047912310E277CE00DBAB74BA11
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 261207
File hash : 0513A0F2B41362034216D1988F0AC153B07F3090
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x3FE6C
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3FE71
        Data length: 5561976
File hash : 3E6721F2E19F717B406FCFEACD50221B18E04494
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x58DCE9
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5904E9
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5904EC
        Data length: 155146240
File hash : 76AF410A166FF661B4543411E86440C7CDBD8044
</pre>


===3.01 DEBUG/DEX===
=== Segment Entry IDs ===
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 145612313
PUP file hash : 04D80CD56BE9BCFF357E3ACD787109FC553FAEBA
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : A7641BCD230DBDA64F088EFF26473CDF7E7104ED
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 243604
File hash : A3A07FABCECC15E180E0BCA34A0ECD1FC98F249A
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3B9A9
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3B9AE
Data length: 5561976
File hash : 1B2F1A60CA12AC48FCADAE765E0F5545DC2F4AAD
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x589826
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x58C026
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x58C029
Data length: 139796480
File hash : 31FD768EE6836BC5BCF2ABA594FADE9BE4150AA1
</pre>


===3.01 RETAIL/CEX===
It is a mistake to try to connect a Segment Entry ID to any specific file. Nevertheless, there are certain Segment Entry IDs that have been linked with the same data throughout all observed PUPs.
Last version without Cinavia DRM
<pre>
PUP file information
Package version: 1
Image version: 35108
File count: 7
Header length: 528
Data length: 160962073
PUP file hash : 6B47B00899392B9480CBB1B96C5E5829EE58E17E
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : A7641BCD230DBDA64F088EFF26473CDF7E7104ED
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 243604
File hash : A3A07FABCECC15E180E0BCA34A0ECD1FC98F249A
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x3B9A9
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3B9AE
        Data length: 5561976
File hash : 5F632292CED8A6329B8006BA51CE107FB874AAC9
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x589826
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x58C026
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x58C029
        Data length: 155146240
File hash : D620ED8F9CB24D7D5FA77B30E44C304098F137A5
</pre>


===3.01 RETAIL-DISK/CEX===
{| class="wikitable sortable"
<pre>
! Segment Entry ID !! Console !! File name !! Notes
PUP file information
|-
Package version: 1
| 0x100 || [[version.txt]] || PS3, PS Vita || Version string
Image version: 35108
|-
File count: 7
| 0x101 || [[license.xml]] || PS3, PS Vita || License XML. (?aka: resource.txt?)
Header length: 528
|-
Data length: 160962073
| 0x102 || [[promo_flags.txt]] || PS3 || (only on {{SHOP}}) (?aka: shop.txt?)
PUP file hash : 6B47B00899392B9480CBB1B96C5E5829EE58E17E
|-
File 0
| 0x103 || [[update_flags.txt]] || PS3 ||
Entry id: 0x100
|-
Filename : version.txt
| 0x104 || [[patch_build.txt]] || PS3 ||
Data offset: 0x210
|-
Data length: 5
| 0x200 || [[ps3swu.self]], [[psp2swu.self]] || PS3, PS Vita || Main updater executable
File hash : A7641BCD230DBDA64F088EFF26473CDF7E7104ED
|-
File 1
| 0x201 || [[vsh.tar]] / [[font_resource.tar]] || PS3 ||
Entry id: 0x101
|-
Filename : license.xml
| 0x202 || [[dots.txt]] || PS3 ||
Data offset: 0x215
|-
Data length: 243604
| 0x203 || [[patch_data.pkg]] || PS3 ||
File hash : A3A07FABCECC15E180E0BCA34A0ECD1FC98F249A
|-
File 2
| 0x204 || [[cui_setupper.self]] || PS Vita || Classical UI updater setupper executable
Entry id: 0x103
|-
Filename : update_flags.txt
| 0x221 || [[vs0_patch_tar_info.txt]] || PS Vita || vs0 patch tar archive access permission config
Data offset: 0x3B9A9
|-
Data length: 5
| 0x231 || [[vs0_patch_tar_2_info.txt]] || PS Vita || vs0 patch tar archive 2 access permission config
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
|-
File 3
| 0x300 || [[update_files.tar]] || PS3 ||
Entry id: 0x200
|-
Filename : ps3swu.self
| 0x302 ||  || PS Vita || SLB2
Data offset: 0x3B9AE
|-
Data length: 5561976
| 0x303 ||  || PS Vita || os0
File hash : 5F632292CED8A6329B8006BA51CE107FB874AAC9
|-
File 4
| 0x304 ||  || PS Vita || vs0
Entry id: 0x201
|-
Filename : vsh.tar
| 0x305 ||  || PS Vita ||
Data offset: 0x589826
|-
Data length: 10240
| 0x306 ||  || PS Vita ||
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
|-
File 5
| 0x307 ||  || PS Vita ||
Entry id: 0x202
|-
Filename : dots.txt
| 0x308 ||  || PS Vita ||
Data offset: 0x58C026
|-
Data length: 3
| 0x309 ||  || PS Vita ||
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
|-
File 6
| 0x30A ||  || PS Vita ||
Entry id: 0x300
|-
Filename : update_files.tar
| 0x30B ||  || PS Vita ||
Data offset: 0x58C029
|-
Data length: 155146240
| 0x30C ||  || PS Vita ||
File hash : D620ED8F9CB24D7D5FA77B30E44C304098F137A5
|-
</pre>
| 0x30D ||  || PS Vita ||
|-
| 0x30E ||  || PS Vita ||
|-
| 0x30F ||  || PS Vita ||
|-
| 0x310 ||  || PS Vita ||
|-
| 0x311 ||  || PS Vita || vs0 patch tar archive
|-
| 0x312 ||  || PS Vita || vs0 patch tar archive 2
|-
| 0x313 ||  || PS Vita || Syscon update type 0: 00 24 10 00
|-
| 0x314 ||  || PS Vita || Syscon update type 1: 00 50 31 00, 00 50 40 00
|-
| 0x315 ||  || PS Vita || Syscon update type 2: 00 26 10 00, 00 52 40 00
|-
| 0x316 ||  || PS Vita || Syscon update type 3: 00 52 31 00
|-
| 0x317 ||  || PS Vita || Syscon update type 4:
|-
| 0x318 ||  || PS Vita || Syscon update type 5:
|-
| 0x319 ||  || PS Vita || Syscon update type 6:
|-
| 0x31A ||  || PS Vita || Syscon update type 7:
|-
| 0x31B ||  || PS Vita || Syscon update type 8:
|-
| 0x31C ||  || PS Vita || Syscon update type 9: 00 30 70 00
|-
| 0x400 || [[package_scewm.wm]] || PS Vita || SCEWM file
|-
| 0x401 || [[package_sceas.as]] || PS Vita || SCEAS file
|-
| 0x501 || [[spkg_hdr.tar]] || PS3 || (added since FW 3.56)
|-
| 0x601 || [[ps3swu2.self]] || PS3 || (added since FW 3.56)
|-
| 0x2005 ||  || PS Vita || CP ES1 firmware. In early Tool PUPs only.
|-
| 0x2006 ||  || PS Vita || CP ES2 firmware. In recent Tool PUPs only.
|}


===3.10 DEBUG/DEX===
=== Digest Table ===
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 151779269
PUP file hash : 334D92B452503C7305592A7BE15C6DEBAAC0302C
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 058B39360BE1537E7DC2930276C658B8E14269A9
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5517248
File hash : E827AB6302464CB4B5CD5EAF7128A61302FF5B82
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5829D2
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5851D2
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5851D5
Data length: 145991680
File hash : F0F91DBF7358C455CD21860EADCC92F0D66E4252
</pre>


===3.10 RETAIL/CEX===
The Digest Table contains a Digest Entry for every segment inside the PUP.
Cinavia DRM added
<pre>
PUP file information
Package version: 1
Image version: 37233
File count: 7
Header length: 528
Data length: 167241391
PUP file hash : 3640BBD1CD2738C81A52995DEB12B8ED908691B6
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 058B39360BE1537E7DC2930276C658B8E14269A9
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 270050
File hash : 2B7967513BBE2CA9A904EE27039DDE9A34A3C1C2
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x420F7
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x420FC
        Data length: 5517248
File hash : 66A9D3A5917CCB595DA7768BB733C8712BA6A895
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5850BC
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5878BC
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5878BF
        Data length: 161443840
File hash : 16366185F6B31E169B5EE39189CF02E6C35E0D38
</pre>


===3.15 DEBUG/DEX===
<source lang="C">
Last version to contain OtherOS
typedef struct ScePupDigestEntry_v1 { // size is 0x20-bytes
<pre>
  uint64_t segment_index;
PUP file information
  uint8_t digest[0x14];
Package version: 1
  uint32_t padding;
Image version: 99999
} ScePupDigestEntry_v1;
File count: 7
</source>
Header length: 528
Data length: 156377029
PUP file hash : 59D38EF08A176BC33090A8B768B6AAF1ACCC9BD5
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : EC7C40217BFC04CD495CCC44ECF6EB4B19F4A611
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5517248
File hash : 5D06F5787430B7D4C61DCCB1334D614E189FD4A0
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5829D2
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5851D2
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5851D5
Data length: 150589440
File hash : A0428BC27C7C857615A4297DB7E3BB13E44D06B3
</pre>


===3.15 RETAIL/CEX===
{| class="wikitable"
Last version to contain OtherOS
|-
<pre>
! Offset !! Length !! Type !! Information
PUP file information
|-
Package version: 1
| 0x0 || 0x8 || uint64_t || Segment Index
Image version: 38031
|-
File count: 7
| 0x8 || 0x14 || uint8_t[0x14] || Digest (HMAC-SHA1)
Header length: 528
|-
Data length: 171808709
| 0x1C || 0x4 || uint32_t || Padding
PUP file hash : D87AFAD8C786E0EEE83C0C96EF61492D78F37980
|}
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : EC7C40217BFC04CD495CCC44ECF6EB4B19F4A611
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x3FA0D
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3FA12
        Data length: 5517248
File hash : 5D0F73B77A388C9B8B997D735A2AE3AAFA624986
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5829D2
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5851D2
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5851D5
        Data length: 166021120
File hash : 1A25E498942D3F293938541833C3A2DC6DBEC00B
</pre>


=== Header Digest ===


===3.15 RETAIL-DISK/CEX===
<source lang="C">
<pre>
typedef struct {
PUP file information
  uint8_t digest[0x14]; // HMAC-SHA1
Package version: 1
} PUPHeaderDigest_v1;
Image version: 38031
</source>
File count: 7
Header length: 528
Data length: 171808709
PUP file hash : D87AFAD8C786E0EEE83C0C96EF61492D78F37980
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : EC7C40217BFC04CD495CCC44ECF6EB4B19F4A611
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5517248
File hash : 5D0F73B77A388C9B8B997D735A2AE3AAFA624986
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5829D2
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5851D2
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5851D5
Data length: 166021120
File hash : 1A25E498942D3F293938541833C3A2DC6DBEC00B
</pre>


===3.20 DEBUG/DEX===
== PS Vita ==
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 156755909
PUP file hash : 827C0276607C53B276A5AD231A40F5DEAAD4C199
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 5AEE3DF8305384530F3BBCAD515FAF786DDFE983
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5517248
File hash : 6E8F2D32BCF95D2E539175B2ED61F75526472E4C
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5829D2
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5851D2
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5851D5
Data length: 150968320
File hash : 163E618BD1AFFAC6118B95A86D1FB113CD8116BF
</pre>


===3.21 DEBUG/DEX===
=== Differences with PS3 PUPs ===
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 156824877
PUP file hash : EE3BF139069844FB8A5A9EAAC88A5984BAA2CC06
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : EF84389DAAF0D94E9DAAA6B538DCBBDB0E42938F
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5596456
File hash : BA3CA852B48E7343C26CD113DA1DA1E193BDA6A6
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x595F3A
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x59873A
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x59873D
Data length: 150958080
File hash : C91C7D71F22AEF1F4E1529D23726281F00B9C72B
</pre>


===3.21 RETAIL/CEX===
The file structure of the PS Vita PUP is almost identical to the PS3 PUP, although there is a slight difference in the header, the hash algorithm and the signature.
First version to not contain OtherOS
<pre>
PUP file information
Package version: 1
Image version: 41486
File count: 7
Header length: 528
Data length: 172317997
PUP file hash : E993F5210B9074071985AC8A706C498629F3FE88
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : EF84389DAAF0D94E9DAAA6B538DCBBDB0E42938F
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x3FA0D
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x3FA12
        Data length: 5596456
File hash : 1E7B724C5BFC4E31558C67414A904AAF10A6AB06
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x595F3A
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x59873A
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x59873D
        Data length: 166451200
File hash : 4A96EF687C8E5FB702B22C276E258E90B4B73A93
</pre>


===3.21 RETAIL-DISK/CEX===
* PS Vita PUP is little-endian. PS3 PUP is big-endian.
<pre>
* PS Vita PUP '''Format Version''' is 2. PS3 PUP '''Format Version''' is 1.
PUP file information
* There are 0x50 bytes of extra data in the PS Vita PUP Header compared to PS3 PUP.
Package version: 1
* PS Vita PUP digests are longer than the ones in PS3 PUP: 0x20 bytes (SHA-256 length) in PS Vita PUP versus 0x14 bytes (SHA-1 length) in PS3 PUP.
Image version: 41486
* PS Vita PUP Header Digest is signed using RSA2048 in the SCEWM file. ?PS3 PUP has a RSA signature?
File count: 7
Header length: 528
Data length: 172317997
PUP file hash : E993F5210B9074071985AC8A706C498629F3FE88
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : EF84389DAAF0D94E9DAAA6B538DCBBDB0E42938F
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 260088
File hash : EA1FBD687ACE803C74560223048D1CF2F4CB6B08
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x3FA0D
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x3FA12
Data length: 5596456
File hash : 1E7B724C5BFC4E31558C67414A904AAF10A6AB06
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x595F3A
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x59873A
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x59873D
Data length: 166451200
File hash : 4A96EF687C8E5FB702B22C276E258E90B4B73A93
</pre>


===3.30 RETAIL/CEX===
=== Header ===
<pre>
PUP file information
Package version: 1
Image version: 42164
File count: 7
Header length: 528
Data length: 174497280
PUP file hash : CFD1BC6F73B0709170AD4F02F903A2D9D04FE75C
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : C2BC9B07B3F70556051A8ED21CFF1292D7E9C854
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x40A70
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x40A75
        Data length: 5662104
File hash : 808994D25D1A85A245FA831177595134F79776F8
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A700D
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5A980D
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5A9810
        Data length: 168560640
File hash : CCC0040FE95BC5260570B0E47AE0BDC9671F9B91
</pre>


===3.30 RETAIL-DISK/CEX===
<source lang="C">
<pre>
typedef struct ScePupHeader_v2 { // size is 0x80-bytes
PUP file information
SceUInt8 magic[7];
Package version: 1
SceUInt8 format_flag;
Image version: 42164
SceUInt64 format_version;
File count: 7
SceUInt32 version;
Header length: 528
SceUInt32 buildno;
Data length: 174497280
SceUInt64 segment_num;
PUP file hash : CFD1BC6F73B0709170AD4F02F903A2D9D04FE75C
SceUInt64 file_offset;
File 0
SceUInt64 file_size;
Entry id: 0x100
SceUInt32 sign_algorithm;
Filename : version.txt
SceUInt32 sign_key_index;
Data offset: 0x210
SceUInt8 attribute[4];
Data length: 5
SceUInt32 target;
File hash : C2BC9B07B3F70556051A8ED21CFF1292D7E9C854
SceUInt32 sub_target;
File 1
SceUInt32 support_list;
Entry id: 0x101
SceUInt32 base_version;
Filename : license.xml
SceUInt32 base_buildno;
Data offset: 0x215
SceUInt8 unk_0x50[0x30];
Data length: 264283
} ScePupHeader_v2;
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
</source>
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40A70
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40A75
Data length: 5662104
File hash : 808994D25D1A85A245FA831177595134F79776F8
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A700D
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A980D
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A9810
Data length: 168560640
File hash : CCC0040FE95BC5260570B0E47AE0BDC9671F9B91
</pre>


===3.40 RETAIL/CEX===
{| class="wikitable"
<pre>
! Offset !! Length !! Type !! Information
PUP file information
|-
Package version: 1
| 0x0 || 0x7 || char[7] || Magic (hex: 53 43 45 55 46 00 00 ~ ASCII 'SCEUF\0\0')
Image version: 44261
|-
File count: 7
| 0x7 || 0x1 || uint8_t || Format Flag
Header length: 528
|-
Data length: 175130916
| 0x8 || 0x8 || uint64_t || Format Version (11 digits max)
PUP file hash : 813F084DAE9C2AA486E7EF248E60E78713CB8B61
|-
        File 0
| 0x10 || 0x4 || uint32_t || Version (ex: 0x01600000 on FW 1.60)
        Entry id: 0x100
|-
        Filename : version.txt
| 0x14 || 0x4 || uint32_t || Build No
        Data offset: 0x210
|-
        Data length: 5
| 0x18 || 0x8 || uint64_t || Segment Num (11 digits max)
File hash : 09DB6DBD4C3D7A2CE5F7A11D65A79B850A2AEBC2
|-
        File 1
| 0x20 || 0x8 || uint64_t || Header Length (ex: 0xC00, 0xE00, 0x1000, 0x1600)
        Entry id: 0x101
|-
        Filename : license.xml
| 0x28 || 0x8 || uint64_t || Data Length. Equals (PUP file size - PUP Header Length).
        Data offset: 0x215
|-
        Data length: 273647
| 0x30 || 0x4 || uint32_t || Sign Algorithm. PS Vita only. (ex: 2)
File hash : A101BF524422E213D172BDF443F22CF90434AF01
|-
        File 2
| 0x34 || 0x4 || uint32_t || Sign Key Index. PS Vita only. (ex: 1)
        Entry id: 0x103
|-
        Filename : update_flags.txt
| 0x38 || 0x4 || uint8_t[4] || Attribute. PS Vita only. 0: default, 1: QAF required, 2: manufacturing mode required.
        Data offset: 0x42F04
|-
        Data length: 5
| 0x3C || 0x4 || uint32_t || Target. PS Vita only. 1: TOOL, 2: CEX, 4: DEX. cex_for_tool PUPs are set to 1.
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
|-
        File 3
| 0x40 || 0x4 || uint32_t || Sub Target. PS Vita only. (ex: 0)
        Entry id: 0x200
|-
        Filename : ps3swu.self
| 0x44 || 0x4 || uint32_t || Support List. PS Vita only. (ex: 1, 7, 0xC, 0xF, 0x38, 0x78, 0x3F8, 0xFF8, 0xCFF8)
        Data offset: 0x42F09
|-
        Data length: 5661736
| 0x48 || 0x4 || uint32_t || Base Version. PS Vita only. (ex: 0)
File hash : E97B150437C712272CC1522B62056DFC59262696
|-
        File 4
| 0x4C || 0x4 || uint32_t || Base Build No. PS Vita only. (ex: 0)
        Entry id: 0x201
|-
        Filename : vsh.tar
| 0x50 || 0x30 || char[0x30] || Unknown. PS Vita only. (ex: 0x2000)
        Data offset: 0x5A9331
|-
        Data length: 10240
| 0x80 || 0x20 * '''segment_num''' || '''Segment Table''' || Segment Table
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
|-
        File 5
| 0x80 + (0x20 * '''segment_num''') || 0x40 * '''segment_num''' || '''Digest Table''' || Digest Table
        Entry id: 0x202
|-
        Filename : dots.txt
| 0x80 + (0x60 * '''segment_num''') || 0x20 || '''Header Digest''' || Header Digest (HMAC-SHA256)
        Data offset: 0x5ABB31
|}
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5ABB34
        Data length: 169185280
File hash : AB9B34391FF970CD1D1A84833530E9C38987C283
</pre>


===3.40 RETAIL-DISK/CEX===
=== Segment Table ===
<pre>
PUP file information
Package version: 1
Image version: 44261
File count: 7
Header length: 528
Data length: 175130916
PUP file hash : 813F084DAE9C2AA486E7EF248E60E78713CB8B61
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 09DB6DBD4C3D7A2CE5F7A11D65A79B850A2AEBC2
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 273647
File hash : A101BF524422E213D172BDF443F22CF90434AF01
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x42F04
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x42F09
Data length: 5661736
File hash : E97B150437C712272CC1522B62056DFC59262696
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A9331
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5ABB31
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5ABB34
Data length: 169185280
File hash : AB9B34391FF970CD1D1A84833530E9C38987C283
</pre>


===3.41 DEBUG/DEX===
Same as in PS3 PUP.
<pre>
PUP file information
Package version: 1
Image version: 99999
File count: 7
Header length: 528
Data length: 160027792
PUP file hash : 098B0BD889C998E289C25F254E4E883871114D83
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 6E18EB2E98798EA8F05DE734837EB9BE1BC842C4
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40A70
Data length: 5
File hash : 65A0A6DA7FDB7F7A93C50F2439F6D5FE4C55AF74
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40A75
Data length: 5661736
File hash : 1FE06B189A4971220B56412295953D0C718374DF
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6E9D
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A969D
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A96A0
Data length: 154091520
File hash : 0E420AC7238CF620D046A6C7168675C471ECEECF
</pre>


===3.41 BAD RETAIL/CEX===
=== Digest Table ===
Silently replaced. Also known as 3.41-1st.
<pre>
PUP file information
Package version: 1
Image version: 45039
File count: 7
Header length: 528
Data length: 175193232
PUP file hash : D6EAC01D3472ED686D85F5A36BFE7178D4AA2825
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 6E18EB2E98798EA8F05DE734837EB9BE1BC842C4
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x40A70
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x40A75
        Data length: 5661736
File hash : C40F6623F584E495E0FD9A631F22BB224D0DCD46
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A6E9D
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5A969D
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5A96A0
        Data length: 169256960
File hash : 47DFE8C201154D8465A27F10EEA4668DADB148EA
</pre>


===3.41 RETAIL/CEX PATCH===
The Digest Table contains a Digest Entry for every segment inside the PUP.
Patch version does not include entire firmware, not suitable for clean installs without prior FW
<pre>
PUP file information
Package version: 1
Image version: 45039
File count: 9
Header length: 656
Data length: 38977355
PUP file hash : 056FA20CC111BB54C8282CF6B473B2FE06AE453B
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x290
Data length: 5
File hash : 6E18EB2E98798EA8F05DE734837EB9BE1BC842C4
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x295
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40AF0
Data length: 5
File hash : 1D67B76D7AD7B3369FACF9701549B0781997BCF7
File 3
Entry id: 0x104
Filename : patch_build.txt
Data offset: 0x40AF5
Data length: 11
File hash : ABFCD9C7A9679FB09B24E6209B8FDC6D34A8BB42
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40B00
Data length: 5661736
File hash : C40F6623F584E495E0FD9A631F22BB224D0DCD46
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6F28
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A9728
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x203
Filename : patch_data.pkg
Data offset: 0x5A972B
Data length: 6832
File hash : 929D9280F74B74C77F743AB6B1379C23D14C7534
File 8
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5AB1DB
Data length: 33034240
File hash : CA2B4BF05C01E2D036A38EA438D87FC9D506E8EA
</pre>


===3.41 FIX RETAIL/CEX===
<source lang="C">
This is the replacement version, recommended for PSgroove/jailbreaking. Also known as 3.42-2nd.
typedef struct ScePupDigestEntry_v2 { // size is 0x40-bytes
<pre>
SceUInt64 segment_index;
PUP file information
SceUInt8 digest[0x20];
Package version: 1
SceUInt8 padding[0x18];
Image version: 45039
} ScePupDigestEntry_v2;
File count: 7
</source>
Header length: 528
Data length: 175193232
PUP file hash : A5A6AE8C67099156BF440C2537AC24436677C765
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 6E18EB2E98798EA8F05DE734837EB9BE1BC842C4
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x40A70
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x40A75
        Data length: 5661736
File hash : C40F6623F584E495E0FD9A631F22BB224D0DCD46
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A6E9D
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5A969D
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5A96A0
        Data length: 169256960
File hash : 32E3D8A55B512B05219517C630C71D667C5AE1BA
</pre>


===3.41 RETAIL-DISK/CEX===
{| class="wikitable"
<pre>
|-
PUP file information
! Offset !! Length !! Type !! Information
Package version: 1
|-
Image version: 45039
| 0x0 || 0x8 || unsigned long || Segment Index
File count: 7
|-
Header length: 528
| 0x8 || 0x20 || uint8_t[0x20] || Digest (HMAC-SHA256)
Data length: 175193232
|-
PUP file hash : A5A6AE8C67099156BF440C2537AC24436677C765
| 0x28 || 0x18 || uint8_t[0x18] || Padding
File 0
|}
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : 6E18EB2E98798EA8F05DE734837EB9BE1BC842C4
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40A70
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40A75
Data length: 5661736
File hash : C40F6623F584E495E0FD9A631F22BB224D0DCD46
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6E9D
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A969D
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A96A0
Data length: 169256960
File hash : 32E3D8A55B512B05219517C630C71D667C5AE1BA
</pre>


===3.41 PSJB RETAIL/CEX===
=== Header Digest ===
Modified to work for downgrading of FW by using JIG to enter Factory/Service mode.
psjailbreak.com modified 3.41 from DGF.rar
<pre>
Header hash : 9F7001A6A93AE03A61ED7CFB7156A68DF0740708
Expected hash : 27739224B41F2C33E209AEF99F9D065D643ABA16
</pre>


===3.41 SHOP/SEX===
<source lang="C">
<pre>
typedef struct {
PUP file information
  uint8_t digest[0x20]; // HMAC-SHA256
Package version: 1
} PUPHeaderDigest_v2;
Image version: 45046
</source>
File count: 8
Header length: 592
Data length: 174732444
PUP file hash : 2EF14E6EE9A574CC5602EBD502453309C2BB67A6
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x250
Data length: 16
File hash : 8EBAE02F6EE27AC32971BCB9127F6E62FE53C0D7
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x260
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x102
Filename : promo_flags.txt
Data offset: 0x40ABB
Data length: 1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
File 3
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40ABC
Data length: 5
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40AC1
Data length: 5661736
File hash : 88F38D503EA32773DC725870A95FC41230F818D5
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6EE9
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A96E9
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A96EC
Data length: 168796160
File hash : 92A8C405C69D1BDA39ED28DBE2D556698FE1A2A5
</pre>


===3.42 RETAIL/CEX===
= Embedded files =
This kills PSJailbreak/PSGroove - new encryption key introduced
<pre>
PUP file information
Package version: 1
Image version: 45831
File count: 7
Header length: 528
Data length: 175193232
PUP file hash : 4797F09270534D22AF2704A19330A7EA45BD175F
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : CC59C0CC93A624E64605ED5A9914707F74CA8562
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x40A70
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x40A75
        Data length: 5661736
File hash : 23E786F8C42F2A96233DF359DB11BBAEF23CCFC9
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A6E9D
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5A969D
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5A96A0
        Data length: 169256960
File hash : 6468D7B43A9CDB0C5073219A4EC4932B7521967F
</pre>


===3.42 RETAIL-DISK/CEX===
Here are examples of the files stored in a PUP.
This kills PSJailbreak/PSGroove - new encryption key introduced
<pre>
PUP file information
Package version: 1
Image version: 45831
File count: 7
Header length: 528
Data length: 175193232
PUP file hash : 4797F09270534D22AF2704A19330A7EA45BD175F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x210
Data length: 5
File hash : CC59C0CC93A624E64605ED5A9914707F74CA8562
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x215
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40A70
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40A75
Data length: 5661736
File hash : 23E786F8C42F2A96233DF359DB11BBAEF23CCFC9
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6E9D
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A969D
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A96A0
Data length: 169256960
File hash : 6468D7B43A9CDB0C5073219A4EC4932B7521967F
</pre>


===3.42 RETAIL/CEX PATCH===
== PS3 ==
Patch version does not include entire firmware, not suitable for clean installs without prior FW
<pre>
PUP file information
Package version: 1
Image version: 45831
File count: 9
Header length: 656
Data length: 35086180
PUP file hash : 2C29E90B6D43F580267E2D10A1A3F3A1513CE24F
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x290
Data length: 5
File hash : CC59C0CC93A624E64605ED5A9914707F74CA8562
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x295
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40AF0
Data length: 5
File hash : 1D67B76D7AD7B3369FACF9701549B0781997BCF7
File 3
Entry id: 0x104
Filename : patch_build.txt
Data offset: 0x40AF5
Data length: 11
File hash : 51D1F3C0165A322E98000119EDB8E4E910916DE7
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40B00
Data length: 5661736
File hash : 23E786F8C42F2A96233DF359DB11BBAEF23CCFC9
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6F28
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A9728
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x203
Filename : patch_data.pkg
Data offset: 0x5A972B
Data length: 6857
File hash : 218A8B2AECF1C78A28DF6A7F4317BE13AB7E61C0
File 8
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5AB1F4
Data length: 29143040
File hash : 288FC06E2FC841D087C3033F8CD0DCDBB1C2A76B
</pre>


===3.50 RETAIL/CEX===
=== 3.55 ===
Several non Sony licenced USB devices blocked and adding HDMI/HDCP 3D ability
<pre>
PUP file information
Package version: 1
Image version: 46135
File count: 7
Header length: 528
Data length: 177696246
PUP file hash : C9C4A4C8F98D11C5E55D06AFE40B8416FFE18BAB
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : A6EA2FE24E0E5B9E7FDA29403FD96101450C9EF9
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 268817
File hash : 34E17FD2215A550610766C3041B2950708F122C8
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x41C26
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x41C2B
        Data length: 5661656
File hash : 05A938D262915A0BD9978A14A70380383A8F6F82
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A8003
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5AA803
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5AA806
        Data length: 171755520
File hash : F2CAD93AEED6B2ED181ED4CD678B303E371D4D69
</pre>


===3.50 RETAIL-DISK/CEX===
Several non Sony licenced USB devices blocked and adding HDMI/HDCP 3D ability
<pre>
<pre>
PUP file information
PS3UPDAT.PUP
Package version: 1
├── dots.txt
Image version: 46135
├── license.txt
File count: 7
├── ps3swu.self
Header length: 528
├── update_files.tar
Data length: 177696246
│  ├── BDIT_FIRMWARE_PACKAGE.pkg
PUP file hash : C9C4A4C8F98D11C5E55D06AFE40B8416FFE18BAB
│  │  ├── content
File 0
│  │  ├── info0
Entry id: 0x100
│  │  └── info1
Filename : version.txt
│  ├── BDPT_FIRMWARE_PACKAGE_301R.pkg
Data offset: 0x210
│  │  ├── content
Data length: 5
│  │  ├── info0
File hash : A6EA2FE24E0E5B9E7FDA29403FD96101450C9EF9
│  │  └── info1
File 1
│  ├── BDPT_FIRMWARE_PACKAGE_302R.pkg
Entry id: 0x101
│  │  ├── content
Filename : license.xml
│  │  ├── info0
Data offset: 0x215
│  │  └── info1
Data length: 268817
│  ├── BDPT_FIRMWARE_PACKAGE_303R.pkg
File hash : 34E17FD2215A550610766C3041B2950708F122C8
│  │  ├── content
File 2
│  │  ├── info0
Entry id: 0x103
│  │  └── info1
Filename : update_flags.txt
│  ├── BDPT_FIRMWARE_PACKAGE_304R.pkg
Data offset: 0x41C26
│  │  ├── content
Data length: 5
│  │  ├── info0
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
│  │  └── info1
File 3
│  ├── BDPT_FIRMWARE_PACKAGE_306R.pkg
Entry id: 0x200
│  │  ├── content
Filename : ps3swu.self
│  │  ├── info0
Data offset: 0x41C2B
│  │  └── info1
Data length: 5661656
│  ├── BDPT_FIRMWARE_PACKAGE_308R.pkg
File hash : 05A938D262915A0BD9978A14A70380383A8F6F82
│  │  ├── content
File 4
│  │  ├── info0
Entry id: 0x201
│  │  └── info1
Filename : vsh.tar
│  ├── BLUETOOTH_FIRMWARE.pkg
Data offset: 0x5A8003
│  │  ├── content
Data length: 10240
│  │  │  ├── RC29_firmware_footer.dfu
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
│  │  │  ├── usb8780-5.0.1-A1-A2.dfu
File 5
│  │  │  └── usb8781-20.0.12.0.dfu
Entry id: 0x202
│  │  ├── info0
Filename : dots.txt
│  │  └── info1
Data offset: 0x5AA803
│  ├── CORE_OS_PACKAGE.pkg
Data length: 3
│  │  ├── aim_spu_module.self
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
│  │  ├── appldr
File 6
│  │  ├── creserved_0
Entry id: 0x300
│  │  ├── default.spp
Filename : update_files.tar
│  │  ├── emer_init.self
Data offset: 0x5AA806
│  │  ├── eurus_fw.bin
Data length: 171755520
│  │  ├── hdd_copy.self
File hash : F2CAD93AEED6B2ED181ED4CD678B303E371D4D69
│  │  ├── isoldr
│  │  ├── lv0
│  │  ├── lv1ldr
│  │  ├── lv1.self
│  │  ├── lv2_kernel.self
│  │  ├── lv2ldr
│  │  ├── manu_info_spu_module.self
│  │  ├── mc_iso_spu_module.self
│  │  ├── me_iso_spu_module.self
│  │  ├── sb_iso_spu_module.self
│  │  ├── sc_iso.self
│  │  ├── sdk_version
│  │  ├── spp_verifier.self
│  │  ├── spu_pkg_rvk_verifier.self
│  │  ├── spu_token_processor.self
│  │  ├── spu_utoken_processor.self
│  │  └── sv_iso_spu_module.self
│  ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''
│  ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''
│  ├── MULTI_CARD_FIRMWARE.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── RL_FOR_PACKAGE.img
│  ├── RL_FOR_PROGRAM.img
│  ├── SYS_CON_FIRMWARE_01000006.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01010303.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01020302
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01030302.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01040402.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01050002.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01050101.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  └── UPL.xml.pkg
│      ├── content
│      ├── info0
│      └── info1
├── update_flags.txt
├── version.txt
└── vsh.tar
</pre>
</pre>


===3.50 SHOP/SEX===
For a comparison between Retail and Debug firmware : [[3.55 firmware]].
<pre>
PUP file information
Package version: 1
Image version: 46140
File count: 8
Header length: 592
Data length: 177364044
PUP file hash : 1E569C87268A2C867AD16353FC7F8255F4300C0E
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x250
Data length: 16
File hash : A12F188116B4EA240972F42D1EB46C6F606D6F1B
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x260
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x102
Filename : promo_flags.txt
Data offset: 0x40ABB
Data length: 1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
File 3
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40ABC
Data length: 5
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40AC1
Data length: 5661656
File hash : F23737D0EC3D0CD9C5D8B6792BB859E24F81D346
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6E99
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A9699
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A969C
Data length: 171427840
File hash : 76CEDF613B456273DD86A84512A9EAFC5F9DC47F
</pre>


===3.55 RETAIL/CEX===
=== 3.60 - 4.00 ===
<pre>
PUP file information
Package version: 1
Image version: 47516
File count: 7
Header length: 528
Data length: 178889792
PUP file hash : 9CBC7D85CEAF24B16BFAA360F03AA0005681EA4D
        File 0
        Entry id: 0x100
        Filename : version.txt
        Data offset: 0x210
        Data length: 5
File hash : 0E460E25AAC0687D3AFCBD8C0C9363FFB9687514
        File 1
        Entry id: 0x101
        Filename : license.xml
        Data offset: 0x215
        Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
        File 2
        Entry id: 0x103
        Filename : update_flags.txt
        Data offset: 0x40A70
        Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
        File 3
        Entry id: 0x200
        Filename : ps3swu.self
        Data offset: 0x40A75
        Data length: 5661656
File hash : C61DDE12E75C2218214700D7D49006583F1B968B
        File 4
        Entry id: 0x201
        Filename : vsh.tar
        Data offset: 0x5A6E4D
        Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
        File 5
        Entry id: 0x202
        Filename : dots.txt
        Data offset: 0x5A964D
        Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
        File 6
        Entry id: 0x300
        Filename : update_files.tar
        Data offset: 0x5A9650
        Data length: 172953600
File hash : 0B2CD260A92D53F7C62FB7013B9D36831930A123
</pre>


===3.55 SHOP/SEX===
<pre>
<pre>
PUP file information
PS3UPDAT.PUP
Package version: 1
├── dots.txt
Image version: 47519
├── license.xml
File count: 8
├── ps3swu2.self
Header length: 592
├── ps3swu.self
Data length: 178490444
├── spkg_hdr.tar
PUP file hash : A977B6661F8C85DC9F5F61272B3127692404BA8E
│  ├── BDIT_FIRMWARE_PACKAGE.pkg.spkg_hdr.1
File 0
│  ├── BDPT_FIRMWARE_PACKAGE_301R.pkg.spkg_hdr.1
Entry id: 0x100
│  ├── BDPT_FIRMWARE_PACKAGE_302R.pkg.spkg_hdr.1
Filename : version.txt
│  ├── BDPT_FIRMWARE_PACKAGE_303R.pkg.spkg_hdr.1
Data offset: 0x250
│  ├── BDPT_FIRMWARE_PACKAGE_304R.pkg.spkg_hdr.1
Data length: 16
│  ├── BDPT_FIRMWARE_PACKAGE_306R.pkg.spkg_hdr.1
File hash : E5A94D2687695CAF8254E9FD786796CE72D52D95
│  ├── BDPT_FIRMWARE_PACKAGE_308R.pkg.spkg_hdr.1
File 1
│  ├── BDPT_FIRMWARE_PACKAGE_310R.pkg.spkg_hdr.1
Entry id: 0x101
│  ├── BLUETOOTH_FIRMWARE.pkg.spkg_hdr.1
Filename : license.xml
│  ├── CORE_OS_PACKAGE.pkg.spkg_hdr.1
Data offset: 0x260
│  ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''.spkg_hdr.1
Data length: 264283
│  ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''.spkg_hdr.1
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
│  ├── MULTI_CARD_FIRMWARE.pkg.spkg_hdr.1
File 2
│  ├── SYS_CON_FIRMWARE_01000006.pkg.spkg_hdr.1
Entry id: 0x102
│  ├── SYS_CON_FIRMWARE_01010303.pkg.spkg_hdr.1
Filename : promo_flags.txt
│  ├── SYS_CON_FIRMWARE_01020302.pkg.spkg_hdr.1
Data offset: 0x40ABB
│  ├── SYS_CON_FIRMWARE_01030302.pkg.spkg_hdr.1
Data length: 1
│  ├── SYS_CON_FIRMWARE_01040402.pkg.spkg_hdr.1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
│  ├── SYS_CON_FIRMWARE_01050002.pkg.spkg_hdr.1
File 3
│  ├── SYS_CON_FIRMWARE_01050101.pkg.spkg_hdr.1
Entry id: 0x103
│  ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg.spkg_hdr.1
Filename : update_flags.txt
│  └── UPL.xml.pkg.spkg_hdr.1
Data offset: 0x40ABC
├── update_files.tar
Data length: 5
│  ├── BDIT_FIRMWARE_PACKAGE.pkg
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
│  │  ├── content
File 4
│  │  ├── info0
Entry id: 0x200
│  │  └── info1
Filename : ps3swu.self
│  ├── BDPT_FIRMWARE_PACKAGE_301R.pkg
Data offset: 0x40AC1
│  │  ├── content
Data length: 5661656
│  │  ├── info0
File hash : 635C00D0E308192E3FF5667903511E94CC5DAD98
│  │  └── info1
File 5
│  ├── BDPT_FIRMWARE_PACKAGE_302R.pkg
Entry id: 0x201
│  │  ├── content
Filename : vsh.tar
│  │  ├── info0
Data offset: 0x5A6E99
│  │  └── info1
Data length: 10240
│  ├── BDPT_FIRMWARE_PACKAGE_303R.pkg
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
│  │  ├── content
File 6
│  │  ├── info0
Entry id: 0x202
│  │  └── info1
Filename : dots.txt
│  ├── BDPT_FIRMWARE_PACKAGE_304R.pkg
Data offset: 0x5A9699
│  │  ├── content
Data length: 3
│  │  ├── info0
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
│  │  └── info1
File 7
│  ├── BDPT_FIRMWARE_PACKAGE_306R.pkg
Entry id: 0x300
│  │  ├── content
Filename : update_files.tar
│  │  ├── info0
Data offset: 0x5A969C
│  │  └── info1
Data length: 172554240
│  ├── BDPT_FIRMWARE_PACKAGE_308R.pkg
File hash : CBAEF9E0F1BE9828C9B7F622BA9D5CEF4CEE9023
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── BDPT_FIRMWARE_PACKAGE_310R.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── BLUETOOTH_FIRMWARE.pkg
│  │  ├── content
│  │  │  ├── RC29_firmware_footer.dfu
│  │  │  ├── usb8780-5.0.1-A1-A2.dfu
│  │  │  └── usb8781-20.0.12.0.dfu
│  │  ├── info0
│  │  └── info1
│  ├── CORE_OS_PACKAGE.pkg
│  │  ├── aim_spu_module.self
│  │  ├── creserved_0
│  │  ├── default.spp
│  │  ├── emer_init.self
│  │  ├── eurus_fw.bin
│  │  ├── hdd_copy.self
│  │  ├── lv0
│  │  │  ├── appldr
│  │  │  ├── isoldr
│  │  │  ├── lv1ldr
│  │  │  └── lv2ldr
│  │  ├── lv0.2
│  │  ├── lv1.self
│  │  ├── lv2_kernel.self
│  │  ├── manu_info_spu_module.self
│  │  ├── mc_iso_spu_module.self
│  │  ├── me_iso_for_ps2emu.self (3.70+)
│  │  ├── me_iso_spu_module.self
│  │  ├── pkg.srvk
│  │  ├── prog.srvk
│  │  ├── sb_iso_spu_module.self
│  │  ├── sc_iso.self
│  │  ├── sdk_version
│  │  ├── spp_verifier.self
│  │  ├── spu_pkg_rvk_verifier.self
│  │  ├── spu_token_processor.self
│  │  ├── spu_utoken_processor.self
│  │  ├── sv_iso_for_ps2emu.self (3.70+)
│  │  └── sv_iso_spu_module.self
│  ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''
│  ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''
│  ├── MULTI_CARD_FIRMWARE.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── RL_FOR_PACKAGE.img
│  ├── RL_FOR_PROGRAM.img
│  ├── SYS_CON_FIRMWARE_01000006.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01010303.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01020302
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01030302.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01040402.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01050002.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_01050101.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg
│  │  ├── content
│  │  ├── info0
│  │  └── info1
│  └── UPL.xml.pkg
│      ├── content
│      ├── info0
│      └── info1
├── update_flags.txt
├── version.txt
└── vsh.tar
    └── a
</pre>
</pre>


===3.55 RETAIL/CEX PATCH===
== PS Vita ==
Patch version does not include entire firmware, not suitable for clean installs without prior FW
<pre>
PUP file information
Package version: 1
Image version: 47516
File count: 9
Header length: 656
Data length: 64515979
PUP file hash : 8448713FD6DB7FFDEF917B84EB9272453DC4B671
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x290
Data length: 5
File hash : 0E460E25AAC0687D3AFCBD8C0C9363FFB9687514
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x295
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40AF0
Data length: 5
File hash : 1D67B76D7AD7B3369FACF9701549B0781997BCF7
File 3
Entry id: 0x104
Filename : patch_build.txt
Data offset: 0x40AF5
Data length: 11
File hash : 34B0DE055F6CC47D4407DDEE246B7DBA793B22E8
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40B00
Data length: 5661656
File hash : C61DDE12E75C2218214700D7D49006583F1B968B
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6ED8
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A96D8
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x203
Filename : patch_data.pkg
Data offset: 0x5A96DB
Data length: 6976
File hash : 238BBC137F2D7EC9D5B68645E3F38FF049D0EB6A
File 8
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5AB21B
Data length: 58572800
File hash : B0A3998F29FDC5F821B85B7F11444E5027DE7F84
</pre>


===3.56 BAD RETAIL/CEX===
=== preinst - 01.000.000 ===
First released, but after users experience problems with exchanging their harddrive when this firmware was installed, it was silently replaced by a fixed 2nd release to address the issue. However, if users had formatted the old drive with the 3.561st firmware on it, even the second silent release could not fix the issue, leaving users in dispair at the playstation board, filing lawsuit/complaints and seeking damages compensation, sending their console in for repair by Sony. Just another fine example how good Sony treats its customers: NOT!
{| class="wikitable sortable"
<pre>
|-
PUP file information
! Type !! Header !! Information !! Size
Package version: 1
|-
Image version: 48165
| ASCII:MM.mmmm (01.500) || [none] || version.txt || 1
File count: 9
|-
Header length: 656
| cui_setupper.self || SCE (SELF) || binary0.self || 4536
Data length: 184579176
|-
PUP file hash : C752AAAE505438F82AE26CCE0DDF648D411FB4AB
| unknown_lib.sprx || SCE (SELF) || binary1.self || 42
File 0
|-
Entry id: 0x100
|  || XML || license.xml || 451
Filename : version.txt
|-
Data offset: 0x290
|  || SCE || package_file_0.pkg || 7904
Data length: 5
|-
File hash : DE5F93B189BB136A1544465A1DB333F66DA67D6D
|  || SCE || package_file_1.pkg || 8130
File 1
|-
Entry id: 0x101
|  || SCE || package_file_2.pkg || 8196
Filename : license.xml
|-
Data offset: 0x295
|  || SCE || package_file_3.pkg || 8196
Data length: 264283
|-
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
|  || SCE || package_file_4.pkg || 8196
File 2
|-
Entry id: 0x103
|  || SCE || package_file_5.pkg || 7883
Filename : update_flags.txt
|-
Data offset: 0x40AF0
|  || SCE || package_file_6.pkg || 8052
Data length: 5
|-
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
|  || SCE || package_file_7.pkg || 6943
File 3
|-
Entry id: 0x200
|  || SCE || package_file_8.pkg || 7758
Filename : ps3swu.self
|-
Data offset: 0x40AF5
|  || SCE || package_file_9.pkg || 7805
Data length: 5660160
|-
File hash : 3C62C0BDA7983487C441B9076C9A110BED06D221
|  || SCE || package_file_10.pkg || 7804
File 4
|-
Entry id: 0x201
|  || SCE || package_file_11.pkg || 8005
Filename : vsh.tar
|-
Data offset: 0x5A68F5
|  || SCE || package_file_12.pkg || 8103
Data length: 10240
|-
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
|  || SCE || package_file_13.pkg || 8084
File 5
|-
Entry id: 0x202
|  || SCE || package_file_14.pkg || 8066
Filename : dots.txt
|-
Data offset: 0x5A90F5
|  || SCE || package_file_15.pkg || 1661
Data length: 3
|-
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
|  || SCEWM || package_file_16.pkg || 14
File 6
|-
Entry id: 0x300
|  || SCEAS || package_file_17.pkg || 1
Filename : update_files.tar
|}
Data offset: 0x5A90F8
Data length: 172912640
File hash : BB91143416B044EF4EA7B9ED0300A57D99016FBD
File 7
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAA900F8
Data length: 71680
File hash : DFB07F23E11EE44157BFAC7BB70733B98D8C09FA
File 8
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAAA18F8
Data length: 5660160
File hash : BB3794C58DB10368148551A9F4E8DBC3DA65EDEB
</pre>


===3.56 BAD SHOP/SEX===
=== systemdata - 01.000.010 ===
See notes at 3.56 BAD Retail/CEX version for explaination of the BAD tag.
{| class="wikitable sortable"
<pre>
|-
PUP file information
! Type !! Header !! Information !! Size
Package version: 1
|-
Image version: 48169
| ASCII:MM.mmmm (01.500) || [none] || version.txt || 1
File count: 10
|-
Header length: 720
| cui_setupper.self || SCE (SELF) || binary0.self || 4536
Data length: 184241268
|-
PUP file hash : 9BB8F6BD90F06B63A9D03F26485FE607AB9B2ADE
| unknown_lib.sprx || SCE (SELF) || binary1.self || 42
File 0
|-
Entry id: 0x100
|  || XML || license.xml || 451
Filename : version.txt
|-
Data offset: 0x2D0
|  || SCE || package_file_0.pkg || 2625
Data length: 16
|-
File hash : 1B567D7742C792267E39A410328EFB87A865B562
|  || SCE || package_file_1.pkg || 4048
File 1
|-
Entry id: 0x101
|  || SCE || package_file_2.pkg || 2746
Filename : license.xml
|-
Data offset: 0x2E0
|  || SCE || package_file_3.pkg || 3874
Data length: 264283
|-
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
|  || SCE || package_file_4.pkg || 4742
File 2
|-
Entry id: 0x102
|  || SCE || package_file_5.pkg || 4660
Filename : promo_flags.txt
|-
Data offset: 0x40B3B
|  || SCE || package_file_6.pkg || 3946
Data length: 1
|-
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
|  || SCE || package_file_7.pkg || 4145
File 3
|-
Entry id: 0x103
|  || SCE || package_file_8.pkg || 4630
Filename : update_flags.txt
|-
Data offset: 0x40B3C
|  || SCE || package_file_9.pkg || 5476
Data length: 5
|-
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
|  || SCE || package_file_10.pkg || 4860
File 4
|-
Entry id: 0x200
|  || SCE || package_file_11.pkg || 4722
Filename : ps3swu.self
|-
Data offset: 0x40B41
|  || SCEWM || package_scewm.wm || 4
Data length: 5660160
|-
File hash : 13393576228477442B8BB796EE1A24602BD2F91E
|  || SCEAS || package_sceas.as || 1
File 5
|}
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6941
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A9141
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A9144
Data length: 172574720
File hash : 1DE795FE0B6C1BFB05DF6B1FF4003DC2A3237238
File 8
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAA3D944
Data length: 71680
File hash : F4C7065FA8B046BC5881C6E3C7D3009E93519D99
File 9
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAA4F144
Data length: 5660160
File hash : 5E9F15DF450FB9F32B8DA0136C76ED786A6D99EF
</pre>


===3.56 FIX RETAIL/CEX===
=== full - 01.500.000 ===
Did not fix the issue, see notes at previous 3.56 BAD Retail/CEX version. It did however prevent it from happening for later users exchanging the harddrive.
{| class="wikitable sortable"
<pre>
|-
PUP file information
! Type !! Header !! Information !! Size
Package version: 1
|-
Image version: 48246
| ASCII:MM.mmmm (01.500) || [none] || version.txt || 1
File count: 9
|-
Header length: 656
| cui_setupper.self || SCE (SELF) || binary0.self || 4536
Data length: 184579176
|-
PUP file hash : CD4BA19DE5A0A1F95D32379AE24594595070076A
| unknown_lib.sprx|| SCE (SELF) || binary1.self || 42
File 0
|-
Entry id: 0x100
|  || XML || license.xml || 451
Filename : version.txt
|-
Data offset: 0x290
|  || SCE || package_file_0.pkg || 634
Data length: 5
|-
File hash : DE5F93B189BB136A1544465A1DB333F66DA67D6D
|  || SCE || package_file_1.pkg || 6718
File 1
|-
Entry id: 0x101
|  || SCE || package_file_2.pkg || 8194
Filename : license.xml
|-
Data offset: 0x295
|  || SCE || package_file_3.pkg || 8194
Data length: 264283
|-
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
|  || SCE || package_file_4.pkg || 8194
File 2
|-
Entry id: 0x103
|  || SCE || package_file_5.pkg || 8194
Filename : update_flags.txt
|-
Data offset: 0x40AF0
|  || SCE || package_file_6.pkg || 8194
Data length: 5
|-
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
|  || SCE || package_file_7.pkg || 8194
File 3
|-
Entry id: 0x200
|  || SCE || package_file_8.pkg || 8194
Filename : ps3swu.self
|-
Data offset: 0x40AF5
|  || SCE || package_file_9.pkg || 8194
Data length: 5660160
|-
File hash : F8E6F0D100433C6B63A615FA513967250996F771
|  || SCE || package_file_10.pkg || 8194
File 4
|-
Entry id: 0x201
|  || SCE || package_file_11.pkg || 6154
Filename : vsh.tar
|-
Data offset: 0x5A68F5
|  || SCEWM || package_scewm.wm || 4
Data length: 10240
|-
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
|  || SCEAS || package_sceas.as || 1
File 5
|}
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A90F5
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A90F8
Data length: 172912640
File hash : CB4707230A1042CE12E63ACE320261CAEF842BAF
File 7
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAA900F8
Data length: 71680
File hash : 84F7D4FDBE9A1EEAF6E0EB3EFC7A5E53ECD7B448
File 8
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAAA18F8
Data length: 5660160
File hash : B3318822A7F60B2C104EE1789532B9B779094D62
</pre>


===3.56 FIX SHOP/CEX===
= Tools =
See notes at 3.56 FIX Retail/CEX version for explaination of the FIX tag.
<pre>
PUP file information
Package version: 1
Image version: 48247
File count: 10
Header length: 720
Data length: 184241268
PUP file hash : 0BE9862C87DEC6508E67EC0A870C39D61A389AE6
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x2D0
Data length: 16
File hash : 1B567D7742C792267E39A410328EFB87A865B562
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x2E0
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x102
Filename : promo_flags.txt
Data offset: 0x40B3B
Data length: 1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
File 3
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40B3C
Data length: 5
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40B41
Data length: 5660160
File hash : 627BBABAB5A05A0B765F95CE0E6420611A1CD7DF
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A6941
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A9141
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A9144
Data length: 172574720
File hash : 08AB74F2DD5EF3013AFE3DAD3A6620F70B4B714B
File 8
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAA3D944
Data length: 71680
File hash : 71B45307846DBAC591BC5DA9BE38F9DCA7FAF9B6
File 9
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAA4F144
Data length: 5660160
File hash : 4B41BCB3A7B2A7FB0E290DF1665C6C7D0E4DD401
</pre>


===3.60 RETAIL/CEX===
[https://github.com/omgneeq/ps3utils KaKaRoTo's pup.c tool]
<pre>
PUP file information
Package version: 1
Image version: 48686
File count: 9
Header length: 656
Data length: 185548093
PUP file hash : 84B1FA33976FE1F7C57B21FB5F2C1B1ECAF48646
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x290
Data length: 5
File hash : 6974513BEE7FFC8234FF9617BE8103B618334E87
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x295
Data length: 272944
File hash : 6C8398F85561460FC6493A59B39D314362F321D8
File 2
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x42CC5
Data length: 5
File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB
File 3
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x42CCA
Data length: 5659008
File hash : EC8E48C93F84E08FD53E199948F5816FEF491EC1
File 4
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A864A
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 5
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5AAE4A
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 6
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5AAE4D
Data length: 173875200
File hash : 1509CE0D5C47F583A9EB3C7BDEC9DD978949C4C6
File 7
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAB7CE4D
Data length: 71680
File hash : 79A3D4CC598AA75612618970142FAC8011D88349
File 8
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAB8E64D
Data length: 5659008
File hash : 83821C8B6AA8319BDA2897D194F8731B7FBEA1E7
</pre>


===3.60 SHOP/SEX===
{{Custom Firmware}}<noinclude>[[Category:Main]]</noinclude>
<pre>
PUP file information
Package version: 1
Image version: 48689
File count: 10
Header length: 720
Data length: 185181044
PUP file hash : EA646D77D89A16C3C981EC7754798C34861E7871
File 0
Entry id: 0x100
Filename : version.txt
Data offset: 0x2D0
Data length: 16
File hash : 9EE466B763E6B27B5DD26A4375E9C268A622E07C
File 1
Entry id: 0x101
Filename : license.xml
Data offset: 0x2E0
Data length: 264283
File hash : 367FCD28D27719525D0A11A4F2679FBF35B4681F
File 2
Entry id: 0x102
Filename : promo_flags.txt
Data offset: 0x40B3B
Data length: 1
File hash : D773CEBF1FDC2427274BFE5B1CDE09C7A859CE2A
File 3
Entry id: 0x103
Filename : update_flags.txt
Data offset: 0x40B3C
Data length: 5
File hash : C2AEB10A5D9E2988C7436E2BBC9D88AB955D2737
File 4
Entry id: 0x200
Filename : ps3swu.self
Data offset: 0x40B41
Data length: 5659008
File hash : 6C1AFC99230470AB561050F39860580FFD153E98
File 5
Entry id: 0x201
Filename : vsh.tar
Data offset: 0x5A64C1
Data length: 10240
File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08
File 6
Entry id: 0x202
Filename : dots.txt
Data offset: 0x5A8CC1
Data length: 3
File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A
File 7
Entry id: 0x300
Filename : update_files.tar
Data offset: 0x5A8CC4
Data length: 173516800
File hash : 01E0637DC0EB031254DD8DF1E1AE2EFB4FE4694E
File 8
Entry id: 0x501
Filename : Unknown entry id
Data offset: 0xAB234C4
Data length: 71680
File hash : 350B7DEC0D7E3FBEFB925D70A0401D1B9951B376
File 9
Entry id: 0x601
Filename : Unknown entry id
Data offset: 0xAB34CC4
Data length: 5659008
File hash : 523621E2B6DCA2230E52BE5D2B88190287617C5E
</pre>

Latest revision as of 20:34, 3 September 2023

Description[edit | edit source]

PUP (Playstation Update Package) files are packages which contain the files used to update a PSP or PS3 system. There are 2 different types: patches (PS3PATCH.PUP) and full updates (PS3UPDAT.PUP). Based on the model, there are 4 different release types: Retail/CEX, Shop/SEX, Debug/DEX and Tool/DECR. Within the Retail/CEX there are 2 file versions: 1 is a PUP with a normal file length which also gets released online. The other PUP file version is the same, except it is zero-filled after the normal PUP content to a fixed filelength of 256MB, which gets released on Gamedisks (if gamecreators build their project to a premaster and give it to Sony for signing, they just use a placeholder of a 256MB PS3UPDAT.PUP which contains no firmwaredata at all - it is completely zerofilled. Sony decides the firmware that gets on the disk and for which firmware the 'Gold' code is signed and mastered).

Location[edit | edit source]

PS Vita[edit | edit source]

The PS Vita and PS Vita TV OS can install the update as /PSP2/UPDATE/PSP2UPDAT.PUP or as /PSVITA/UPDATE/PSVUPDAT.PUP.

The update comes from:

http://djp01.psv.update.playstation.net/update/psv/image/image/<YYYY_MMDD>/pre_<md5>/PSVUPDAT.PUP

It is only used by sony on the website. That's why there is no update list on that server.

Download[edit | edit source]

PUP Download Repositories[edit | edit source]

Links:

Types[edit | edit source]

PS3[edit | edit source]

To document.

PS Vita[edit | edit source]

PUP contains updates for different partitions of the system. Most packages, once decrypted, decompressed and pieced together are a raw disk image for the partition to update. Sometimes, a TAR archive patch is also used along with the disk images but not as often. Sony usually releases three kinds of update files, each to update different components: release, systemdata and preinstall.

There are different types of PS Vita .PUP files:

release - full - rel[edit | edit source]

Release PUPs update most partitions. This contains the actual system files. The main components are os0, vs0, and the bootloader partition.

systemdata - sd[edit | edit source]

Systemdata PUPs only update the sa0 partition. It is likely separated from the main update due to it not regularly needing updates and size concerns.

preinstall - preinst[edit | edit source]

Preinstall PUPs only update the pd0 partition. This is the Welcome Park application and the initial setup movie. It is likely separated from the main update due to it not regularly needing updates and size concerns.

com[edit | edit source]

Unknown. Maybe stands for Common or for Communication in the case it would target COM PS Vita i.e. PS Vita that have a 3G Modem.

modeldiff[edit | edit source]

Unknown. Stands for Model Differences.

Revisions[edit | edit source]

PS Vita[edit | edit source]

See [1].

Update List[edit | edit source]

PS3[edit | edit source]

There is no regioning in the .PUP files i.e. they are the same for all different regions (if you were looking for regioninfo, see here). The PS3 however gets the ps3-updatelist.txt from different servers, depending on the region of that model (last 2 numbers in the CECHxxXX SKU name).

For completeness, see Product Code: Reference Tool/DECR : 0x81, Debug/DEX : 0x82, and Arcade : 0xA0

Retail basic structure of the update URL:

  http://d<TLD>01.ps3.update.playstation.net/update/ps3/image/<TLD>/YYYY_MMDD_md5/PS3UPDAT.PUP
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, MD5 is 32-digits long HASH)


Shop update check URL: http://fshop01.ps3.update.playstation.net/update/ps3/list/shop/ps3-updatelist.txt

Content:

 # JP(shop)
 Dest=83;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=83;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://djp01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # US(shop)
 Dest=84;CompatibleSystemSoftwareVersion=4.7600-;
  Dest=84;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dus01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # EU(shop)
 Dest=85;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=85;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://deu01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # KR(shop)
 Dest=86;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=86;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dkr01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # UK(shop)
 Dest=87;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=87;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://duk01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # MX(shop)
 Dest=88;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=88;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dmx01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # AU/NZ(shop)
 Dest=89;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=89;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dau01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # SouthAsia(shop)
 Dest=8A;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=8A;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dsa01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # TW(shop)
 Dest=8B;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=8B;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dtw01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # RU(shop)
 Dest=8C;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=8C;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dru01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;
 # CN(shop)
 Dest=8D;ImageVersion=00000000;SystemSoftwareVersion=0.0000;CDN=http://dcn01.ps3.update.playstation.net/update/ps3/image/shop/nodata;CDN_Timeout=30;
 # BR(shop)
 Dest=8F;CompatibleSystemSoftwareVersion=4.7600-;
 Dest=8F;ImageVersion=00010015;SystemSoftwareVersion=4.7600;CDN=http://dbr01.ps3.update.playstation.net/update/ps3/image/shop/2015_0903_6f462b5aaaed64263d72e1e989e4b336/PS3UPDAT.PUP;CDN_Timeout=30;

Shop basic structure of the update URL:

  http://d<TLD>01.ps3.update.playstation.net/update/ps3/image/shop/YYYY_MMDD_md5/PS3UPDAT.PUP
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, MD5 is 22-digits long HASH)

PS Vita[edit | edit source]

Like on PS3, there is no regioning in the .PUP files: they are the same for all different regions. However, the PS Vita gets the psp2-updatelist.xml from different servers, depending on the region of that model.

On retail (CEX) consoles, when you check for updates via WiFi in settings the console will download an XML file based on the console's region code. For example on PS Vitas sold within the United States the URL for the XML file is http://fus01.psp2.update.playstation.net/update/psp2/list/us/psp2-updatelist.xml.

When this file is read by the system, the region id MUST match the system region.

Possible regions are: jp, us, au, uk, eu, kr, sa, tw, ru, mx, cn and on devkit you must use the region id 257 and 258 for testkit's.

The file must be no larger than 65535 bytes, and the URL's specifying where to download the .PUP from can be no longer than 1024 characters, it also must be a direct URL to the content *including "http://" protocol*.

When selecting "Update via connecting to PC", the console connects to Content Manager Assistant installed on a PC and then CMA downloads the psp2-updatelist.xml file and the PUP files from PC side and sends it back to the PS Vita. Because of this, by using a custom Content Manager Assistant such as QCMA, you can send whatever psp2-updatelist.xml you want to the PS Vita. This is also what happens with "Update via connecting to PS3".

On PS Vita DevKit and TestKit, you can configure your own URL for the psp2-updatelist.xml file in Debug Settings > System Update and this setting can be overridden by placing a file at ux0:/PSP2/UPDATE/SERVER_URL.TXT or host0:/PSP2/UPDATE/SERVER_URL.TXT.

Retail:

11 jan 2012 :: full 01.520.000 + systemdata 01.000.010 + preinst 01.000.000:

<update_data_list>
  <region id="jp">
    <np level0_system_version="01.520.000" level1_system_version="01.520.000" level2_system_version="01.520.000"/>
    <version system_version="01.520.000" label="01.520">
      <update_data update_type="full">
        <image size="94646272">
          http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/rel_01a72de4dd90191f679f648da8d11a48/PSP2UPDAT.PUP?dest=jp
        </image>
      </update_data>
    </version>
    <recovery spkg_type="systemdata">
      <image spkg_version="01.000.010" size="56817152">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/sd_d48c3a2ca8963ffc7ac01c73e873809c/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
    <recovery spkg_type="preinst">
      <image spkg_version="01.000.000" size="128837120">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/pre_5899e51b24eb4ab2c985df08bf6c901b/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
  </region>
</update_data_list>

22 dec 2011 :: full 01.510.000 + systemdata 01.000.010 + preinst 01.000.000:

<update_data_list>
  <region id="jp">
    <np level0_system_version="01.510.000" level1_system_version="01.510.000" level2_system_version="01.510.000"/>
    <version system_version="01.510.000" label="01.510">
      <update_data update_type="full">
        <image size="94500352">
          http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/rel_48ac631ecae3837a7530506de0d73eaf/PSP2UPDAT.PUP?dest=jp
        </image>
      </update_data>
    </version>
    <recovery spkg_type="systemdata">
      <image spkg_version="01.000.010" size="56817152">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/sd_52ff6b714e5f701d15938a6fee68fb66/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
    <recovery spkg_type="preinst">
      <image spkg_version="01.000.000" size="128837120">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/pre_a18a91bb8c86f8c1a101d19fcb15fb6d/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
  </region>
</update_data_list>

14 dec 2011 :: full 01.500.000 + systemdata 01.000.010 + preinst 01.000.000:

<update_data_list>
  <region id="jp">
    <np level0_system_version="01.500.000" level1_system_version="01.500.000" level2_system_version="01.500.000"/>
    <version system_version="01.500.000" label="01.500">
      <update_data update_type="full">
        <image size="94496256">
          http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/rel_f090a69bcf392b5c311b9e786c5cc0b5/PSP2UPDAT.PUP?dest=jp
        </image>
      </update_data>
    </version>
    <recovery spkg_type="systemdata">
      <image spkg_version="01.000.010" size="56817152">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/sd_484243f3964158b38ad1adaac0332a3e/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
    <recovery spkg_type="preinst">
      <image spkg_version="01.000.000" size="128837120">
        http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/pre_24b5601c3b3aa63b51cf5eaeab718a4c/PSP2UPDAT.PUP?dest=jp
      </image>
    </recovery>
  </region>
</update_data_list>

Shop:

<update_data_list>
  <region id="shop">
    <np level0_system_version="00.000.000" level1_system_version="00.000.000" level2_system_version="00.000.000"/>
    <version system_version="00.000.000">
      <update_data update_type="full">
        <image>NA</image>
      </update_data>
    </version>
  </region>
</update_data_list>

Retail basic structure of the update URL:

http://d<TLD>01.psp2.update.playstation.net/update/psp2/image/<YYYY_MMDD>/pre_<md5>/PSP2UPDAT.PUP?dest=<TLD>
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, md5 is 22-digits long HASH)
<?xml version="1.0" encoding="UTF-8"?>
<update_data_list>
  <region id="au">
    <np level0_system_version="01.600.000" level1_system_version="03.610.000" level2_system_version="03.610.000" map="03.610.000"/>
    <np_d level0_system_version="01.600.000" level1_system_version="03.610.000" level2_system_version="03.610.000" map="03.610.000"/>
      <version system_version="03.610.000" label="3.61">
        <update_data update_type="full">
          <image size="133676544">http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/rel_99d9ab3e57a677b38e42cc6409b95e3b/PSP2UPDAT.PUP?dest=au</image>
        </update_data>
      </version>
      <recovery spkg_type="systemdata">
        <image spkg_version="01.000.010" size="56768512">http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/sd_80cefcda06707796a040648aea38da0f/PSP2UPDAT.PUP?dest=au</image>
      </recovery>
      <recovery spkg_type="preinst">
        <image spkg_version="01.000.000" size="128788480">http://dau01.psp2.update.playstation.net/update/psp2/image/2016_0804/pre_f5e6da7d1213101482300ccaeda35c3c/PSP2UPDAT.PUP?dest=au</image>
      </recovery>
  </region>
</update_data_list>

PS Vita PUP links use the same structure as PS3 PUP links:

http://d<TLD>01.ps4.update.playstation.net/update/ps4/image/<YYYY_MMDD>/<TYPE>_<MD5>/PS4UPDATE.PUP?dest=<TLD>

  • <TLD>=2 letter region abbreviation (jp, us, ..)
  • <YYYY_MMDD> is build date
  • TYPE is PUP type (rel, pre, sd,...)
  • MD5 is 22-digits long HASH

Running your own local update server[edit | edit source]

Note: this is untested, please report back!

Using a webserver (apache, lighttpd, nginx, etc.) and proxy/firewall to catch http://f**01.psp2.update.playstation.net/update/psp2/list/**/psp2-updatelist.xml" and point it to your local server you could[1] have more control over the updates/bandwith. Of course you need to have every PSP2UPDATE.PUP file you reference to, otherwise it errors out.

In this example the webserver is configured at http://192.168.0.254, region is set to eu[2].

<update_data_list>
  <region id="au">
    <np level0_system_version="01.600.000" level1_system_version="03.600.000" level2_system_version="03.600.000" map="03.600.000"/>
    <np_d level0_system_version="01.600.000" level1_system_version="03.600.000" level2_system_version="03.600.000" map="03.600.000"/>
      <version system_version="03.600.000" label="3.60">
        <update_data update_type="full">
          <image size="133676544">http://192.168.0.254/psp2/update/3_600_00/rel/PSP2UPDAT.PUP</image>
        </update_data>
      </version>
      <recovery spkg_type="systemdata">
        <image spkg_version="01.000.010" size="56768512">http://192.168.0.254/psp2/update/3_600_00/sd/PSP2UPDAT.PUP</image>
      </recovery>
      <recovery spkg_type="preinst">
        <image spkg_version="01.000.000" size="128788480">http://192.168.0.254/psp2/update/3_600_00/pre/PSP2UPDAT.PUP</image>
      </recovery>
      <version system_version="03.610.000" label="3.61">
        <update_data update_type="full">
          <image size="133676544">http://192.168.0.254/psp2/update/3_600_00/rel/PSP2UPDAT.PUP</image>
        </update_data>
      </version>
      <recovery spkg_type="systemdata">
        <image spkg_version="01.000.010" size="56768512">http://192.168.0.254/psp2/update/3_600_00/sd/PSP2UPDAT.PUP</image>
      </recovery>
      <recovery spkg_type="preinst">
        <image spkg_version="01.000.000" size="128788480">http://192.168.0.254/psp2/update/3_600_00/pre/PSP2UPDAT.PUP</image>
      </recovery>
  </region>
</update_data_list>

Installation[edit | edit source]

To install firmware via USB Mass Storage Devices (e.g. USB-stick, Memory Stick, SD-card, Compact Flash with at least 256MB free), place the PS3UPDAT.PUP file in the following folder structure: /PS3/UPDATE/PS3UPDAT.PUP

  • The update location for Kiosk is the same as Retail/CEX.
  • The update location for disc media (CD, DVD, BD-ROM) is /PS3_UPDATE/PS3UPDAT.PUP
  • The update data for Reference Tool (Tool/DECR) is %SCE_PS3_ROOT%\target\updater\ref-tool\PS3UPDAT.PUP.NNN.0xx
  • The update data for Debugging Station (Debug/DEX) is %SCE_PS3_ROOT%\target\updater\debugging_station\PS3UPDAT.PUP.NNN.0xx.forDEX.release.yyyymmdd
  • For updating with a single firmware PUP, both the Reference Tool (Tool/DECR) and Debugging Station (Debug/DEX) use the same folder structure as Retail/CEX : /PS3/UPDATE/PS3UPDAT.PUP
  • For updating with a multiple firmware PUP (2.50 or later), the Reference Tool (Tool/DECR) can use the folder structure : /PS3/UPDATE/SEARCH with a maximum of 2 sublevels deeper (e.g. PS3/UPDATE/SEARCH/ReferenceTool/250/PS3UPDAT.PUP.242.001). A maximum of 20 PUP files (including /PS3/UPDATE/PS3UPDAT.PUP if applicable) will be shown in the firmware list.
  • The update location for Arcade is "/dev_hdd0/game/SCEEXE000/ARCDIR/PS3UPDAT.PUP"
  • The update location in Factory Service Mode (used for downgrader and remarry) is /PS3UPDAT.PUP
  • The update location for QA Debug setting : System Update Debug=ON is /dev_hdd0/updater/01/PS3UPDAT.PUP, /dev_hdd0/updater/02/PS3UPDAT.PUP, etc... (or up to 20 updates together with any name and no file extension required in /dev_hdd0/updater/01/)

Problem solving / tips[edit | edit source]

  • Don’t use any USB Mass Storage Device with enhanced functions as: encryption, fingerprintreader, U3, pincode etc. (sometimes marketed under names as SCSI Enclosure Services (SES) thus needing drivers and only working under Windows)
  • Don’t use USB Mass Storage Devices with a long initialisation time (e.g. some MP3 players)
  • Don’t use multipartitioned USB Mass Storage Devices, only use 1 single primary FAT32 partition.
  • Make sure they are formatted according to specifications with FAT32 (e.g. HP USB Format Tool – or TOKIWA / Ridgecrop FAT32 formatter)
  • If the stick is formatted FAT32 and still not working, consider other stick or use this tool: http://www.pendrivelinux.com/restoring-your-usb-key-partition/
  • Most USB Mass Storage Devices that’ll work effortless with PenDrive Linux, will also work with the PS3 (for downgrading, upgrading, storage of your Game dumps and any normal filestorage under the XMB). Those USB Mass Storage Devices are most likely also the ones giving you the least problems under more exotic platforms like PSX/PSone, PS2/PStwo, Xbox/X360, Gamecube/Wii/WiiU etc.
  • Make sure no disc is inside the drive otherwise it will try to install that one instead of the one on USB Mass Storage Device!
  • Make sure the media is not readonly (e.g. SDcard or USB Stick with readonly tab) if using firmwares when doing one of the following:
    • Factory Service Mode reinstallation
    • Remarry BDdrive
    • RSOD Fix
    • or any process that needs to write a log file, in short, write access

Installation descriptive[edit | edit source]

Select via XMB, Settings -> System Update
Update via Internet
Update via Storage Media
Select Update via Storage Media
The following update data was found:
 Version 3.41-@@SUFFIX@@
Location USB Device
Select OK
User Agreement

<str id="msg_update_eula_1">line 1
</str>
...
<str id="msg_update_eula_X">line X
</str>
Select right arrow or left joystick right
Do you accept the user agreement?

Do Not Accept
Accept
Select right arrow or left joystick right
Main Features Revised in System Software Version 3.41-@@SUFFIX@@

<str id="msg_updater_10">FEATURE 1
</str>
...
<str id="msg_updater_X">FEATURE X
</str>

For detailed information including limitations of usage, visit the SCE Web site for your region.
msg_updater_10 - msg_updater_60 tested to work. they appear one after another in the same manner as the EULA.
Could list each feature as a seperate msg_updater_X
Do not turn off the system during the update.  If you do, you may not be able to restart the PS3 system.  Once the update is started
you cannot go back to the previous version of the system software.

CHECKBOX Turn off System Automatically After Update

START
Select start to install
Copying update data to the hard disk...
Do not turn off the system.
System Update

Installing...
Do not turn off the system.
After the install operation has completed, the
system will automatically restart.

PROGRESS BAR

Orientation[edit | edit source]

0x8002F21x - (Set Recovery Mode Flag On (cex/dex/decr)) / (Connecting Controller)
0x8002F22x - (Connect Media containing FW equal or higher)
0x8002F23x - (System Partition formating) / (Search Updater) 
0x8002F24x - (Formatting)
0x8002F25x - hdd probing
0x8002F26x - region searching
0x8002F27x - preparing partitions
0x8002F28x - Setup Updating Environment
0x8002F29x - 
0x8002F2Ax - 
0x8002F2Bx - (Turning Off Recovery Mode Flag)
0x8002F2Cx - Search Updater (Formating preparing Update)
0x8002F2Dx - (Formatting - Preparing to Update)
0x8002F2Ex - (Turning On/Off Recovery Mode Flag)

Structure[edit | edit source]

Verification[edit | edit source]

The PUP Header is signed using HMAC, HMAC-SHA1 for PS3 and HMAC-SHA256 for PS Vita.

On PS Vita, the PUP Header Digest is signed using RSA2048. The PUP Header RSA signature is RSA-signed along with a message into SCEWM file, which is encrypted using AES128CBC.

The PUP Header embeds HMAC signatures for each PUP segment.

All the PUP keys are known except RSA private keys.

Extraction[edit | edit source]

PS3[edit | edit source]

PS Vita[edit | edit source]

The PS Vita and PS Vita TV update files can be extracted from .PUP using:

Decryption[edit | edit source]

Even though PUP is not encrypted, most files it embeds are.

PS3[edit | edit source]

Header[edit | edit source]

typedef struct ScePupHeader_v1 { // size is 0x30-bytes
  uint8_t magic[7];
  uint8_t format_flag;
  uint64_t package_version;
  uint64_t image_version;
  uint64_t segment_num;
  uint64_t file_offset;
  uint64_t file_size;
} ScePupHeader_v1;
Offset Length Type Information
0x0 0x7 unsigned long Magic
0x7 0x1 uint8_t Format Flag
0x8 0x8 unsigned long Package Version. ?Might be Format version like on PS Vita?
0x10 0x8 unsigned long Image Version. ?What is this?
0x18 0x8 unsigned long Segment Number
0x20 0x8 unsigned long File Offset. It corresponds to Header Length.
0x28 0x8 unsigned long File Size. It corresponds to Data Length.
0x30 0x20 * segment_num Segment Table Segment Table
0x30 + (0x20 * segment_num) 0x20 * segment_num Digest Table Digest Table
0x30 + (0x40 * segment_num) 0x14 Header Digest Header Digest
0x44 + (0x40 * segment_num) 0xC uint8_t[0xC] Padding

Segment Table[edit | edit source]

The Segment Table consists of a number of Segment Entries determined by Segment Num.

typedef struct ScePupSegmentEntry { // size is 0x20-bytes
  uint64_t id;
  uint64_t offset;
  uint64_t size;
  uint32_t sign_algorithm;
  uint32_t padding;
} ScePupSegmentEntry;
Offset Length Type Information
0x0 0x8 unsigned long ID
0x8 0x8 unsigned long Offset
0x10 0x8 unsigned long Size
0x18 0x4 unsigned int Signature Algorithm. 0 = HMAC-SHA1, 2 = HMAC-SHA256
0x1C 0x4 char[4] Padding

Segment Entry IDs[edit | edit source]

It is a mistake to try to connect a Segment Entry ID to any specific file. Nevertheless, there are certain Segment Entry IDs that have been linked with the same data throughout all observed PUPs.

Segment Entry ID Console File name Notes
0x100 version.txt PS3, PS Vita Version string
0x101 license.xml PS3, PS Vita License XML. (?aka: resource.txt?)
0x102 promo_flags.txt PS3 (only on  SHOP ) (?aka: shop.txt?)
0x103 update_flags.txt PS3
0x104 patch_build.txt PS3
0x200 ps3swu.self, psp2swu.self PS3, PS Vita Main updater executable
0x201 vsh.tar / font_resource.tar PS3
0x202 dots.txt PS3
0x203 patch_data.pkg PS3
0x204 cui_setupper.self PS Vita Classical UI updater setupper executable
0x221 vs0_patch_tar_info.txt PS Vita vs0 patch tar archive access permission config
0x231 vs0_patch_tar_2_info.txt PS Vita vs0 patch tar archive 2 access permission config
0x300 update_files.tar PS3
0x302 PS Vita SLB2
0x303 PS Vita os0
0x304 PS Vita vs0
0x305 PS Vita
0x306 PS Vita
0x307 PS Vita
0x308 PS Vita
0x309 PS Vita
0x30A PS Vita
0x30B PS Vita
0x30C PS Vita
0x30D PS Vita
0x30E PS Vita
0x30F PS Vita
0x310 PS Vita
0x311 PS Vita vs0 patch tar archive
0x312 PS Vita vs0 patch tar archive 2
0x313 PS Vita Syscon update type 0: 00 24 10 00
0x314 PS Vita Syscon update type 1: 00 50 31 00, 00 50 40 00
0x315 PS Vita Syscon update type 2: 00 26 10 00, 00 52 40 00
0x316 PS Vita Syscon update type 3: 00 52 31 00
0x317 PS Vita Syscon update type 4:
0x318 PS Vita Syscon update type 5:
0x319 PS Vita Syscon update type 6:
0x31A PS Vita Syscon update type 7:
0x31B PS Vita Syscon update type 8:
0x31C PS Vita Syscon update type 9: 00 30 70 00
0x400 package_scewm.wm PS Vita SCEWM file
0x401 package_sceas.as PS Vita SCEAS file
0x501 spkg_hdr.tar PS3 (added since FW 3.56)
0x601 ps3swu2.self PS3 (added since FW 3.56)
0x2005 PS Vita CP ES1 firmware. In early Tool PUPs only.
0x2006 PS Vita CP ES2 firmware. In recent Tool PUPs only.

Digest Table[edit | edit source]

The Digest Table contains a Digest Entry for every segment inside the PUP.

typedef struct ScePupDigestEntry_v1 { // size is 0x20-bytes
  uint64_t segment_index;
  uint8_t digest[0x14];
  uint32_t padding;
} ScePupDigestEntry_v1;
Offset Length Type Information
0x0 0x8 uint64_t Segment Index
0x8 0x14 uint8_t[0x14] Digest (HMAC-SHA1)
0x1C 0x4 uint32_t Padding

Header Digest[edit | edit source]

typedef struct {
  uint8_t digest[0x14]; // HMAC-SHA1
} PUPHeaderDigest_v1;

PS Vita[edit | edit source]

Differences with PS3 PUPs[edit | edit source]

The file structure of the PS Vita PUP is almost identical to the PS3 PUP, although there is a slight difference in the header, the hash algorithm and the signature.

  • PS Vita PUP is little-endian. PS3 PUP is big-endian.
  • PS Vita PUP Format Version is 2. PS3 PUP Format Version is 1.
  • There are 0x50 bytes of extra data in the PS Vita PUP Header compared to PS3 PUP.
  • PS Vita PUP digests are longer than the ones in PS3 PUP: 0x20 bytes (SHA-256 length) in PS Vita PUP versus 0x14 bytes (SHA-1 length) in PS3 PUP.
  • PS Vita PUP Header Digest is signed using RSA2048 in the SCEWM file. ?PS3 PUP has a RSA signature?

Header[edit | edit source]

typedef struct ScePupHeader_v2 { // size is 0x80-bytes
	SceUInt8 magic[7];
	SceUInt8 format_flag;
	SceUInt64 format_version;
	SceUInt32 version;
	SceUInt32 buildno;
	SceUInt64 segment_num;
	SceUInt64 file_offset;
	SceUInt64 file_size;
	SceUInt32 sign_algorithm;
	SceUInt32 sign_key_index;
	SceUInt8 attribute[4];
	SceUInt32 target;
	SceUInt32 sub_target;
	SceUInt32 support_list;
	SceUInt32 base_version;
	SceUInt32 base_buildno;
	SceUInt8 unk_0x50[0x30];
} ScePupHeader_v2;
Offset Length Type Information
0x0 0x7 char[7] Magic (hex: 53 43 45 55 46 00 00 ~ ASCII 'SCEUF\0\0')
0x7 0x1 uint8_t Format Flag
0x8 0x8 uint64_t Format Version (11 digits max)
0x10 0x4 uint32_t Version (ex: 0x01600000 on FW 1.60)
0x14 0x4 uint32_t Build No
0x18 0x8 uint64_t Segment Num (11 digits max)
0x20 0x8 uint64_t Header Length (ex: 0xC00, 0xE00, 0x1000, 0x1600)
0x28 0x8 uint64_t Data Length. Equals (PUP file size - PUP Header Length).
0x30 0x4 uint32_t Sign Algorithm. PS Vita only. (ex: 2)
0x34 0x4 uint32_t Sign Key Index. PS Vita only. (ex: 1)
0x38 0x4 uint8_t[4] Attribute. PS Vita only. 0: default, 1: QAF required, 2: manufacturing mode required.
0x3C 0x4 uint32_t Target. PS Vita only. 1: TOOL, 2: CEX, 4: DEX. cex_for_tool PUPs are set to 1.
0x40 0x4 uint32_t Sub Target. PS Vita only. (ex: 0)
0x44 0x4 uint32_t Support List. PS Vita only. (ex: 1, 7, 0xC, 0xF, 0x38, 0x78, 0x3F8, 0xFF8, 0xCFF8)
0x48 0x4 uint32_t Base Version. PS Vita only. (ex: 0)
0x4C 0x4 uint32_t Base Build No. PS Vita only. (ex: 0)
0x50 0x30 char[0x30] Unknown. PS Vita only. (ex: 0x2000)
0x80 0x20 * segment_num Segment Table Segment Table
0x80 + (0x20 * segment_num) 0x40 * segment_num Digest Table Digest Table
0x80 + (0x60 * segment_num) 0x20 Header Digest Header Digest (HMAC-SHA256)

Segment Table[edit | edit source]

Same as in PS3 PUP.

Digest Table[edit | edit source]

The Digest Table contains a Digest Entry for every segment inside the PUP.

typedef struct ScePupDigestEntry_v2 { // size is 0x40-bytes
	SceUInt64 segment_index;
	SceUInt8 digest[0x20];
	SceUInt8 padding[0x18];
} ScePupDigestEntry_v2;
Offset Length Type Information
0x0 0x8 unsigned long Segment Index
0x8 0x20 uint8_t[0x20] Digest (HMAC-SHA256)
0x28 0x18 uint8_t[0x18] Padding

Header Digest[edit | edit source]

typedef struct {
  uint8_t digest[0x20]; // HMAC-SHA256
} PUPHeaderDigest_v2;

Embedded files[edit | edit source]

Here are examples of the files stored in a PUP.

PS3[edit | edit source]

3.55[edit | edit source]

 PS3UPDAT.PUP
 ├── dots.txt
 ├── license.txt
 ├── ps3swu.self 
 ├── update_files.tar
 │   ├── BDIT_FIRMWARE_PACKAGE.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_301R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_302R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_303R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_304R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_306R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_308R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BLUETOOTH_FIRMWARE.pkg
 │   │   ├── content
 │   │   │   ├── RC29_firmware_footer.dfu
 │   │   │   ├── usb8780-5.0.1-A1-A2.dfu
 │   │   │   └── usb8781-20.0.12.0.dfu
 │   │   ├── info0
 │   │   └── info1
 │   ├── CORE_OS_PACKAGE.pkg
 │   │   ├── aim_spu_module.self
 │   │   ├── appldr
 │   │   ├── creserved_0
 │   │   ├── default.spp
 │   │   ├── emer_init.self
 │   │   ├── eurus_fw.bin
 │   │   ├── hdd_copy.self
 │   │   ├── isoldr
 │   │   ├── lv0
 │   │   ├── lv1ldr
 │   │   ├── lv1.self
 │   │   ├── lv2_kernel.self
 │   │   ├── lv2ldr
 │   │   ├── manu_info_spu_module.self
 │   │   ├── mc_iso_spu_module.self
 │   │   ├── me_iso_spu_module.self
 │   │   ├── sb_iso_spu_module.self
 │   │   ├── sc_iso.self
 │   │   ├── sdk_version
 │   │   ├── spp_verifier.self
 │   │   ├── spu_pkg_rvk_verifier.self
 │   │   ├── spu_token_processor.self
 │   │   ├── spu_utoken_processor.self
 │   │   └── sv_iso_spu_module.self
 │   ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''
 │   ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''
 │   ├── MULTI_CARD_FIRMWARE.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── RL_FOR_PACKAGE.img
 │   ├── RL_FOR_PROGRAM.img
 │   ├── SYS_CON_FIRMWARE_01000006.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01010303.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01020302
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01030302.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01040402.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01050002.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01050101.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   └── UPL.xml.pkg
 │       ├── content
 │       ├── info0
 │       └── info1
 ├── update_flags.txt
 ├── version.txt
 └── vsh.tar

For a comparison between Retail and Debug firmware : 3.55 firmware.

3.60 - 4.00[edit | edit source]

 PS3UPDAT.PUP
 ├── dots.txt
 ├── license.xml
 ├── ps3swu2.self
 ├── ps3swu.self 
 ├── spkg_hdr.tar
 │   ├── BDIT_FIRMWARE_PACKAGE.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_301R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_302R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_303R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_304R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_306R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_308R.pkg.spkg_hdr.1
 │   ├── BDPT_FIRMWARE_PACKAGE_310R.pkg.spkg_hdr.1
 │   ├── BLUETOOTH_FIRMWARE.pkg.spkg_hdr.1
 │   ├── CORE_OS_PACKAGE.pkg.spkg_hdr.1
 │   ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''.spkg_hdr.1
 │   ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''.spkg_hdr.1
 │   ├── MULTI_CARD_FIRMWARE.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01000006.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01010303.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01020302.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01030302.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01040402.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01050002.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_01050101.pkg.spkg_hdr.1
 │   ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg.spkg_hdr.1
 │   └── UPL.xml.pkg.spkg_hdr.1
 ├── update_files.tar
 │   ├── BDIT_FIRMWARE_PACKAGE.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_301R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_302R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_303R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_304R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_306R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_308R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BDPT_FIRMWARE_PACKAGE_310R.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── BLUETOOTH_FIRMWARE.pkg
 │   │   ├── content
 │   │   │   ├── RC29_firmware_footer.dfu
 │   │   │   ├── usb8780-5.0.1-A1-A2.dfu
 │   │   │   └── usb8781-20.0.12.0.dfu
 │   │   ├── info0
 │   │   └── info1
 │   ├── CORE_OS_PACKAGE.pkg
 │   │   ├── aim_spu_module.self
 │   │   ├── creserved_0
 │   │   ├── default.spp
 │   │   ├── emer_init.self
 │   │   ├── eurus_fw.bin
 │   │   ├── hdd_copy.self
 │   │   ├── lv0
 │   │   │   ├── appldr
 │   │   │   ├── isoldr
 │   │   │   ├── lv1ldr
 │   │   │   └── lv2ldr
 │   │   ├── lv0.2
 │   │   ├── lv1.self
 │   │   ├── lv2_kernel.self
 │   │   ├── manu_info_spu_module.self
 │   │   ├── mc_iso_spu_module.self
 │   │   ├── me_iso_for_ps2emu.self (3.70+)
 │   │   ├── me_iso_spu_module.self
 │   │   ├── pkg.srvk
 │   │   ├── prog.srvk
 │   │   ├── sb_iso_spu_module.self
 │   │   ├── sc_iso.self
 │   │   ├── sdk_version
 │   │   ├── spp_verifier.self
 │   │   ├── spu_pkg_rvk_verifier.self
 │   │   ├── spu_token_processor.self
 │   │   ├── spu_utoken_processor.self
 │   │   ├── sv_iso_for_ps2emu.self (3.70+)
 │   │   └── sv_iso_spu_module.self
 │   ├── dev_flash_''XXX''.tar.aa.''DATE/TIME''
 │   ├── dev_flash3_''XXX''.tar.aa.''DATE/TIME''
 │   ├── MULTI_CARD_FIRMWARE.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── RL_FOR_PACKAGE.img
 │   ├── RL_FOR_PROGRAM.img
 │   ├── SYS_CON_FIRMWARE_01000006.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01010303.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01020302
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01030302.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01040402.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01050002.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_01050101.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   ├── SYS_CON_FIRMWARE_S1_00010002083E0832.pkg
 │   │   ├── content
 │   │   ├── info0
 │   │   └── info1
 │   └── UPL.xml.pkg
 │       ├── content
 │       ├── info0
 │       └── info1
 ├── update_flags.txt
 ├── version.txt
 └── vsh.tar
     └── a

PS Vita[edit | edit source]

preinst - 01.000.000[edit | edit source]

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
cui_setupper.self SCE (SELF) binary0.self 4536
unknown_lib.sprx SCE (SELF) binary1.self 42
XML license.xml 451
SCE package_file_0.pkg 7904
SCE package_file_1.pkg 8130
SCE package_file_2.pkg 8196
SCE package_file_3.pkg 8196
SCE package_file_4.pkg 8196
SCE package_file_5.pkg 7883
SCE package_file_6.pkg 8052
SCE package_file_7.pkg 6943
SCE package_file_8.pkg 7758
SCE package_file_9.pkg 7805
SCE package_file_10.pkg 7804
SCE package_file_11.pkg 8005
SCE package_file_12.pkg 8103
SCE package_file_13.pkg 8084
SCE package_file_14.pkg 8066
SCE package_file_15.pkg 1661
SCEWM package_file_16.pkg 14
SCEAS package_file_17.pkg 1

systemdata - 01.000.010[edit | edit source]

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
cui_setupper.self SCE (SELF) binary0.self 4536
unknown_lib.sprx SCE (SELF) binary1.self 42
XML license.xml 451
SCE package_file_0.pkg 2625
SCE package_file_1.pkg 4048
SCE package_file_2.pkg 2746
SCE package_file_3.pkg 3874
SCE package_file_4.pkg 4742
SCE package_file_5.pkg 4660
SCE package_file_6.pkg 3946
SCE package_file_7.pkg 4145
SCE package_file_8.pkg 4630
SCE package_file_9.pkg 5476
SCE package_file_10.pkg 4860
SCE package_file_11.pkg 4722
SCEWM package_scewm.wm 4
SCEAS package_sceas.as 1

full - 01.500.000[edit | edit source]

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
cui_setupper.self SCE (SELF) binary0.self 4536
unknown_lib.sprx SCE (SELF) binary1.self 42
XML license.xml 451
SCE package_file_0.pkg 634
SCE package_file_1.pkg 6718
SCE package_file_2.pkg 8194
SCE package_file_3.pkg 8194
SCE package_file_4.pkg 8194
SCE package_file_5.pkg 8194
SCE package_file_6.pkg 8194
SCE package_file_7.pkg 8194
SCE package_file_8.pkg 8194
SCE package_file_9.pkg 8194
SCE package_file_10.pkg 8194
SCE package_file_11.pkg 6154
SCEWM package_scewm.wm 4
SCEAS package_sceas.as 1

Tools[edit | edit source]

KaKaRoTo's pup.c tool