Today PlayStation 3 homebrew developer Oakhead69 has shared a PC application to assist in the creation of PS3 SDAT files followed by an SDAT Creator CLI version with more details outlined below.
Download: PS3 SDAT Creator Homebrew App / PS3 SDAT Creator Homebrew App (Mirror) / PS3 SDAT Creator Homebrew App (Mirror #2) / EP0001-ASMO00001_00-SDATDECRYPTOR430.pkg / 479 Hitman SDATs (Decrypted and Unsorted) by JonahUK / SDAT Creator CLI (Command Line Interface) / SDAT Decrypter Creator CLI / SDAT Decrypter Creator CLI v1.1
Instructions:
- You first need to decrypt the original V4 SDAT file.
- You can use extttdpk coded by asmodean (asmodean.reverse.net) to decrypt it.
- This needs to be done on a PS3 with >3.56. e.g 4.21.
- There are compiled versions of this on the web for example link
- You need to modify the file decrsdat.lst with a list of SDATs to be decrypted e.g.
There is code available that can decode V3 SDATs on the PC, but we can not decode the V4 SDATs as we do not have the EDATKEY1 that has a SHA-1 of 6ECDFEC0A11890C1F2A689062D3EFE562317B2FB. Once we have this key V4 SDATscan be decrypted on a PC.Code:# input_file output_file /dev_hdd0/model_shader_pack.SDAT /dev_hdd0/model_shader_pack.dat
This program is also useful for modifying the contents of SDAT file for language conversions etc. I know that this has been requested by people in the past. Now we can do it.
To use the SDAT Creator:
1) Provide the decrypted data as input to the SDAT creator.
2) Specify the output SDAT file.
3) Optionally provide the original V4 SDAT file and it will then use the hashes etc from this file otherwise it just uses some default values..
4) Press the 'Create SDAT' button and that's it.
The code I have provided is based on KDSBest's C# port of the Java code written by JuanNadie. Any keys used in the code are already publicly available on the internet.
Most of the information I used to create this program was gained from this post NPDRM Self algorithm. Big thanks to JuanNadie, KDSBest and others that posted on this thread.
I have used it to create successful patches for:Here is the smallest one of his SDATs and the content that I have just decrypted it on my PC.
- Test Drive: Ferrari Racing Legends (BLUS30842)
- Ice Age 4: Continental Drift (BLES01686).
- For Sports Champions 2.BCES01598 there are other issues with the EBOOT.BIN that I can not fix.
- For Air Conflicts Pacific Carriers.BLES01604 the V3 SDAT files to not work even on 4.21. I think this is because they contain elf files and V3 SDATs do not support executable content.
- Men.In.Black.Alien.Crisis.BLES01549. This should work but it has a 4gig+ sdat file, but I have tested my creator can handle files of this size.
- Disney.Epic.Mickey.2.The.Power.of.Two I have noticed that this has sdat files but I have not had any time to look at them.
This is a quick break down of the SDAT header block at the start of the SDAT. As you can see the eight byte i.e offset 0x00000007 in this example is 4. To be honest because the SDAT is encrypted with a different key very little will match. The lines 000000080 and 00000088 should match the rest will be different.
If you really want to learn more about this visit the PS3 wiki, this page (ps3devwiki.com/wiki/Talk:EDAT_files) discusses EDAT format.Code:00000000 4E 50 44 00 00 00 00 04 : 4 Magic : 4 Version 00000008 00 00 00 00 00 00 00 00 : 4 license : 4 type 00000010 00 00 00 00 00 00 00 00 : Content ID 00000018 00 00 00 00 00 00 00 00 : Content ID 00000020 00 00 00 00 00 00 00 00 : Content ID 00000028 00 00 00 00 00 00 00 00 : Content ID 00000030 00 00 00 00 00 00 00 00 : Content ID 00000038 00 00 00 00 00 00 00 00 : Content ID 00000040 00 00 00 00 00 00 00 00 : Digest 00000048 00 00 00 00 00 00 00 00 : Digest 00000050 D3 13 D4 EA 5E 64 16 C7 : Title + File Name Hash : BLES-00000 + Filename 00000058 AC EF B0 CD F5 0F 92 80 : Title + File Name Hash : BLES-00000 + Filename 00000060 XX XX XX XX XX XX XX XX : Header Hash 00000068 XX XX XX XX XX XX XX XX : Header Hash 00000070 00 00 00 00 00 00 00 00 : Unknown 3 00000078 00 00 00 00 00 00 00 00 : Unknown 3 00000080 01 00 00 3C 00 00 40 00 : 1 Finalise : 3 Data Type : 4 Block Size 00000088 SS SS SS SS SS SS SS SS : Decoded Data Size 00000090
SDAT Creator CLI:
Some of you have been asking for a CLI (Command Line Interface) version of the SDAT Creator. So here it is (linked above). I have also made the file name validation a little more rugged.
Options are:
1) No parameters launches the GUI as normal. If run from a command window it will minimise the window and restore it after it closes.
2) 2 or 3 parameters and it assumes a single command i.e. "SDAT Creator CLI" InputFile OutputFile (Optional SDAT reference file)
e.g. "SDAT Creator CLI" Input.dat Output.sdat original.sdat or "SDAT Creator CLI" Input.dat Output.sdat
3) 1 parameter and it assumes that it is a file containing a list of command lines for multi file handling.
e.g. "SDAT Creator CLI" filelist.txt
Contents of filelist.txt
Hope this is clear.Code:input.dat "output file.sdat" ref.sdat "input file.dat" "output file.sdat" "ref file.sdat" "input file.dat" "output file.sdat"
SDAT Decrypter Creator CLI
Hi Guys, Since a number of people have asked for this, I have added support for decryption of V3 and lower SDATs. Still no V4 decryption, need the latest EDAT keys.
GUI interface is I hope self explanatory. Options for CLI are:
Now has additional first parameter of E (Encrypt) or D (Decrypt)
1) No parameters launches the GUI as normal. If run from a command window it will minimise the window and restore it after it closes.
2) 3 or 4 parameters and it assumes a single command i.e. "SDAT Creator CLI" E/D InputFile OutputFile (Optional SDAT reference file)
e.g. "SDAT Creator Decryter CLI" E Input.dat Output.sdat original.sdat or"SDAT Creator Decryter CLI" E Input.dat Output.sdat or "SDAT Creator Decryter CLI" D InputV3.sdat Output.dat
3) 1 parameter and it assumes that it is a file containing a list of command lines for multi file handling. e.g. "SDAT Creator Decryter CLI" filelist.txt
Contents of filelist.txt is now
I have tested it, I think in all case. Any problem you find just let me know.Code:E input.dat "output file.sdat" ref.sdat E "input file.dat" "output file.sdat" "ref file.sdat" E "input file.dat" "output file.sdat" D "input file.sdat" output.dat
SDAT Decrypter Creator CLI v1.1
Another release V1.1
This time I have added support for specifying the block size, some games use 8K blocks rather than 16K blocks. You can specify the block size using the API or it will read it from the original SDAT if provided.
The CLI change is a little dirty at the moment will clean it up when I get more time. For now just add the block size next to the 'E' e.g. E8 or E16. Same applies for the filelist see below.
Also added a bug fix to the V3 decryption, there was an issue with the handling of 'BigNumbers'. Thanks to catalinnc for sending me the SDAT so that I could find and fix this issue.Code:E input.dat "output file.sdat" ref.sdat E8 input.dat "output file.sdat" ref8.sdat E16 input.dat "output file.sdat" ref16.sdat E "input file.dat" "output file.sdat" "ref file.sdat" E "input file.dat" "output file.sdat" D "input file.sdat" output.dat
Finally, from Mistawes comes a DECRSDAT for 4.30 EP0001-ASMO00001_00-SDATDECRYPTOR430.pkg who states the following:
Used decrsdat to decrypt the original SDAT and use the 3.41 SDK to make an "old format" SDAT..
More PlayStation 3 News...
13250 HeyManHRU
13207 PS3 News
11287 elser1
11119 oVERSoLDiER
9248 GrandpaHomer
8578 Tidusnake666
7968 saviour07
7340 condorstrike
7258 deank
6858 OGroteKoning
24993 PS3 News
5279 Starlight
2965 HeyManHRU
2173 CJPC
2129 elser1
1818 cfwprophet
1756 her0
1572 oVERSoLDiER
1291 GrandpaHomer
1080 barrybarryk





