Playstation Update Package (PUP)

From Vita Dev Wiki
Revision as of 11:55, 13 November 2013 by Deroad (talk | contribs) (→‎Filename IDs: ops)
Jump to navigation Jump to search

Extraction

PS Vita

The PS VITA update files can be extracted using the "PS VITA Firmware xTractor" or the pupunpack from vitatools.

PS Vita TV

unknown

Decryption

Unknown for now.

PSVita

Structure

The file structure of the Vita's PUP files is almost identical to the PS3's, although there is a slight difference in the header and the hash algorithm. For starters, whereas in PS3 the format was big-endian for the Vita it has been switched to little-endian (probably the same for all Vita formats). Also the Package Version field in Vita pups is set to 2 where in PS3 updates it was set to 1. There is also 0x50 bytes of extra data in the header and the hashes used are of a longer length than in PS3 updates (0x20 bytes in Vita vs 0x14 in PS3)

Header

Offset Length Type Information
0x0 0x8 unsigned long Magic (hex: 0x5343455546000001 ~ ASCII "SCEUF")
0x8 0x8 unsigned long Package Version
0x10 0x8 unsigned long Image Version
0x18 0x8 unsigned long File Count
0x20 0x8 unsigned long Header Length (2048, file data starts from here)
0x28 0x8 unsigned long Package Length (size of PUP file - 8)
0x30 0x50 UNKNOWN UNKNOWN, same for all >V1.0 files so far, maybe something for extra security? (or maybe to break a PS3 which tries to read the update)
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000030  02 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00  ................
00000040  00 00 00 00 0F 00 00 00 00 00 00 00 00 00 00 00  ................
00000050  00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0x80 0x20 * File Count File Table File Table
0x80 + (0x20 * File Count) 0x40 * File Count Hash Table Hash Table
0x80 + (0x60 * File Count) 0x20 bytes Header Hash (unknown algo?)

File Table

The file table consists of a number of file entries determined by File Count, with the format below (which is the same as the format in PS3 PUP1 files)

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

File Entry ID Filename Notes
0x101 license.xml
0x200 psp2swu.sprx
0x204 psp2swu.self
0x301 package_data01.pkg
0x302 package_data02.pkg
0x303 package_data03.pkg
0x304 package_data04.pkg
0x305 package_data05.pkg
0x306 package_data06.pkg
0x307 package_data07.pkg
0x308 package_data08.pkg
0x309 package_data09.pkg
0x30a package_data10.pkg
0x30b package_data11.pkg
0x30c package_data12.pkg
0x30d package_data13.pkg
0x30e package_data14.pkg
0x30f package_data15.pkg
0x400 package_scewm.wm
0x401 package_sceas.as

Hash Table

The hash table contains a hash entry for every file inside the PUP.

The hash entry format is:

Offset Length Type Information
0x0 0x8 unsigned long File Index
0x8 0x20 bytes File Hash (hmac-sha256 algo?)
0x28 0x18 bytes Unknown

Files

preinst - 01.000.000

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
PSP2SWU.SELF? SCE .ELF binary0.self 4536
PSP2SWU.SPRX? SCE .ELF 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

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
PSP2SWU.SELF? SCE .ELF binary0.self 4536
PSP2SWU.SPRX? SCE .ELF 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_file_12.pkg 4
SCEAS package_file_13.pkg 1

full - 01.500.000

Type Header Information Size
ASCII:MM.mmmm (01.500) [none] version.txt 1
PSP2SWU.SELF? SCE .ELF binary0.self 4536
PSP2SWU.SPRX? SCE .ELF 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_file_12.pkg 4
SCEAS package_file_13.pkg 1

Regioning

If simular to PS3, then there is no regioning in the .PUP files, they are the same for all different regions.
The PS Vita however gets the psp2-updatelist.xml from different servers, depening on the region of that model.

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)

Revisions

01.030.010

SKU Release version in Japan

01.040.000

Provided only with Shin Kamaitachi no Yoru: 11 Hitome no Suspect

01.050.000

shipped on launch gaming cards

01.060.010

SKU Release version in USA/Europe

01.500.000 Complete

14 Dec 2011


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/pre_24b5601c3b3aa63b51cf5eaeab718a4c/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/sd_484243f3964158b38ad1adaac0332a3e/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.500.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1214/rel_f090a69bcf392b5c311b9e786c5cc0b5/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.510.000 Complete

22 Dec 2011


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/pre_a18a91bb8c86f8c1a101d19fcb15fb6d/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/sd_52ff6b714e5f701d15938a6fee68fb66/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.510.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2011_1222/rel_48ac631ecae3837a7530506de0d73eaf/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.520.000 Complete

11 Jan 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/pre_5899e51b24eb4ab2c985df08bf6c901b/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/sd_d48c3a2ca8963ffc7ac01c73e873809c/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.520.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0111/rel_01a72de4dd90191f679f648da8d11a48/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.600.000 Complete

6 Feb 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0206/pre_fb565f82d66bbd1ac9dbc2ddb1c62cdf/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0206/sd_49299e94ebc7c040b6e0a2d2a7f6ddcc/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.600.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0206/rel_5e9c9bc4f434db1401d30ec41c174ab9/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.610.000 Complete

16 Feb 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0216/pre_061248a332add8575d76b694ffb7342a/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0216/sd_383cb3e417ee83bf9567ad5df910fa03/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.610.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0216/rel_f0bc997c94a6190768515c7d1f6db7b3/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.650.000 Complete

30 Mar 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0330/pre_81bfac5a07522e20592ea476a790ac20/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0330/sd_8b57dc0a9219b9fa7eeb6b2cd6b4433a/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.650.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0330/rel_03a1888a00a58acd2316cbec309716a9/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.660.000 Complete

03 Apr 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0403/pre_69fd66f4b4785d2cc01927f2771a8f2b/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0403/sd_5dfed130a0cf4eb3708020fcd331184d/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.660.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0403/rel_fb68d6099eab0ba188fd92ebff5085a2/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.670.000 Complete

07 Apr 2012


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_0407/pre_d5778c0db978136501d292a039c984cd/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_0407/sd_28970656418974d18de43689973058a2/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.670.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_0407/rel_b872a4783a0de272a3bef6ba2b2b1ed9/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.690.000 Complete

16 May 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0516/pre_0ea99ace3aa72e62c71f4b8ee1c72f13/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0516/sd_a7a6b249975cd630f9b61eef40125430/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.690.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0516/rel_c3a1589e8d029a72879f35d218c8d618/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.691.000 Complete (Silent second release) =

20 Jun 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0620/pre_65907ad1961680706df66718ee088fb1/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0620/sd_fcad49347b95c09db34dd925e5e5a2ce/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.691.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0620/rel_6075c28175518a84eb47de7e84b30eb2/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.800.000 Complete

02 Aug 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/pre_a120642aeb8934d9fe3ab5f7d51f330e/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/sd_779bd6de7b7292c0821d5ef15eb19caf/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.800.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/rel_f76673af255d5a6e183eae5dd1ae05b5/PSP2UPDAT.PUP
PSP2UPDAT.PUP

01.810.000 Complete

14 Sep 2012


pre-install 01.000.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/pre_a120642aeb8934d9fe3ab5f7d51f330e/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/sd_779bd6de7b7292c0821d5ef15eb19caf/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 01.810.000

http://djp01.psp2.update.playstation.net/update/psp2/image/2012_0802/rel_f76673af255d5a6e183eae5dd1ae05b5/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.000.000 Complete

16 Nov 2012


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1116/pre_536c0ab74e8e91945f8ec72346d4fce8/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1116/sd_fa617519573ef197a221009ca3991e7f/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1116/rel_fab2db211065450e8091ee506b067973/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.010.000 Complete

29 Nov 2012


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1129/pre_ab7e94bd3cc016e75341b6185ade640a/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1129/sd_768bb3638ca272e2578813ad1c80192d/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.010.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1129/rel_0625bf047254ab121417febd1a7bfbd4/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.020.000 Complete

10 Dec 2012


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1210/pre_498c88ab6aa017499af2893f6dc8c63b/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1210/sd_6df573c4329e8f9acc4f0a9bd422bc23/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.020.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2012_1210/rel_5ae40582f6bbd582bae91edcf2db982a/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.050.000 Complete

23 Jan 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0123/pre_3a31f1df1b88f6f727e8ffa509acdf10/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0123/sd_a6893e64b91f2ad45267a1cdba7f1c71/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.050.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0123/rel_db28ae7d77dba9d2c31431aa08e991ae/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.060.000 Complete

22 Feb 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0222/pre_2b6c3f9a412efb9d2ca9343d68c3dcb4/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0222/sd_578e0d8fb02f8ce131edacb983546e0b/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.060.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0222/rel_10f90fe07b9b416fd70dab006a97fd8f/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.100.000 Complete

09 Apr 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0409/pre_71188b714313c5b72facce81e3e041de/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0409/sd_ac5d02fc96bcda054d9492af08367bec/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.100.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0409/rel_03a8767820cd3d4384ae7636648e8740/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.110.000 Complete

15 Apr 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0415/pre_14df7c2b849f6e3573cc7f8011abcdec/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0415/sd_534ca2075038c774ee1f2c5b709895b4/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.110.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0415/rel_1131cb560fe583e26be90770857b5c18/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.120.000 Complete

18 Apr 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0418/pre_b22fce04356d5c7a15b6356e3e229d41/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0418/sd_ea6fcbaaca90e97a1339ad4d7397dcbd/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.120.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0418/rel_6747cf9cafe4c8f804193c7c37349869/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.600.000 Complete

29 Jul 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0729/pre_c72d6ca9567baa37650d9bba121698b5/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0729/sd_8974448014aeb0e8da1952fcdc1cab92/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.600.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0729/rel_749aae5fe7d6162f59a450939d859ee0/PSP2UPDAT.PUP
PSP2UPDAT.PUP

02.610.000 Complete

23 Aug 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0823/pre_1bf3d4bbaa435fee1038520e3c2b5701/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0823/sd_fa1d72558689177769a1fd01cc484574/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 02.610.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_0823/rel_31d4ec0473c6e84ea63fd8c428a9855c/PSP2UPDAT.PUP
PSP2UPDAT.PUP

03.000.000 Complete

30 Oct 2013


pre-install 01.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_1030/pre_1d4cd717012dcff36667716c392729ce/PSP2UPDAT.PUP
PSP2UPDAT.PUP

systemdata 01.000.010

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_1030/sd_4510780ac53ac114d4aef8f9e6f20233/PSP2UPDAT.PUP
PSP2UPDAT.PUP

release 03.000.000

http://deu01.psp2.update.playstation.net/update/psp2/image/2013_1030/rel_7c51f205af547164005243ac21fc4c33/PSP2UPDAT.PUP
PSP2UPDAT.PUP

PSVita TV

Structure

The file structure of the Vita's PUP files is almost identical to the PS3's, although there is a slight difference in the header and the hash algorithm. For starters, whereas in PS3 the format was big-endian for the Vita it has been switched to little-endian (probably the same for all Vita formats). Also the Package Version field in Vita pups is set to 2 where in PS3 updates it was set to 1. There is also 0x50 bytes of extra data in the header and the hashes used are of a longer length than in PS3 updates (0x20 bytes in Vita vs 0x14 in PS3)

Header

Offset Length Type Information
0x0 0x8 unsigned long Magic (hex: 0x5343455546000001 ~ ASCII "SCEUF") ?

File Table

The file table consists of a number of file entries determined by File Count, with the format below (which is the same as the format in PS3 PUP1 files)

Offset Length Type Information
Unknown Unknown Unknown Unknown

Filename IDs

File Entry ID Filename Notes
0x100 version.txt"
0x101 license.xml"
0x200 psp2swu.self"
0x204 psp2swu.sprx"
0x221 psv_package_data01.pkg"
0x231 psv_package_data02.pkg"
0x302 package_data02.pkg"
0x303 package_data03.pkg"
0x304 package_data04.pkg"
0x305 package_data05.pkg"
0x306 package_data06.pkg"
0x307 package_data07.pkg"
0x308 package_data08.pkg"
0x309 package_data09.pkg"
0x30a package_data10.pkg"
0x30b package_data11.pkg"
0x30c package_data12.pkg"
0x30d package_data13.pkg"
0x30e package_data14.pkg"
0x30f package_data15.pkg"
0x310 package_data16.pkg"
0x311 package_data17.pkg"
0x312 package_data18.pkg"
0x313 package_data19.pkg"
0x314 package_data20.pkg"
0x315 package_data21.pkg"
0x316 package_data22.pkg"
0x317 package_data23.pkg"
0x318 package_data24.pkg"
0x319 package_data25.pkg"
0x31a package_data26.pkg"
0x326 debug_data00.pkg"
0x327 debug_data01.pkg"
0x328 debug_data02.pkg"
0x329 debug_data03.pkg"
0x32a debug_data04.pkg"
0x32b debug_data05.pkg"
0x32c debug_data06.pkg"
0x400 package_scewm.wm"
0x401 package_sceas.as"

Hash Table

The hash table contains a hash entry for every file inside the PUP. The hash entry format is:

Offset Length Type Information
0x0 0x8 unsigned long File Index
0x8 0x20 bytes File Hash (hmac-sha256 algo?)
0x28 0x18 bytes Unknown

Files

preinst - 03.000.000

Type Header Information Size
Unknown Unknown Unknown Unknown

systemdata - 03.000.000

Type Header Information Size
Unknown Unknown Unknown Unknown

full - 03.000.000

Type Header Information Size
[null] version.txt 5
XML license.xml 1004658
SCE psp2swu.self 4000680
SCE psp2swu.sprx 115020
SCE psv_package_data01.pkg 2383
SCE psv_package_data02.pkg 1273
SCE package_data02.pkg 554112
SCE package_data03.pkg 7283840
SCE package_data04.pkg 8389760
SCE package_data05.pkg 8389760
SCE package_data06.pkg 8389760
SCE package_data07.pkg 8389760
SCE package_data08.pkg 8389760
SCE package_data09.pkg 8389760
SCE package_data10.pkg 8389760
SCE package_data11.pkg 8389760
SCE package_data12.pkg 8389760
SCE package_data13.pkg 8389760
SCE package_data14.pkg 8389760
SCE package_data15.pkg 8389760
SCE package_data16.pkg 8389760
SCE package_data17.pkg 6849664
SCE package_data18.pkg 1782912
SCE package_data19.pkg 31872
SCE package_data20.pkg 145768
SCE package_data21.pkg 150968
SCE package_data22.pkg 145768
SCE package_data23.pkg 145768
SCE package_data24.pkg 145768
SCE package_data25.pkg 167608
SCE package_data26.pkg 155128
SCE package_scewm.wm 4096
SCE package_sceas.as 1024

Regioning

If simular to the PSVita?, then there is no regioning in the .PUP files, they are the same for all different regions.
The PS Vita however gets the ??-updatelist.xml from different servers, depening on the region of that model.

Retail:

30 October 2013 :: full 01.520.000 :

<update_data_list>
  <region id="jp">
    <np level0_system_version="03.000.000" level1_system_version="?" level2_system_version="01.520.000"/>
    <version system_version="03.000.000" label="01.520">
      <update_data update_type="full">
        <image size="94646272">
          http://djp01.psv.update.playstation.net/update/psv/image/2013_1030/rel_7c51f205af547164005243ac21fc4c33/PSVUPDAT.PUP?dest=jp
        </image>
      </update_data>
  </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.psv.update.playstation.net/update/psv/image/<YYYY_MMDD>/pre_<md5>/PSVUPDAT.PUP?dest=<TLD>
(TLD=2 letter abbreviation from above region, YYYY_MMDD is release date, md5 is 22-digits long HASH)

Revisions

03.000.000

http://djp01.psv.update.playstation.net/update/psv/image/2013_1030/rel_7c51f205af547164005243ac21fc4c33/PSVUPDAT.PUP