EurAsiayour console hacking resource
Select topic
  Create an account Home  ·  Your Account  ·  Online Shop  ·  Forums  ·  Downloads new  ·  Wiki  
Main Menu
· Home
· About Us
· Downloads
· FAQ
· Forums
· Info Pages
· Members List
· Online Shop
· PDA - AvantGo
· Private Messages
· Search Stories
· Statistics
· Stories Archive
· Submit Story
· Top 10
· Topics
· Upload
· WAP
· Web Links
· Wiki
· Your Account
· Switch to HTTPS!

Online Shop
Credit Card

Bitcoin

EurAsia Online Shop
enter

new products
· PsNee modchip PSX
· R4i Gold 3DS RTS
· Mars Pro GM-816HD
· EurAsia File Collection 2017
· Matrix Infinity 2.0
· Modbo 5.0
· Screwdriver GC/SNES
· X360ACE V3
· E3 NOR Flasher
· Corona Postfix Adapter V2
· SuperCIC SNES kit
· SuperCIC cart key
· Gateway 3DS
· X360ACE V1
· 3k3y 3KR (SATA)
· Mtx Glitcher v1
· HAKKO WICK
· HAKKO PRESTO 980
· ULTRACORE Solder
· Crystal Oscillator 48MHz

complete price list

Tor Hidden Service
Tor Project
EurAsia Onion URL: wrqgfbrcgttkp6pi.onion

Who's Online
There are currently 1234 guest(s) and 15 member(s) online.

anderson09 - BonerBoy - Charles_Manson - CrimsonRain - CristhiandelRio - efemert - mattyv - milkawax - modrobert - pirataria - puppet_master - Richa - Robert - rpjgames - zastrox

Welcome honored guest. You can register for free by clicking here.

Site Protection
INFOSEC
BM

Hot Wikis
PS4 Exploit using Raspberry Pi
Switch Key List
PS4 firmware updates
3k3y nokeys ISO tutorial
3DS game fw updates
3k3y microSD recovery
PS3 SKU Models
PS3 Metldrpwn
Xk3y microSD recovery
Xbox360 motherboards
Xbox360 Reset Glitch Hack
PS3 Blu-ray Drive
Homemade Sputnik360
PS3 BD drive swap
PSP Crypto Keys
PS3_Crypto_Keys
PS3 Hypervisor RE
PS3 Dongle User Guide
PSGroove tutorial
Xecuter LT Fakir
PS3 YLOD Fix
NSMB Modchip Tutorial
PS3 Glitch Hack
Xbox360NoDvdRom
Ps3FactoryRestore
Free60JtagHack
Ps3HddDecrypt
WiiKey2EjectFix
SaveMiiFree
WiiHwDiagram
Ps3OsRels
PandoraNoHomebrewPsp
GcOsMultiGameWiiHowTo
Xbox360LinuxBurn
Xbox360EraserFix
Xbox360Kernel
Xbox360DisasmXtreme
Ps2HdlPatchTutorial
Ps2VersionTable
XboxErrorCodes
XboxVersionTable
GameCubeLaserTweak
ModchipSolderingGuide
PspUmdIsoHaxorLinux

RSS Feed
News & Downloads & Wiki

IRC
#eur
EFnet

Hosted By

Ad

Respected Sites
Home of the Hitmen
radare
gc-forever
pouet.net
English Amiga Board
GXArena OFW Repo
WiiBrew
WiiUBrew
3DBrew
SwitchBrew
Games and Consoles
Maxconsole.com
Console Wizard
GameCube Linux
Xbox Linux
Xbox-Scene.com
XboxHacker.Net
xbins.org
Doom9.net
bunnie's blog
debugmo.de
GX-Mod.com
ElOtroLado.net
uCON64
GBADEV.ORG
GBAtemp.net
PocketHeaven.com
PDRoms
GameSX.com
ASSEMbler
phrack.org
Woz.org

Support...

Bitcoin

Namecoin

radare

OpenCores
Electronic Frontier Foundation
Amnesty International

Nectarine Radio

Demovibes Radio

GNU
Linux
Mozilla

Total Page Views
We received
156533024
page views since June 2002


Moderated by: Robert

EurAsia : Index PS4 PS4 Update File Analysis
New Topic   Post Reply
Author PS4 Update File Analysis
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32609 posted 2013-10-30 @ 02:11 GMT   
Quote:
Hey guys,

here comes a short analysis of the PlayStation4 update files. Available at:

PS4 Update File

PS4 Recovery Update File

PS4 Update File Analysis


Best regards,

- SKFU



Source: http://www.skfu.xxx/2013/10/playstation-4-update-file-analysis.html
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32610 posted 2013-10-30 @ 02:17 GMT   
The PUP file links are already dead, but the analysis is hosted here.
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32611 posted 2013-10-30 @ 04:01 GMT   
For update file checksums and download links:

http://www.eurasia.nu/wiki/index.php/Ps4OsRels
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32612 posted 2013-10-30 @ 04:06 GMT   
Found some source code to extract the PUP files linked over at ps3news.com.

PUP extractor in Python by flat_z.

Code:
import sys, os, struct        

if len(sys.argv) < 3:
script_file_name = os.path.split(sys.argv[0])[1]
print 'usage: {0} <pup container file> <output directory>'.format(script_file_name)
sys.exit()

pup_file_path = sys.argv[1]
if not os.path.isfile(pup_file_path):
print 'error: invalid file specified'
sys.exit()

output_dir = sys.argv[2]
if not os.path.exists(output_dir):
os.makedirs(output_dir)
elif not os.path.isdir(output_dir):
print 'error: invalid directory specified'
sys.exit()

header_fmt = '<4sI4xIQ8x'
entry_fmt = '<II8x32s'

block_size = 512

pup_file_size = os.path.getsize(pup_file_path)
with open(pup_file_path, 'rb') as pup_file:
magic, version, num_entries, num_blocks = struct.unpack(header_fmt,
pup_file.read(struct.calcsize(header_fmt)))
if magic != 'SLB2':
print 'wrong file magic'
sys.exit()
if version != 1:
print 'unsupported file version'
sys.exit()
if num_blocks * block_size != pup_file_size:
print 'wrong number of blocks'
sys.exit()
entry_data = pup_file.read(num_entries * struct.calcsize(entry_fmt))
for i in xrange(num_entries):
block_index, size, file_name = struct.unpack(entry_fmt,
entry_data[i * struct.calcsize(entry_fmt):(i + 1) * struct.calcsize(entry_fmt)])
file_name = file_name.rstrip('\x00')
file_path = os.path.join(output_dir, file_name)
with open(file_path, 'wb') as entry_file:
pup_file.seek(block_index * block_size)
num_segments = 1 + (size - 1) / block_size if size > 0 else 0
for j in xrange(num_segments):
segment_size = block_size if j < (num_segments - 1) \
else size - (num_segments - 1) * block_size
data = pup_file.read(segment_size)
entry_file.write(data)



Source: http://pastie.org/private/4wgojewhp2pq7declhkhw


ps4pupextractor v2 in C by xerpi

Code:
	        
// Copyright (c) 2013 xerpi

/*
Fast and simple PS4 PUP extractor
Thanks to SKFU for the PUP information analysis
Version 2, may have lots of bugs (coded fast)
I'm not even sure this will work on Big Endian machines...

Compiling:
gcc -o ps4pupextractor ps4pupextractor.c
*/

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>

#define PS4_PUP_MAGIC 0x32424C53
#define PS4_PUP_HEADER_SIZE 32 //Until PUP entries
#define PS4_PUP_ENTRY_SIZE 48 //PUP entry size

struct ps4pup_pup_info {
uint32_t offset;
uint32_t content_size;
uint64_t reserved;
uint8_t filename[32];
} __attribute__((packed));

struct ps4pup_header {
uint32_t magic;
uint64_t version;
uint32_t file_count;
uint32_t block_count;
uint8_t reserved1[12];
struct ps4pup_pup_info *pups;
uint8_t reserved2[288];
} __attribute__((packed));


int ps4pup_read_header(FILE *fd, struct ps4pup_header *header);
void ps4pup_free_header(struct ps4pup_header *header);
int ps4pup_extract(FILE *fd, struct ps4pup_header *header);
void ps4pup_print_header(const struct ps4pup_header *header);

void print_usage(void);

int main (int argc, char *argv[])
{
if (argc < 2) {
print_usage();
goto exit_error;
}

FILE *fd;
if ((fd = fopen(argv[1], "rb")) == NULL ) {
printf ("Could not open %s\n", argv[1]);
goto exit_close;
}

struct ps4pup_header h;

if (!ps4pup_read_header(fd, &h)) {
printf("Error reading PUP file\n");
goto exit_close;
}

ps4pup_print_header(&h);

printf("\nExtracting PUP files...\n");

if (!ps4pup_extract(fd, &h)) {
printf("Error extracting PUP files\n");
ps4pup_free_header(&h);
goto exit_close;
}

printf("Done!\n");


ps4pup_free_header(&h);
return 1;


exit_close:
fclose(fd);
exit_error:
return EXIT_FAILURE;
}

int ps4pup_read_header(FILE *fd, struct ps4pup_header *header)
{
if (fd == NULL || header == NULL) {
return 0;
}

fseek(fd, 0, SEEK_SET);
fread((void*)header, 1, PS4_PUP_HEADER_SIZE, fd);

if (header->magic != PS4_PUP_MAGIC) {
printf("This is not a PUP file!\n");
return 0;
}

header->pups = malloc (header->file_count * sizeof(struct ps4pup_pup_info));

int i;
for (i = 0; i < header->file_count; ++i) {
fread((void*)&header->pups[i], 1, PS4_PUP_ENTRY_SIZE, fd);
}

return 1;
}


void ps4pup_free_header(struct ps4pup_header *header)
{
if (header) {
if (header->pups) {
free(header->pups);
}
}
}

int ps4pup_extract(FILE *fd, struct ps4pup_header *header)
{
if (fd == NULL || header == NULL) {
return 0;
}

FILE *pup_out;
uint8_t copy_buffer[512];
int data_offset = PS4_PUP_HEADER_SIZE + PS4_PUP_ENTRY_SIZE * header->file_count;
data_offset = (data_offset+511) & ~511; //Align to 512 bytes

int i;
for (i = 0; i < header->file_count; ++i) {
fseek(fd, data_offset + header->pups[i].offset, SEEK_SET);
pup_out = fopen(header->pups[i].filename, "wb");
int copy_size = header->pups[i].content_size;

while (copy_size > 0) {
if (copy_size > 512) {
fread(copy_buffer, 1, 512, fd);
fwrite(copy_buffer, 1, 512, pup_out);
copy_size -= 512;
} else {
fread(copy_buffer, 1, copy_size, fd);
fwrite(copy_buffer, 1, copy_size, pup_out);
copy_size = 0;
}
}
fflush(pup_out);
fclose(pup_out);
}


return 1;
}

void ps4pup_print_header(const struct ps4pup_header *header)
{
char magic_string[5];
strncpy(magic_string, (char*)(uintptr_t)(&header->magic), 4);
magic_string[4] = '\0';
printf("Magic: 0x%X %s\n", header->magic, magic_string);
printf("Version: %lu\n", header->version);
printf("File count: %i\n", header->file_count);
printf("Block count: %i\n", header->block_count);

int i;
for (i = 0; i < header->file_count; ++i) {
printf("PUP %i:\n", i+1);
printf(" Offset: 0x%X\n", header->pups[i].offset);
printf(" Size: %i\n", header->pups[i].content_size);
printf(" Filename: %s\n", header->pups[i].filename);

}
}

void print_usage(void)
{
printf("Usage:\nps4pupextractor <PS4UPDATE.PUP>\n");
printf("It will extract the PUPs as: PS4UPDATEX.PUP being X the PUP number\n");
}



Source: http://pastebin.com/bHXBhTyc

[ This message was edited by modrobert on 2013-10-30 @ 04:59 GMT ]
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32613 posted 2013-10-30 @ 05:27 GMT   
The PUP extractors for PS4 here as well:

PS4 PUP Extractor v2

ps4pupextractor.py

[ This message was edited by modrobert on 2013-10-30 @ 05:27 GMT ]
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32630 posted 2013-11-04 @ 00:59 GMT   
PS4 FW Tool v1.0.0
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32697 posted 2013-11-13 @ 10:01 GMT   
PS4 firmware v01.501.000 has been released.

http://www.eurasia.nu/wiki/index.php/Ps4OsRels#Release_table
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32728 posted 2013-11-15 @ 05:56 GMT   
Today Sony changed their minds about the latest v01.501.000 firmware release, and now refer to it as v01.500.000 on their servers (still same MD5 checksum). I think because they want to hide the fact there was an old v01.500.000 (aka 01.000.000 in Japan) released on October 29th, 2013.

This makes the old v01.500.000 (aka 01.000.000 in Japan) interesting exploit wise.

http://www.eurasia.nu/wiki/index.php/Ps4OsRels#Release_table
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
garyopa



lt

Registered: 2003-11-06
From: Toronto
Messages: 76
Status: Offline
 _#32844 posted 2013-11-20 @ 04:18 GMT   
It has started the weekly PS4 firmware updates:

http://blog.us.playstation.com/2013/11/19/ps4-system-software-update-1-51-coming-soon/
  ________                         ________    __________    _____     
 /  _____/ _____  _______  ___.__. \_____  \   \______   \  /  _  \    
/   \  ___ \__  \ \_  __ \<   |  |  /   |   \   |     ___/ /  /_\  \   
\    \_\  \ / __ \_|  | \/ \___  | /    |    \  |    |    /    |    \  
 \______  /(____  /|__|    / ____| \_______  //\|____|  /\\____|__  //\
        \/      \/         \/              \/ \/        \/        \/ \/
                                                                       

 Profile  pm  Email  www   skype   Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#32849 posted 2013-11-20 @ 10:25 GMT   
Yep, here we go again.

PS4 firmware v01.510.000 has been released.

http://www.eurasia.nu/wiki/index.php/Ps4OsRels#Release_table
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#33694 posted 2014-06-04 @ 05:49 GMT   
...and another one!

PS4 firmware v01.710.000 has been released.

http://www.eurasia.nu/wiki/index.php/Ps4OsRels#Release_table
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
damotheking



captain

Registered: 2007-06-14
Messages: 172
Status: Offline
 _#33695 posted 2014-06-04 @ 09:25 GMT   


 Profile  pm    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#33897 posted 2014-06-26 @ 08:12 GMT   
...here we go again.

PS4 firmware v01.720.000 has been released.

http://www.eurasia.nu/wiki/index.php/Ps4OsRels#Release_table
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
modrobert



donor

Registered: 2003-10-17
From: Bangkok
Messages: 6410
Status: Online
 _#35967 posted 2018-04-24 @ 11:25 GMT   
High time to bump this sleeping topic.



Besides the version numbering looking out of whack for '5.53-01', for the first time ever we have a "sys_ex_diff" (patch) release for PS4!

wiki/index.php/Ps4OsRels#Release_table

[ This message was edited by modrobert on 2018-04-24 @ 11:46 GMT ]
  _____________________________ ____________     __________________ /\________
  \    __________________      \      _____/____/     _    \       /_        /
 /     /       |       l/     _/    ____)     _/      _     \     \/  cREAM /
/______________l_______/       \______________\_______|      \_   /________/
 -+--Mo!-------------- \________/ ------------------- l_______/_____\ -----+-

 Profile  pm  www    Quote
_
New Topic   Post Reply
Jump To
 

All trademarks and copyrights on this page are owned by their respective owners.
Comments and forum messages are owned by the Poster.