58w ago - Following up on his initial release, today PlayStation 3 homebrew developer JjKkYu has updated his SCETool Script to PS3 TrueAncestor EBOOT Resigner v1.1 followed by v1.11 and v1.12 with the changes outlined below.
Oh, my God, I hate rush update. Elf fix doesn't relate to sfo, mate. '33' may allow it working on 3.41. Script will be improved when i finish current work.
wrong "24 13 BC C5 F6 00 33 00 00 00 41" to "24 13 BC C5 F6 00 33 00 00 00 34"
right "24 13 BC C5 F6 00 33 00 00 00 40" to "24 13 BC C5 F6 00 33 00 00 00 34"
4.0-4.11 use 40
4.20-4.25 use 41
In related PlayStation 3 homebrew news today has released (via ps3gameita.blogspot.it/2012/11/eboot-list-menager.html) a PS3 EBOOT List Manager for PC with details below, roughly translated:
Hi, not knowing where to write I write this topic. I am a young Italian developer and saw the turnout and the excellent posts of this forum / blog, let me tell you my new program: Eboot List Manager. From this program you can download all the Eboot out until now.
Finally, Attila (via ps3-infos.fr/forum/applications-pc-mac-f49/outils-pour-faire-vos-fix-de-jeux-3-56-a-4-30-pour-cfw-v1-7-par-attila-t3343.html) has updated PS3 Resigning Tools v1.7 using the recent PS3 Keys leaked with details below, to quote roughly translated:
These windows allow for batch scripts from your game or your bluray update (pkg) to patch the files so that you can make your own fix your game and launch 3.40-3.55 3.60.
Warning: These tools can cause bugs in your PS3. If possible, have dumps done with E3 debricker order, or in case of incorrect handling.
extract_pkg.bat: extract it your PKG "NPDRM" containing updates to games, demos or content of PSN / SEN. Drag your file above.
eboot_self_sprx_decrypter_recrypter.bat: Decrypt EBOOT.BIN all your files, *. self, *. SPRX games or bluray from PKG NPDRM extract it, change all occurrences of 3.60 by 3.40 (sys_proc_param, keyset etc.) to re-encrypt the game so that it is compatible 3.40 / 3.55. Beware, some self / SPRX update klicense need a specific (see klicense_cracker). Drag the file to decrypt it.
BruteForce.exe: Tool by Aldostool, klicense can find the (unique key per set) to decrypt the files self / SPRX updates for certain games. Take the EBOOT. BIN file and a self SPRX or supplied with the game and place them in the program folder. If you found the key, use the notepad to edit "eboot_self_sprx_decrypter_recrypter.bat" KLICENSE1 line, replace the key with this one you found.
patch_paramsfo.bat: Slide your PARAM.SFO file to change the version number 3.40.
create_pkg.bat: You will need to add psn_package_npdrm.exe Sony SDK to create your PKG. Drag the folder containing the folder "USRDIR" of the bat file.
(Use instead Bruteforce.exe) klicense_cracker.bat: Allows you to find the klicense (unique key per set) to decrypt the files self / SPRX updates for certain games. You will need to put EBOOT.BIN decrypted (with the previous tool) and a file named EBOOT.BIN.elf or self SPRX patch.self named folder in the bat file.
Note: it may take a long time and several popups error can potentially occur. Ok done, and wait until you find the key. If you found the key, use the notepad to edit "eboot_self_sprx_decrypter_recrypter.bat" KLICENSE1 line, replace the key with this one you found.
Added key appldr until firmware 4.30.
Update to 2.2.0 bruteforce tool which adds support tool crack of klicense by MAGIC333X
Update key PS3.
No longer uses the file extension to determine whether the file is a SPRX or EXEC, use the "type" value in "ELF64 Header" instead.
Display the command line scetool used to encrypt the file.
Fixed parameter np-app-type, depending on the input file.
Update to version 0.2.9 scetool.
Using the "template" of scetool.
Integration of a ungpkg modified by myself to support and Edat sdat files when decryption of files pkg.
Use FixElf to patch instead of sys_proc_param binmay. The tool should be more effective.
Other minor changes.
Update bruteforcer with the addition of plugin testklic which is faster than scetool to check if the klicense is good.
Modification of the patcher PARAM.SFO to use another tool aldostools compatible with all PARAM.SFO (not just 3.60).
Removed unnecessary parameters scetool when the file is not npdrm.
Added a specific message when you try to decrypt a file that was not the key (3.65 +).
Added a bruteforcer of klicense v1.7.3 by aldostools to replace klicense_cracker.bat.
Fixed a bug with file extractor pkg.
Take your game or your bluray pkg.
If it is a pkg, drag the file to pkg extract_pkg.bat.
You have your folder with the game
Drag the file on PARAM.SFO patch_paramsfo.bat
Drag the file EBOOT.BIN on eboot_self_sprx_decrypter_recrypter.bat.
If it tells you:
The file cannot be decrypted. Maybe it is unknown with a key, or you shoulds klicense add a key (for self / SPRX). Key Revision = [3.65] (3.65 or more), it is not worth continuing with these files, they are not decrypting.
If you see:
Continue thereafter. If you see files or self SPRX, slide one on eboot_self_sprx_decrypter_recrypter.bat
If you see:
"The file cannot be decrypted. Maybe it is unknown with a key, or you shoulds klicense add a key (for self / SPRX). Key Revision = [3.60 - 3.61]"
You know we have the keys 3.60-3.61 and therefore it lacks the klicense file. We must try to crack the key, the next step (Step only if required to do) Take the file EBOOT.BIN file and your self / SRPX you have not managed to decrypt and copy both the folder or is BruteForce.exe. Start bruteForce.exe (if you get an error at launch, install it ) and click start. If you can not find the key, reduce and offset alignment and try again.
If you're lucky, you will find the key, like this: 496e66696e697479576172644b657900 (Example here with the key Modern Warfare 3).
Take the notepad and open the file and change the line eboot_self_sprx_decrypter_recrypter.bat with "set KLICENSE1 19089cbaf948487f9530832bf477b369 =" to put the key klicense found instead of 19089cbaf948487f9530832bf477b369.
For each file self / SPRX drag the game on eboot_self_sprx_decrypter_recrypter.bat. If everything is configured correctly, you should see:
If you have a game patch bluray (not PSN content), you can replace the EBOOT.BIN files, PARAM.SFO, and self / SPRX the game and start the game. Otherwise, if the game files from the PSN (PKG file), you can redo a PKG to simplify installation. Drag the folder that you extracted in step 2 to create_pkg.bat (attention, you will find yourself on the internet psn_package_npdrm.exe file to make it work). Pkg file is created and you can install it with install package file.
I thank her for Asure tool for cracking and klicense opoisso893 to change sys_proc_param aldostools and its tools.
Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!
Today PlayStation 3 homebrew developer spacemanspiff has released OpenSCETool (OSCETool) v0.9.2 which is an open-source clone of the original SCETool followed by the SCETool source code by naehrwert with details below.
To quote: OpenSCETool is a clone of scetool under an open source license. SCETool was reverse engineered and analized to produce this program, and copied his behaivour.
OpenSCETool (OSCETool) Changelogs:
Fixed rap/rif/idps/act.dat management. Now it works fine.
Fixed a segfault decrypt some SELFs.
Added option -p to patch the sys_process_param when signing an ELF. This is the same as applying FixELF.exe before signing.
Added support to klics.txt. If the klicensee is not specified, it is looked up in the data/klics.txt automatically (only for decrypt).
First commited version, compatible with SCETool 0.2.9.
Now GNU/Linux users can have a native tool too. If you want an SCETool replacement, remember to add this keys (this were in the code, you can find them in previous revisions of the code, or in flatz's rif/raf tools:
Plaintext sections will now take less space in metadata header keys array.
Added option to specifiy a template SELF to take configuration values from.
Added option to override the keyset used for en-/decryption.
Fixed NP application types.
[Firmware Version] will now be written to control info only.
[Application Version] will now be written to application info only.
Version 0.2.8 (intermediate release):
Fixed minor bugs where scetool would crash.
Added SPP parsing.
Decrypting RVK/SPP will now write header+data to file.
Added local NP license handling.
Added option to override klicensee.
Added option to disable section skipping (in SELF generation).
Added option to use provided metadata info for decryption.
"PS3" path environment variable will now be searched for keys/ldr_curves/vsh_curves too.
Added option to display raw values.
Moved factory Auth-IDs to (as they are on ps3devwiki now).
Added options to override control/capability flags (32 bytes each).
Fixed where a false keyset would crash scetool when decrypting a file.
Some source level changes and optimizations.
zlib is required to use scetool.
'sdk_type' was changed to 'revision' in data/keys.
1. Add subfolder traversal in edat/sdat folder.
2. Fix 2G+ file handling issue (probably).
3. Fix syntax issue while handling certian edat files.
4. Re-adjust the mainmenu.
1. Add SDAT file supporting.
1. Fix Java OutOfMemory for encrypting big files.
2. Add JVM Memory config in toolcore.cfg.
1. Decrypt and encrypt edat files on pc.
2. Fast rebuild mode.
3. Batch mode.
4. Dev Klic should be input manually at now.
It seems Windows 8 cannot pass the java check.. maybe fix it in next version.
Finally, from oakhead69: Hi jjkkyu, If you have based your code on my C# code which in turn is based on the port by KDSBest. There is a significant bug in the reverseByteWithSizeFIX code.
It will fail the hash check on some data blocks, hench KDSBest removed the test. More importantly when generating the hash for the data blocks during encryption, the hash will be incorrect. Hench the resulting SDAT/EDAT will be bad. I have attached some updated code below.
public static byte reverseByteWithSizeFIX(byte b)
if (b.Length < 0x10 && (b[b.Length - 1] & 0x80) != 0)
b2 = new byte[0x10];
for (i = 0; i < b.Length; i++)
b2[b2.Length - 1 - i] = b[i];
for (i = b.Length; i < 0x10; i++)
b2[0x10 -1 - i] = 0xff;
b2 = new byte[b.Length];
for (i = 0; i < b2.Length; i++)
b2[b2.Length - 1 - i] = b[i];