App.pbm: Difference between revisions
Jump to navigation
Jump to search
(Adding app.pbm info to the ps4 wiki) |
No edit summary |
||
Line 1: | Line 1: | ||
== app.pbm == | == app.pbm == | ||
location: [PS4VOLUME]/app/[[Productcode]]/app.pbm | location: [PS4VOLUME]/app/[[Productcode]]/app.pbm | ||
it seems to always be in the same place as the app.pkg file | it seems to always be in the same place as the app.pkg file | ||
* note it always seems to have a .backup made in the same location | * note it always seems to have a .backup made in the same location | ||
== Tools to Read == | |||
[https://github.com/xXxTheDarkprogramerxXx/PS4_Tools PS4_Tools] | |||
=== Example === | === Example === | ||
https://hexed.it/#base64+lzjb:app.pdbm%20example;AHBkYm1DVVNBQDAwMjY1AAwBkJoJBAgBBAUABNMKAAUB2AN/8sj6b2nVAHm6LJJjoD6aAAGPMVN2D5aXAI/k8AiSrlCI1h10WRSGAAAJWwAEdDB9tCD//AH8QvxC/EL8Qv8A//////////8A////////4KwAxeKLwhW1es0Awn4B0ig+V30AqW8n8ekTMq0AQCnu5ntuxA== | [https://hexed.it/#base64+lzjb:app.pdbm%20example;AHBkYm1DVVNBQDAwMjY1AAwBkJoJBAgBBAUABNMKAAUB2AN/8sj6b2nVAHm6LJJjoD6aAAGPMVN2D5aXAI/k8AiSrlCI1h10WRSGAAAJWwAEdDB9tCD//AH8QvxC/EL8Qv8A//////////8A////////4KwAxeKLwhW1es0Awn4B0ig+V30AqW8n8ekTMq0AQCnu5ntuxA== HEXed.it] | ||
public class PBMStruct | |||
{ | |||
public byte[] pbm_magic; // 0x000 - 0x7064626D //should be the same everywhere | |||
public byte[] Productcode; // 0x004 - 0x435553413030323635 = "CUSA00265" remember to grab the extra bytes at the end 12 | |||
public uint emptyval; // 0x010 - not sure this just empty for some reason | |||
public uint Unk1; // 0x014 - seems to always be 90 09 00 00 | |||
public uint Verion; // 0x018 - seems to always be 00 00 01 00 | |||
public uint emptyval2; // 0x01C - not sure this just empty for some reason | |||
public uint Unk2; // 0x020 - examples 00 00 6C CE | |||
public byte[] Padding; // 0x024 - seems to be padding length 3C | |||
public byte[] Enc; // 0x060 - enc? hash ? length 20 | |||
public byte[] blankval; // 0x080 - blank values length 20 | |||
public byte[] UnkA0; // 0x0A0 - seems to always be 01 00 00 00 | |||
public byte[] blankval2; // 0x0A4 - seems to always be 00 00 00 00 | |||
public uint UnkA8; // 0x0A8 - Again not sure seems to always be 00 01 00 00 | |||
public uint Lenght; // 0x0AC - Length of file FF holder 5B 01 00 00 | |||
public byte[] BlockB0_BF; // 0x0B0 - this seems to be padding again B0- BF length 50 | |||
public byte[] FFStartHolder; // 0x100 - Start of the FF holder - read the Length from the length attribute | |||
public byte[] EndHash; // EOF for 20 bytes might be a hash? FC 50 65 C4 27 B0 7C 49 98 E8 26 3B 1D 85 E2 87 93 EB 38 F4 A3 F0 50 .. | |||
} | |||
Example output | |||
pkg_magic:pdbm | |||
Productcode:CUSA00265 | |||
emptyval:0 | |||
Unk1:990 | |||
Verion:10000 | |||
emptyval2:0 | |||
Unk2:AD30000 | |||
Padding:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |||
Enc:7FF2C8FA6F69D579BA2C9263A03E9A018F3153760F96978FE4F00892AE50881D | |||
blankval:0000000000000000000000000000000000000000000000000000000000000000 | |||
UnkA0:01000000 | |||
blankval2:00000000 | |||
UnkA8:100 | |||
Lenght:15B | |||
BlockB0_BF:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |||
FFStartHolder:FFFFFFFF...FFFFFFE0 | |||
EndHash:ACC5E28BC215B57ACDC27E01D2283E577DA96F27F1E91332AD4029EEE67B6EC4 | |||
{{File Formats}} | {{File Formats}} | ||
<noinclude>[[Category:Main]]</noinclude> | <noinclude>[[Category:Main]]</noinclude> |
Revision as of 13:17, 12 May 2020
app.pbm
location: [PS4VOLUME]/app/Productcode/app.pbm
it seems to always be in the same place as the app.pkg file
- note it always seems to have a .backup made in the same location
Tools to Read
Example
public class PBMStruct { public byte[] pbm_magic; // 0x000 - 0x7064626D //should be the same everywhere public byte[] Productcode; // 0x004 - 0x435553413030323635 = "CUSA00265" remember to grab the extra bytes at the end 12 public uint emptyval; // 0x010 - not sure this just empty for some reason public uint Unk1; // 0x014 - seems to always be 90 09 00 00 public uint Verion; // 0x018 - seems to always be 00 00 01 00 public uint emptyval2; // 0x01C - not sure this just empty for some reason public uint Unk2; // 0x020 - examples 00 00 6C CE public byte[] Padding; // 0x024 - seems to be padding length 3C public byte[] Enc; // 0x060 - enc? hash ? length 20 public byte[] blankval; // 0x080 - blank values length 20 public byte[] UnkA0; // 0x0A0 - seems to always be 01 00 00 00 public byte[] blankval2; // 0x0A4 - seems to always be 00 00 00 00 public uint UnkA8; // 0x0A8 - Again not sure seems to always be 00 01 00 00 public uint Lenght; // 0x0AC - Length of file FF holder 5B 01 00 00 public byte[] BlockB0_BF; // 0x0B0 - this seems to be padding again B0- BF length 50 public byte[] FFStartHolder; // 0x100 - Start of the FF holder - read the Length from the length attribute public byte[] EndHash; // EOF for 20 bytes might be a hash? FC 50 65 C4 27 B0 7C 49 98 E8 26 3B 1D 85 E2 87 93 EB 38 F4 A3 F0 50 .. }
Example output
pkg_magic:pdbm
Productcode:CUSA00265
emptyval:0
Unk1:990
Verion:10000
emptyval2:0
Unk2:AD30000
Padding:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Enc:7FF2C8FA6F69D579BA2C9263A03E9A018F3153760F96978FE4F00892AE50881D
blankval:0000000000000000000000000000000000000000000000000000000000000000
UnkA0:01000000
blankval2:00000000
UnkA8:100
Lenght:15B
BlockB0_BF:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
FFStartHolder:FFFFFFFF...FFFFFFE0
EndHash:ACC5E28BC215B57ACDC27E01D2283E577DA96F27F1E91332AD4029EEE67B6EC4