|
|
#221 | |
|
Homebrew Developer
![]() Join Date: Jun 2010
Location: Outher Heaven
Posts: 351
Likes: 67
Liked 345 Times in 120 Posts
Mentioned: 112 Post(s)
Tagged: 0 Thread(s)
|
the number of entries is 60. each entry has a specific ID (i still don't know why them) before each file name there is a value that say that there is something every each 0x110. an example (from RESISTANCE) Code:
00000240 00 00 00 00 00 00 00 72 50 41 52 41 4d 2e 53 46 |.......rPARAM.SF| Code:
00000350 00 00 00 00 00 00 00 72 50 52 4f 46 49 4c 45 2e |.......rPROFILE.| Code:
00000680 00 00 00 00 00 00 00 72 33 00 00 00 00 00 00 00 |.......r3.......| as you can also see, there is a 0x39 in the "index table" (as i call it) because it always has a SFO listed in it. what change is the ID. anyway at the and of each 0x100 section you can see the file size. an example Code:
00000240 00 00 00 00 00 00 00 72 50 41 52 41 4d 2e 53 46 |.......rPARAM.SF| <- file name. (max name lenght 0x16) 00000250 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |O...............| 00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000280 00 00 00 00 00 00 00 00 00 00 00 00 ef 39 b2 aa |.............9..| 00000290 57 ff fd 20 5a 47 d8 92 bb ac 26 dd df 9f 48 ec |W.. ZG....&...H.| <--- 0x14 sha1-hmac hashes 000002a0 ef ae 66 1e 97 ee 73 8d 02 56 fd 01 92 3c a0 b9 |..f...s..V...<..| 000002b0 75 26 c3 09 3d 92 95 f6 4a fb 2e 9e 7c ee f3 72 |u&..=...J...|..r| 000002c0 2e b0 a0 91 bf 37 2d d5 51 fd 26 8f 11 8d 8b a9 |.....7-.Q.&.....| 000002d0 83 c3 af d6 09 3f 81 61 27 00 ea 08 ae 5e 7c b9 |.....?.a'....^|.| 000002e0 58 5e 4d 5a 6d f5 aa 7d fa e1 ac bd 73 1c e4 9d |X^MZm..}....s...| 000002f0 c4 25 e4 e6 31 91 84 97 29 f7 bd 30 52 a0 b0 30 |.%..1...)..0R..0| 00000300 8a 22 f3 4c ea b3 5e c7 35 f8 17 b7 0d 96 50 1b |.".L..^.5.....P.| 00000310 ab 71 99 4a ce 2d 28 26 b8 38 ed b8 4b 60 d3 69 |.q.J.-(&.8..K`.i| 00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a b0 |................| <--- filesize (0x0ab0 = 2736, exactly the byte size of the SFO) hmmm heavy rain PFD completely messed up my expectation.. for your X_table, i seriously don't know what is it. it's quite absurd.. this is my heavyrain X_table Code:
00000060 00 00 00 00 00 00 00 39 00 00 00 00 00 00 00 72 |.......9.......r| 00000070 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 1f |.......L........| 00000080 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 32 |.......%.......2| 00000090 00 00 00 00 00 00 00 3a 00 00 00 00 00 00 00 46 |.......:.......F| 000000a0 00 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 2a |...............*| 000000b0 00 00 00 00 00 00 00 31 00 00 00 00 00 00 00 3e |.......1.......>| 000000c0 00 00 00 00 00 00 00 48 00 00 00 00 00 00 00 22 |.......H......."| 000000d0 00 00 00 00 00 00 00 2b 00 00 00 00 00 00 00 36 |.......+.......6| 000000e0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 1a |.......@........| 000000f0 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 2e |.......$........| 00000100 00 00 00 00 00 00 00 38 00 00 00 00 00 00 00 42 |.......8.......B| 00000110 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00 26 |...............&| 00000120 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 37 |.......0.......7| 00000130 00 00 00 00 00 00 00 44 00 00 00 00 00 00 00 72 |.......D.......r| 00000140 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 72 |.......r.......r| 00000150 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 72 |.......r.......r| 00000160 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 15 |................| 00000170 00 00 00 00 00 00 00 1e 00 00 00 00 00 00 00 28 |...............(| 00000180 00 00 00 00 00 00 00 33 00 00 00 00 00 00 00 3d |.......3.......=| 00000190 00 00 00 00 00 00 00 47 00 00 00 00 00 00 00 4a |.......G.......J| 000001a0 00 00 00 00 00 00 00 29 00 00 00 00 00 00 00 34 |.......).......4| 000001b0 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 00 49 |.......<.......I| 000001c0 00 00 00 00 00 00 00 23 00 00 00 00 00 00 00 2d |.......#.......-| 000001d0 00 00 00 00 00 00 00 35 00 00 00 00 00 00 00 41 |.......5.......A| 000001e0 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 20 |............... | 000001f0 00 00 00 00 00 00 00 4b 00 00 00 00 00 00 00 39 |.......K.......9| 00000200 00 00 00 00 00 00 00 43 00 00 00 00 00 00 00 3f |.......C.......?| 00000210 00 00 00 00 00 00 00 27 00 00 00 00 00 00 00 2f |.......'......./| 00000220 00 00 00 00 00 00 00 3b 00 00 00 00 00 00 00 45 |.......;.......E| 00000230 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 13 |................| better showed by this (i wrote something to show me the value in a easy way): 39 72 4C 1F 25 32 3A 46 1C 2A 31 3E 48 22 2B 36 40 1A 24 2E 38 42 1B 26 30 37 44 72 72 72 72 72 06 15 1E 28 33 3D 47 4A 29 34 3C 49 23 2D 35 41 17 20 4B 39 43 3F 27 2F 3B 45 0A 13 Code:
00) 9193BBDAF4E46BD130EED03A85FE58C26CC13B22 01) FEBC8E5E87AE756727C4AE4B91868A4C947C5D4F 02) 91428EAAC43E82CE9E9503D7D15B00B85A37526C 03) B890D0A002CCA5FED7C00B69947302F380BE9197 04) 2EDD03F02A137877C2667D5DED567F386B362E7F 05) 41B6DB1903808E44107324607D9724F54B3AE582 06) 40675AD96C2A3DABC2C337C745DAC01C1AE29FB5 07) 65B4BBFA5C3EC11F1742F3F12158435C03BAC7F9 08) 25FEDDDBC7C292F7689C560FC42973F0C8DEF2EE 09) FA68F3F56F3E429BB2397FD1BC01F06CDACE028F 10) 268F6F7B2D6148FF88D6C2913CE12CEDAC45527E 11) 27EA003FBFB0F1500FF0144D8A5E97A79DAB76CA 12) EDAC1AA4DB49432C16A3B933DFDEECC1BC81AC42 13) 50922A8CCFCD3DB451988E4F5BD02AD9410D71E7 14) F185C60D55A900A2617DE09F1948D683D675B46E 15) 5783676AC1B7D8B77D8357B9FEF2470AB55EB292 16) C8AEDFBA85076108A52D0ECDBB5A0B2BF35F0AF7 17) D08E46FE65C421DF4AE5B551A9CCEC7710BA0EBE 18) 7E457BAB670ED016C1CB854305C6360417D9487B 19) A0797BA6473F7DDC162D46CD47DD60FC8D018600 20) 8F94BD6D852EE8A77F63F5001843EEFF11587F87 21) ADF17B292FBDFED16BBE41091975CB8D3E2430DC 22) 99D8062E99128F749E481A63E52F17476A4B9D45 23) 5B918FD8DA5A26B9B5F179834D3A4E71126BBA2B 24) 091C729564E7A955E0380B9401A751BA7612F637 25) 091C729564E7A955E0380B9401A751BA7612F637 26) 091C729564E7A955E0380B9401A751BA7612F637 27) 091C729564E7A955E0380B9401A751BA7612F637 28) 091C729564E7A955E0380B9401A751BA7612F637 29) A34C31F631CB18F0E0FCD6866FE3B9A76F2FE90F 30) 704C4C0C6EFA84F828236B314BE3E18DAD36368D 31) 185C89326141C1DED5B3BF73E3E4AEBA925132F9 32) FF9686411ED6FD3C249FFA3EFFB611651B094F3A 33) DC0E8E3744D81983A7A287AC69132A3F84E3C8D2 34) 61841F33A55352117011FB3FE87BA9C559E43BFF 35) D1EA5755BF9F21D3C541DF75BD072A855966C7D8 36) 0B9E5F56F7060265CC1FC6354FA47627E97760EA 37) 53473709847ADA77CF1157BE3BF8827AE2E595E8 38) 3BF73D5E04C86109C3E46EB5F7E6B557653C2D50 39) 5A7F360638085F1670CBE3638DD8321608DB165A 40) 9872CF52E34188D3E5BDE6D724BE1639A1A16A4D 41) A2E87ABB3C86448CC9FD7CE7A20813683F600A2E 42) 2E99B00534B07E669D89E7C7EF74F69CEAD1028B 43) 54AE62E1E6D47ED4F5075C66913982262F3015E9 44) 37448C8EA2E74F7D144401D964B0A3CC99160642 45) 00D7C5F73B8C7603E8CF9C474ECAE4C1FADBA302 46) 9E162B8FBD0A47E2683E13ED76F710F3541385C4 47) 0250F735B4C6B3E22B713AF0A2ACF2C97E00DF43 48) 5A9AF68A5BD47E34FEAD65851F1385AC26F87E49 49) FB7554111E5D24E7362FBDCC92356DAD8AFB2535 50) 96D11F758A547275A8B4636E56ABA4BFF6E3538D 51) 0B9964A8E3841E5524634A9884565750DDA5BEA5 52) F5C6C404B174AB0346FCC0E68C46DF42585A763C 53) 7F835890B8D1AE688D7283F0FA5BE704B2E099A2 54) 26C36BE3D36C40D8193E37D5F2D7C7CC36A85757 55) 6D12FC7D4AED9E9970A8F737359A7F33C779FCD9 56) 3A446DB4862CCF256A9FBEE14499D79444D8006C 57) 0000000000000000000000000000000000000000 58) 0000000000000000000000000000000000000000 ************* [ - Post Merged - ] ************* New edit.. sorry for this Big post. i just found what is wrong :D let's take this X table Code:
00000060 00 00 00 00 00 00 00 39 00 00 00 00 00 00 00 72 |.......9.......r| 00000070 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 1f |.......L........| 00000080 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 32 |.......%.......2| 00000090 00 00 00 00 00 00 00 3a 00 00 00 00 00 00 00 46 |.......:.......F| 000000a0 00 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 2a |...............*| 000000b0 00 00 00 00 00 00 00 31 00 00 00 00 00 00 00 3e |.......1.......>| 000000c0 00 00 00 00 00 00 00 48 00 00 00 00 00 00 00 22 |.......H......."| 000000d0 00 00 00 00 00 00 00 2b 00 00 00 00 00 00 00 36 |.......+.......6| 000000e0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 1a |.......@........| 000000f0 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 2e |.......$........| 00000100 00 00 00 00 00 00 00 38 00 00 00 00 00 00 00 42 |.......8.......B| 00000110 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00 26 |...............&| 00000120 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 37 |.......0.......7| 00000130 00 00 00 00 00 00 00 44 00 00 00 00 00 00 00 72 |.......D.......r| 00000140 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 72 |.......r.......r| 00000150 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 72 |.......r.......r| 00000160 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 15 |................| 00000170 00 00 00 00 00 00 00 1e 00 00 00 00 00 00 00 28 |...............(| 00000180 00 00 00 00 00 00 00 33 00 00 00 00 00 00 00 3d |.......3.......=| 00000190 00 00 00 00 00 00 00 47 00 00 00 00 00 00 00 4a |.......G.......J| 000001a0 00 00 00 00 00 00 00 29 00 00 00 00 00 00 00 34 |.......).......4| 000001b0 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 00 49 |.......<.......I| 000001c0 00 00 00 00 00 00 00 23 00 00 00 00 00 00 00 2d |.......#.......-| 000001d0 00 00 00 00 00 00 00 35 00 00 00 00 00 00 00 41 |.......5.......A| 000001e0 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 20 |............... | 000001f0 00 00 00 00 00 00 00 4b 00 00 00 00 00 00 00 39 |.......K.......9| 00000200 00 00 00 00 00 00 00 43 00 00 00 00 00 00 00 3f |.......C.......?| 00000210 00 00 00 00 00 00 00 27 00 00 00 00 00 00 00 2f |.......'......./| 00000220 00 00 00 00 00 00 00 3b 00 00 00 00 00 00 00 45 |.......;.......E| 00000230 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 13 |................| This is a static value. i don't know what it does, but it should say the number of hash (0x39) that 0x72 is unknown.. Code:
00000060 00 00 00 00 00 00 00 39 00 00 00 00 00 00 00 72 |.......9.......r| Code:
00000070 00 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 1f |.......L........| that 0x1F is the ID of the file this is an example that i made with a simple app that i made now: Code:
File: /media/360GB/PS3/SAVEDATA/BCES00797-0/PARAM.PFD Header 00000000_50464442 Version 00000000_00000003 HashKey 525757965C566206864C16B41D1AF0B7 SHA1-HMAC 1 F53B942F8861ACB4B80A941E879544D10AF8A039 SHA1-HMAC 2 B70EB9E7FA7B659C5490D7CC7F0FF0DE4FFEF611 SHA1-HMAC 3 12E568B835CAFF88DDE03DB7B5DF4F97D18FBF1B Padding 08770E6E N Files 76 ==== Files ==== Name: PARAM.SFO Size: 2736 Bytes Name: 1 Size: 114437 Bytes Name: 6 Size: 34511 Bytes Name: 4 Size: 68362 Bytes Name: 3 Size: 136476 Bytes Name: 5 Size: 171487 Bytes Name: 11 Size: 128123 Bytes Name: 7 Size: 27979 Bytes Name: 8 Size: 110591 Bytes Name: 9 Size: 27909 Bytes Name: 01 Size: 29585 Bytes Name: 21 Size: 44006 Bytes Name: 61 Size: 30471 Bytes Name: 31 Size: 44390 Bytes Name: 41 Size: 95180 Bytes Name: 51 Size: 29731 Bytes Name: 71 Size: 29957 Bytes Name: 91 Size: 29990 Bytes Name: 81 Size: 29971 Bytes Name: 02 Size: 30185 Bytes Name: 32 Size: 30172 Bytes Name: 12 Size: 30159 Bytes Name: 22 Size: 126856 Bytes Name: 72 Size: 29901 Bytes Name: 42 Size: 30024 Bytes Name: 52 Size: 30144 Bytes Name: 62 Size: 211340 Bytes Name: 82 Size: 30171 Bytes Name: 23 Size: 30216 Bytes Name: 92 Size: 30486 Bytes Name: 13 Size: 30187 Bytes Name: 03 Size: 111063 Bytes Name: 73 Size: 30164 Bytes Name: 33 Size: 30204 Bytes Name: 43 Size: 117734 Bytes Name: 53 Size: 30207 Bytes Name: 63 Size: 30507 Bytes Name: 04 Size: 30201 Bytes Name: 83 Size: 30161 Bytes Name: 93 Size: 30199 Bytes Name: 14 Size: 30176 Bytes Name: 34 Size: 29640 Bytes Name: 24 Size: 121927 Bytes Name: 44 Size: 29531 Bytes Name: 74 Size: 29617 Bytes Name: 54 Size: 52909 Bytes Name: 64 Size: 29528 Bytes Name: 94 Size: 29933 Bytes Name: 84 Size: 29616 Bytes Name: 25 Size: 76359 Bytes Name: 05 Size: 100460 Bytes Name: 15 Size: 46222 Bytes Name: 35 Size: 30001 Bytes Name: 55 Size: 30003 Bytes Name: 45 Size: 30004 Bytes Name: 85 Size: 30312 Bytes Name: 65 Size: 30324 Bytes Name: 75 Size: 74498 Bytes Name: 06 Size: 30313 Bytes Name: 95 Size: 30316 Bytes Name: 36 Size: 49039 Bytes Name: 16 Size: 30357 Bytes Name: 26 Size: 29566 Bytes Name: 2 Size: 524304 Bytes Name: 46 Size: 29928 Bytes Name: 56 Size: 29930 Bytes Name: 66 Size: 30088 Bytes Name: 76 Size: 42971 Bytes Name: 86 Size: 32247 Bytes Name: 96 Size: 51668 Bytes Name: 07 Size: 32108 Bytes Name: 17 Size: 112264 Bytes Name: 27 Size: 41318 Bytes Name: 37 Size: 54691 Bytes Name: STATUS.QDS Size: 5219 Bytes Name: STATUS2.QDS Size: 560 Bytes ==== Hashes ==== 00) ID: 1f Hash: 9193BBDAF4E46BD130EED03A85FE58C26CC13B22 01) ID: 25 Hash: FEBC8E5E87AE756727C4AE4B91868A4C947C5D4F 02) ID: 32 Hash: 91428EAAC43E82CE9E9503D7D15B00B85A37526C 03) ID: 3a Hash: B890D0A002CCA5FED7C00B69947302F380BE9197 04) ID: 46 Hash: 2EDD03F02A137877C2667D5DED567F386B362E7F 05) ID: 1c Hash: 41B6DB1903808E44107324607D9724F54B3AE582 06) ID: 2a Hash: 40675AD96C2A3DABC2C337C745DAC01C1AE29FB5 07) ID: 31 Hash: 65B4BBFA5C3EC11F1742F3F12158435C03BAC7F9 08) ID: 3e Hash: 25FEDDDBC7C292F7689C560FC42973F0C8DEF2EE 09) ID: 48 Hash: FA68F3F56F3E429BB2397FD1BC01F06CDACE028F 10) ID: 22 Hash: 268F6F7B2D6148FF88D6C2913CE12CEDAC45527E 11) ID: 2b Hash: 27EA003FBFB0F1500FF0144D8A5E97A79DAB76CA 12) ID: 36 Hash: EDAC1AA4DB49432C16A3B933DFDEECC1BC81AC42 13) ID: 40 Hash: 50922A8CCFCD3DB451988E4F5BD02AD9410D71E7 14) ID: 1a Hash: F185C60D55A900A2617DE09F1948D683D675B46E 15) ID: 24 Hash: 5783676AC1B7D8B77D8357B9FEF2470AB55EB292 16) ID: 2e Hash: C8AEDFBA85076108A52D0ECDBB5A0B2BF35F0AF7 17) ID: 38 Hash: D08E46FE65C421DF4AE5B551A9CCEC7710BA0EBE 18) ID: 42 Hash: 7E457BAB670ED016C1CB854305C6360417D9487B 19) ID: 1b Hash: A0797BA6473F7DDC162D46CD47DD60FC8D018600 20) ID: 26 Hash: 8F94BD6D852EE8A77F63F5001843EEFF11587F87 21) ID: 30 Hash: ADF17B292FBDFED16BBE41091975CB8D3E2430DC 22) ID: 37 Hash: 99D8062E99128F749E481A63E52F17476A4B9D45 23) ID: 44 Hash: 5B918FD8DA5A26B9B5F179834D3A4E71126BBA2B 24) ID: 72 Hash: 091C729564E7A955E0380B9401A751BA7612F637 25) ID: 72 Hash: 091C729564E7A955E0380B9401A751BA7612F637 26) ID: 72 Hash: 091C729564E7A955E0380B9401A751BA7612F637 27) ID: 72 Hash: 091C729564E7A955E0380B9401A751BA7612F637 28) ID: 72 Hash: 091C729564E7A955E0380B9401A751BA7612F637 29) ID: 06 Hash: A34C31F631CB18F0E0FCD6866FE3B9A76F2FE90F 30) ID: 15 Hash: 704C4C0C6EFA84F828236B314BE3E18DAD36368D 31) ID: 1e Hash: 185C89326141C1DED5B3BF73E3E4AEBA925132F9 32) ID: 28 Hash: FF9686411ED6FD3C249FFA3EFFB611651B094F3A 33) ID: 33 Hash: DC0E8E3744D81983A7A287AC69132A3F84E3C8D2 34) ID: 3d Hash: 61841F33A55352117011FB3FE87BA9C559E43BFF 35) ID: 47 Hash: D1EA5755BF9F21D3C541DF75BD072A855966C7D8 36) ID: 4a Hash: 0B9E5F56F7060265CC1FC6354FA47627E97760EA 37) ID: 29 Hash: 53473709847ADA77CF1157BE3BF8827AE2E595E8 38) ID: 34 Hash: 3BF73D5E04C86109C3E46EB5F7E6B557653C2D50 39) ID: 3c Hash: 5A7F360638085F1670CBE3638DD8321608DB165A 40) ID: 49 Hash: 9872CF52E34188D3E5BDE6D724BE1639A1A16A4D 41) ID: 23 Hash: A2E87ABB3C86448CC9FD7CE7A20813683F600A2E 42) ID: 2d Hash: 2E99B00534B07E669D89E7C7EF74F69CEAD1028B 43) ID: 35 Hash: 54AE62E1E6D47ED4F5075C66913982262F3015E9 44) ID: 41 Hash: 37448C8EA2E74F7D144401D964B0A3CC99160642 45) ID: 17 Hash: 00D7C5F73B8C7603E8CF9C474ECAE4C1FADBA302 46) ID: 20 Hash: 9E162B8FBD0A47E2683E13ED76F710F3541385C4 47) ID: 4b Hash: 0250F735B4C6B3E22B713AF0A2ACF2C97E00DF43 48) ID: 39 Hash: 5A9AF68A5BD47E34FEAD65851F1385AC26F87E49 49) ID: 43 Hash: FB7554111E5D24E7362FBDCC92356DAD8AFB2535 50) ID: 3f Hash: 96D11F758A547275A8B4636E56ABA4BFF6E3538D 51) ID: 27 Hash: 0B9964A8E3841E5524634A9884565750DDA5BEA5 52) ID: 2f Hash: F5C6C404B174AB0346FCC0E68C46DF42585A763C 53) ID: 3b Hash: 7F835890B8D1AE688D7283F0FA5BE704B2E099A2 54) ID: 45 Hash: 26C36BE3D36C40D8193E37D5F2D7C7CC36A85757 55) ID: 0a Hash: 6D12FC7D4AED9E9970A8F737359A7F33C779FCD9 i have also tested it with GT5 Code:
File: ../GT5.PFD Header 00000000_50464442 Version 00000000_00000003 HashKey AB4F62D7C671A50C51088A095B540E0E SHA1-HMAC 1 40931F86B7B9066D74E3592EC8F03019F4A302BF SHA1-HMAC 2 7A05C75C65DF4118ED22D89FA801F26C5189D4D3 SHA1-HMAC 3 1AC622C95FCAD53194ACB45973940DF857357AB2 Padding 547DDB90 N Files 2 ==== Files ==== Name: PARAM.SFO Size: 2736 Bytes Name: GAME_P2.DAT Size: 13984 Bytes ==== Hashes ==== 00) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 01) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 02) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 03) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 04) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 05) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 06) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 07) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 08) ID: 01 Hash: B9D6AEEFBC7D695A4B33585E8F6621DB5AF2CB18 09) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 10) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 11) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 12) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 13) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 14) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 15) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 16) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 17) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 18) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 19) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 20) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 21) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 22) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 23) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 24) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 25) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 26) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 27) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 28) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 29) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 30) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 31) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 32) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 33) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 34) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 35) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 36) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 37) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 38) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 39) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 40) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 41) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 42) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 43) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 44) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 45) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 46) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 47) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 48) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 49) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 50) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 51) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 52) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 53) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 54) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 55) ID: 72 Hash: 29CC0D98370945C4A90974E509CF81DD40DDEA74 |
|
|
|
|
|
|
#222 | ||
|
Homebrew Developer
![]() Join Date: Oct 2011
Location: dev_hdd0/home/
Posts: 510
Likes: 244
Liked 507 Times in 214 Posts
Mentioned: 100 Post(s)
Tagged: 0 Thread(s)
|
Ohhh man, i think you have erased correct information, this structure is not easy at all, it needs some hours of investigation and to look at several examples to understand it
I suggest by now lest use the same names for the tables... at beggining i used "index table" (for the X table)... and "weird table" (for the Y table)... but later i thought "by now" while we dont know exactly his function is better to use something more generic ---> "X table" and "Y table" will work for now and cant be wrong because is something "generic" I will need some time to understand what you changed, so i will edit this message several times, but by now... the most easy table:
Code:
Offset Size Value Description 0x60 0x08 bytes 0000000000000039 Max Number of reserved entries in the X table & Hash table (57 in decimal) 0x68 0x08 bytes 0000000000000072 Max Number of reserved entries in the Protected files table (114 in decimal) 0x70 0x08 bytes 000000000000004C Number of files listed (76 in decimal) The "X table" starts after this (at 0x78) and has 57 entries Nops, this 0x1F is the "virtual number" assigned to this file The position of the entry in the "X table" is nº1, and his assigned number is 0x1F (nº31 in decimal) So.... file 1 is linked to position 31 (when i say "linked" is only speculation... it can be other thing like a parameter for his signature generation) You can do the same with all the others... the list of numbers is complete (from 0x00 to 0x71 max)... most of the smaller numbers are in the "X table"... the others are in the "protected files table" ************* [ - Post Merged - ] *************
Code:
Size Value Description 0x8 00000000000000** File index 0x16 EXAMPLE.WTF Name of the file included the point and the extension in ASCII (Null-terminated) 0xBC ????????... Certificate for the file. When the file is PARAM.SFO then the certificate is bigger in size and uses imput data from the attribute "PARAMS" and/or "ACCOUNT_ID" inside PARAM.SFO. Method unknown (Null-terminated) 0x4 1A2B3C4D Size of the file in bytes The way are "marked" is the same than the "X table"..... if you found a 0x72... it means that is "not used" (it points out of the table) But you will find that sometimes is used... ( this depends of the number of files are listed in the "protected files table" The "problem" is the "X table" can only store 57 "indexed files"... but the format is able to store 114 signatures for files.... so if you need to "index" more than 57 files.... the "X table" is not big enought... and the rest of this index are "spreaded" in the "Protected files table" And when i say the word "spreaded" is because there is no relationship in the positions of this "index" between tables (look at this very carefully, because this is the real nonsense of all the structure) It seems completly random (im sure is not)... but is not so easy This is what i called a "virtual index" This is hard to explain... but e.g: Imagine you are a game developer and you need to secure 80 files... so you need to include the signatures for this 80 files in the "protected files table", ok ?... well... The problem is you need to "index" this files... and in the "X table" you can only "index" 57 files... in other words... you need to "index" the other 23 in the "protected files table" ifself If you make a list with all this "indexed files" (the ones spreaded in "X table" + the ones spreaded in "protected file table")... you will see you have a complete list with ALL the files ordered by number ---------- Edit: Great, i think i was able to explain all this "virtual index" ![]() This is the "big secret" of this format, im glad now we are in the same road and we are crashed with the same concrete wall
Last edited by sandungas; 07-15-2012 at 06:51 PM. |
||
|
|
|
|
|
#223 | ||
|
Homebrew Developer
![]() Join Date: Jun 2010
Location: Outher Heaven
Posts: 351
Likes: 67
Liked 345 Times in 120 Posts
Mentioned: 112 Post(s)
Tagged: 0 Thread(s)
|
i also don't understand the values on the X Table. i understood what you say, but that isn't true. initially i thought that those values was linked to the File table, but they aren't. at the same time, those numbers doesn't have (now) a meaning because what you say is not true. in Heavy Rain SaveGame that thing isn't true. the same thing for the GT5 savegame. That 0x39 is a mystery. i understood that in dec it is 57 and seems to have a correlation with the X Table, but Why make a Static value? Why 0x39? The same question for the Hash table (Y Table). why also there 57 Hashes? Why if the files listed are 2, or anyway less then 57, to keep 57 Hashes? instead of 2 and then all zeros? another last question. it's possible that what you call Hashed Key and Hashed Padding isn't what you think. probably it's a Hash itself. 3 Hashes instead of 2 + Hashed Key + padding. anyway give a look into my reader. http://pastie.org/private/hcir9ukjmdqaj3pccs7xw Last edited by deroad; 07-16-2012 at 02:11 AM. |
||
|
|
|
|
|
#224 |
|
Homebrew Developer
![]() Join Date: Oct 2011
Location: dev_hdd0/home/
Posts: 510
Likes: 244
Liked 507 Times in 214 Posts
Mentioned: 100 Post(s)
Tagged: 0 Thread(s)
|
I been editing the talk page, take a look
http://www.ps3devwiki.com/wiki/Talk:...EFUL_game_save I think i will move this tables to front page later The relationship between the tables is explained at the bottom like a "virtual index" The part about encryption areas in the header was edited by mysis... he was looking at the output from vtrm All that i edited today is the completly file mapped... no areas missing in the tables, and all this "indexed" numbers mapped... you can see with your own eyes is true what i explained (months ago, but with my crappy english is difficult) Last edited by sandungas; 07-16-2012 at 04:00 AM. |
|
|
|
|
|
#225 |
|
Homebrew Developer
![]() Join Date: Oct 2011
Location: dev_hdd0/home/
Posts: 510
Likes: 244
Liked 507 Times in 214 Posts
Mentioned: 100 Post(s)
Tagged: 0 Thread(s)
|
Im done with PARAM.PFD by now (round 2)
Today i added a theory about how to blank the tables... but for this to work is needed to "crack" the header hashes Im sure that somebody will crack the header one day... and i bet my idea about blanking the tables has high chances to work, so it worths a try... if it works, it means the whole security of the file has been defeated The funny part is we dont need to rebuild the tables (so we dont need to understand them) I have more interesting notes that can help understand how the file is built, and another table (based in timestamps... this is how the files are ordered in the protected files table when the file is built) but by now this is other theory i prefer to keep for me for fully understand how it works (I know is related with timestamps... but i still dont get how are assigned this ID's and why sometimes "jumps" from one table to the other) I have some ideas, and the other day when i imagined the thing with the timestamps i was like "eureka, now i see it"... but not completly ![]() ---------------- About what we was discussing... forget the section "the virtual table" if you dont like it...this is only one way to order this ID's But dont forget the number of ID's is the same than the number of "protected files".... so obviously the ID's are asigned to the files And also the weird fact this ID's are spreaded between the "X table" (can contain 57 ID's) and the protected files table (can contain 114 ID's)... this makes a total of 171 possible positions for the ID's... but only 114 ID's can be used (one ID for each file in the protected files table)... so max 114 protected files = 114 max ID's spreaded between 171 positions in 2 tables Last edited by sandungas; 07-25-2012 at 11:03 PM. |
|
|
|
|
Likes: (1) |
|
|
#226 |
|
Homebrew Developer
![]() Join Date: May 2012
Posts: 398
Likes: 334
Liked 157 Times in 110 Posts
Mentioned: 42 Post(s)
Tagged: 0 Thread(s)
|
For PARAM.SFO....well
the flag N8 is confirmed to be for PSVITA remote play (852x480). Sandungas got this flag fews months ago by looking at Torne update and reading the Japanese changelog of Torne...(and it was cryptic not so well explained even you fully understand Japanese) and at that time it was probably the only little hint possible to get flag N8. The hunt still continue for our beloved flags, parameters and category.![]() After that, there are one or two users trying it (on cfw 3.55 + PS vita) saying it look like having some effect ( less sound problems, less blur image), so anyone who has PS VITA and PS3 should try and give somes reports. |
|
|
|
|
|
#227 |
|
Homebrew Developer
![]() Join Date: Oct 2011
Location: dev_hdd0/home/
Posts: 510
Likes: 244
Liked 507 Times in 214 Posts
Mentioned: 100 Post(s)
Tagged: 0 Thread(s)
|
Nice, ni hao, now i realize i know japanese :D
This "vita remote play" completes all the valid flags for the "first byte" of ATTRIBUTE right ? (wiki is too slow today and i dont remember where is placed) And this verifyes in some way the order used in the table is correct (is chonologically, but separated bytes are used for similar functions)... e.g: the first byte seems to be for "Multimedia XMB features" (remote play, or XMB ingame modes, one of them with music) And btw.... because this first byte is completed... if they need to add another "Multimedia XMB feature" it needs to be in another byte... so this way to order them can be changed in the future (probably the last flags of byte 4 will be used as "miscelaneous") Edit: btw... the "PSvita" icon is stored inside "explore_plugin_full.rco" (i missed it the first time because all the others are inside "explore_category_game.rco") And i realized this icon existed (before finding it) because i noticed there is a "youtube" app that uses it in this video (in minute 4:13) http://www.ps3hax.net/showthread.php?t=40289 Last edited by sandungas; 07-25-2012 at 11:25 PM. |
|
|
|
|
|
#228 | ||
|
Homebrew Developer
![]() Join Date: May 2012
Posts: 398
Likes: 334
Liked 157 Times in 110 Posts
Mentioned: 42 Post(s)
Tagged: 0 Thread(s)
|
well, the Japanese part seems to be still confusing with other language but no doubt you caught this flag from really one little footprint hint.
![]()
But the wiki will probably required to be edited for the cumulative flags used for both PSP/PSVITA remote ( not recycled but you might think a bit different about how to add news flags after seeing the psp/psvita remote flag). May be by having the 8 first flags described if not the case (wiki is also slow for me) The only one being not confirmed from PS3 is the n7 (but form the way it was captured, it should be fine)
PS vita is hard to get without having it to test/visualize, there are the trophy thing as you know already implemented.. There are this WT category also waiting to be captured. But attention should be on PARAM.PFD from you and Deroad. |
||
|
|
|
|
|
#229 |
![]() ![]() Join Date: Mar 2012
Posts: 9,265
Likes: 6,487
Liked 4,030 Times in 2,624 Posts
Mentioned: 1002 Post(s)
Tagged: 0 Thread(s)
|
nevermind.
__________________
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|