PSJailbreak Exploit Payload Reverse Engineering: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Page Will be Updated Soon,stay tuned...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:PS3]] | |||
''' Source: http://ps3wiki.lan.st/index.php?title=PUP_File_Format ''' | |||
---- | |||
'''PUP''' (Playstation Update Package) files are packages which contain the files used to update a PSP or PS3 system. | |||
The HMAC key used to verify the packages has been released. Look around for "pup-hmac" | |||
= Header = | |||
{| border="1" | |||
|- | |||
! 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 == | |||
The file table consists of a number of file entries determined by '''File Count''', with the format below: | |||
{| border="1" | |||
|- | |||
! 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 === | |||
{| border="1" | |||
|- | |||
! 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 == | |||
The hash table contains a hash entry for every file inside the PUP. | |||
The hash entry format is: | |||
{| border="1" | |||
|- | |||
! Offset | |||
! Length | |||
! Type | |||
! Information | |||
|- | |||
| 0x0 | |||
| 0x8 | |||
| unsigned long | |||
| File Entry ID | |||
|- | |||
| 0x8 | |||
| 0x14 | |||
| bytes | |||
| HMAC-SHA1 hash | |||
|- | |||
| 0x1C | |||
| 0x4 | |||
| unsigned int | |||
| Unknown | |||
|} |
Revision as of 00:17, 25 February 2011
Source: http://ps3wiki.lan.st/index.php?title=PUP_File_Format
PUP (Playstation Update Package) files are packages which contain the files used to update a PSP or PS3 system.
The HMAC key used to verify the packages has been released. Look around for "pup-hmac"
Header
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
The file table consists of a number of file entries determined by File Count, with the format below:
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 |
---|---|
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
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 Entry ID |
0x8 | 0x14 | bytes | HMAC-SHA1 hash |
0x1C | 0x4 | unsigned int | Unknown |