Đăng bởi

PS4 JSON-2-SHA1 Python Script for Game PKG Files by Hosamn

Following the JSON Format details, PS4 PKGs via SEN and the JSON Entitlement Grabber Add-on this weekend developer hosamn made available a PS4-JSON-2-SHA1 Python Script for use in checking the hashes of PlayStation 4 game packages. 

:geek:

Download: PS4-json-2-sha1-master.zip / GIT

This comes proceeding the PS4 PKG Integrity Checker for PS4 packages and the PS4 Title Update Checker, and from the README.md, to quote: PS4-json-2-sha1

Generate SHA1 integrity check files for PS4 game PKG files from official json data. eg: JSON File:
Code:

http://gs2.ww.prod.dl.playstation.net/gs2/ppkgo/prod/CUSA02299_00/19/f_bfcf616f667a19707e0f925b3944e5875a83253b7e776f91c88cd8d095a2911f/f/UP9000-CUSA02299_00-MARVELSSPIDERMAN-A0117-V0100.json

Resulting files can be used to check PKG files with any hash checker like HashCheck Shell Extension.

From ps4_json_2_sha1.py:
Code:

import json
import os

# Change the working directory to the py file dir:
os.chdir(os.path.dirname(os.path.abspath(__file__)))

# Get a list of current dir json files:
for root, dirs, files in os.walk("."):
    # print(len(files), files)
    json_files = [f for f in files if f.endswith('.json')]
    break  # break after reporting current dir files and don't go deeper

# print(json_files)

for json_file in json_files:

    out_file_name = json_file.split('.')[0]+'.sha1'

    with open(json_file) as opf:
        data = json.loads(opf.read())

    for i in range(data['numberOfSplitFiles']):
        piece_name = data['pieces'][i]['url'].split('/')[-1]
        piece_hash = data['pieces'][i]['hashValue']
        file_line = piece_hash + ' *' + piece_name
        with open(out_file_name, 'a') as outt:
            outt.write(file_line+'\n')