Act.dat: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
=== Location === | === Location === | ||
[[Files_on_the_PS_Vita#tm0|tm0]]:npdrm/act.dat | [[Files_on_the_PS_Vita#tm0|tm0]]:npdrm/act.dat | ||
==act.dat header(encrypted) structure== | |||
{| class="wikitable sortable" | |||
|- | |||
| style="background-color:#123EDA; color:#FFFFFF;" |'''Name''' | |||
| style="background-color:#123EDA; color:#FFFFFF;" |'''Offset''' | |||
| style="background-color:#123EDA; color:#FFFFFF;" |'''Size''' | |||
| style="background-color:#123EDA; color:#FFFFFF;" |'''Example''' | |||
| style="background-color:#123EDA; color:#FFFFFF;" |'''Remark''' | |||
|- | |||
| Activation Type || 0x0 || 0x4 || 00000001 || | |||
|- | |||
| Version || 0x4 || 0x4 || 00000001 || 1 or 2(current) | |||
|- | |||
| Account ID || 0x8 || 0x8 || AB CD EF 01 02 34 78 91 || personal PSN account ID | |||
|- | |||
| Primary Key Table || 0x10 || 0x800 || N.A || Used for decrypting rifkeys | |||
|- | |||
| Unknown1 || 0x810 || 0x40 || N.A|| | |||
|- | |||
| OpenPsId|| 0x850 || 0x10 || N.A|| Result from _sceKernelGetOpenPsId() in the SceSblAimgr Module | |||
|- | |||
| Unknown3 || 0x860 || 0x10 || N.A|| Encrypted_data for v.1 / Padding for v.2 | |||
|- | |||
| Unknown4 || 0x870 || 0x10 || N.A|| Encrypted_data for v.1 / Time_Stamp for v.2 | |||
|- | |||
| Secondary Table || 0x880 || 0x650 || N.A || | |||
|- | |||
| RSA Signature|| 0xED0 || 0x100 || N.A|| RSA Public Key for RIF type 0 and 1 | |||
|- | |||
| Unknown Sig || 0xFD0 || 0x40 || N.A|| params are unknown | |||
|- | |||
| ECDSA Signature || 0x1010 || 0x28 || N.A|| pub=vsh_pub, ctype=0x02(vsh_curves) | |||
|- | |||
|} | |||
=== PHP === | === PHP === |
Revision as of 05:20, 30 January 2017
Description
An activation file for a Sony Playstation' console, based on an account email and password, the devices IDPS, the platform and activation type. See also [PS3 act.dat].
Location
tm0:npdrm/act.dat
act.dat header(encrypted) structure
Name | Offset | Size | Example | Remark |
Activation Type | 0x0 | 0x4 | 00000001 | |
Version | 0x4 | 0x4 | 00000001 | 1 or 2(current) |
Account ID | 0x8 | 0x8 | AB CD EF 01 02 34 78 91 | personal PSN account ID |
Primary Key Table | 0x10 | 0x800 | N.A | Used for decrypting rifkeys |
Unknown1 | 0x810 | 0x40 | N.A | |
OpenPsId | 0x850 | 0x10 | N.A | Result from _sceKernelGetOpenPsId() in the SceSblAimgr Module |
Unknown3 | 0x860 | 0x10 | N.A | Encrypted_data for v.1 / Padding for v.2 |
Unknown4 | 0x870 | 0x10 | N.A | Encrypted_data for v.1 / Time_Stamp for v.2 |
Secondary Table | 0x880 | 0x650 | N.A | |
RSA Signature | 0xED0 | 0x100 | N.A | RSA Public Key for RIF type 0 and 1 |
Unknown Sig | 0xFD0 | 0x40 | N.A | params are unknown |
ECDSA Signature | 0x1010 | 0x28 | N.A | pub=vsh_pub, ctype=0x02(vsh_curves) |
PHP
A PHP script is released to obtain the act.dat. See [playstationhax.xyz]
[pastie]
<?php $data = array( "loginid" => "", /* email */ "password" => "", /* password */ "consoleid" => "", /* idps */ "platform" => "psp2", /* for vita, don't modify, possible parameters psp,ps3,psp2.ps4 is unknown */ "acttype" => "4", /* for vita, don't modify */ ); $custom_headers = array( "X-I-5-DRM-Version: 1.0", ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://commerce.np.ac.playstation.net/cap.m"); curl_setopt($ch, CURLOPT_USERAGENT, "Legium pro Britania"); curl_setopt($ch, CURLOPT_HTTPHEADER, $custom_headers); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //curl_setopt($ch, CURLOPT_HEADER, 1); //curl_setopt($ch, CURLOPT_CERTINFO, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_VERBOSE, 1); $response = curl_exec($ch); curl_close($ch); $fp = fopen("act.dat", "wb"); fwrite($fp, $response); fclose($fp); ?>