SLB2
Jump to navigation
Jump to search
SLB2 structure
/* file structure of SLB goes as following, if unpacking make sure you use 64 bits little endian on windows os */
typedef unsigned char u8;
typedef unsigned long int u32;
typedef unsigned long long int u64;
typedef struct{
u32 offset; //1 block is headersize (512 padded)
u32 cryptSize;
u64 reserved; //probably file alignment
u8 fileName[32];
} fileEntry;
typedef struct{
u32 magic; //SLB2
u64 version; //1
u32 fileCount;
u32 blockCount;
u8 reserved[12];
fileEntry files[10];
} ps4pup;
SLB2 files to play with
- http://www.mirrorcreator.com/files/056CKD7J/PS4UPDATE.PUP.rar_links
- https://mega.co.nz/#!WE8zUAyb!ZuZy5Vxrd4eCc4bTvFW_ZC7lu7Ub0tcdyE08xbJtrok (Main)
- https://mega.co.nz/#!GEdQkRRR!KSCLLQEGlWfQwsA3yBo3pkZqqqE6w-Jwk-5CvLd4GR0 (Recovery)
- http://dus01.ps4.update.playstation.net/update/ps4/image/2013_1112/sys_df008b5601f4a214a3cc65030a02ac4a/PS4UPDATE.PUP?dest=us (Main)
- http://dus01.ps4.update.playstation.net/update/ps4/image/2013_1112/rec_cedada625478db608d5878c019454380/PS4UPDATE.PUP?dest=us (Recovery)
Unpacking
- http://pastie.org/private/4wgojewhp2pq7declhkhw (flatz)
- PS4 PUP Extractor v2 (xerpi)
- PS4 FW Tool v1.0.0 (skfu)
- https://github.com/Hykem/ps4tools (hykem, based on flatz)
SLB PUP Files
These files are contained inside of SLB2 containers. They contain data pertaining to system firmware. All inner pup files begin with the same bytes:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 4F 15 3D 1D 00 01 01 12 04 00 00 00 O.=.........
After that the bytes begin to differentiate. It could be a file count, or a hash used later on to decrypt the inner pup files.