Hey there.

So... you use an ad blocker. That's cool. Sometimes we do too.

But without ad revenue, we wouldn't even be here. And we might not be here much longer.

Please disable your ad blocker and click to continue.

  1. #1
    Join Date
    Apr 2005

    PSXTract: Decrypt / Convert PSOne Classics from PSP / PS3 by Hykem

    Today PlayStation 3 homebrew developer Hykem (the Demon) made available PSXTract, which is a tool to decrypt / convert PSOne Classics from PSP / PS3 with details below.

    Download: PSXTract Tool / psxtract.rar (Updated) / psxtract-updated.rar (Mirror) / psxtract-src.rar (converted to gcc as compiler, and some fixes) / GIT

    From the ReadMe file: PSXTract

    Tool to decrypt and convert PSOne Classics from PSP/PS3. Written by Hykem.

    This tool allows you to decrypt a PSOne Classics EBOOT.PBP on your PC, using the emulated PSP method. It features a modified version of libkirk's source code to support DES encryption/decryption and the AMCTRL functions.


    You may supply a KEYS.BIN file to the tool, but this is not necessary. Using the internal files' hashes, psxtract can calculate the key by itself.

    Game file manual decryption is also supported (DOCUMENT.DAT).

    For more details about the algorithms involved in the extraction process please check the following sources:
    • PBP unpacking: github.com/pspdev/pspsdk/blob/master/tools/unpack-pbp.c
    • PGD decryption: emunewz.net/forum/showthread.php?tid=3834 (initial research)
    • code.google.com/p/jpcsp/source/browse/trunk/src/jpcsp/crypto/PGD.java (JPCSP)
    • github.com/tpunix/kirk_engine/blob/master/npdrm/dnas.c (tpunix)

    AMCTRL functions: code.google.com/p/jpcsp/source/browse/trunk/src/jpcsp/crypto/AMCTRL.java
    (JPCSP): github.com/tpunix/kirk_engine/blob/master/kirk/amctrl.c (tpunix)

    • Draan, Proxima and everyone involved in kirk-engine (libkirk source code)
    • tpunix (C port and research of the PGD and AMCTRL algorithms)
    • PSPSDK (PBP unpacking sample code)

    Note for the people using this: Multi Disc ISO support isn't available. You may also expect some bugs with some of the isos.

    Update: A small update. Hykem was able to add multi iso support, but the images usually turned out corrupted. I was able to fix that (no idea how though) so here (linked above) it is, psxtract with single and multidisc support.

    If any of your discs doesn't work it's because it's probably copy protected. FFVIII didn't work for me until i tried the US version

    Update #2: From zecoxao comes PSXClassics working with decompressed ISOs, with details as follows:

    I posted on twitter (twitter.com/zecoxao/status/645718862416248833) it's simple to do. Forge edat, use psx2psp to forge eboot and pack everything up.

    Credits to ZeroTolerance for the information and findings.. here are the tools (Windows only):

    Download: psx_classics.zip (4.2 MB) / psx_classics.rar (14.88 MB) by Most Hated

    • make_npdata-master.zip
    • ps1classic_hasher.rar
    • psn_package_npdrm.exe
    • PSPDocMaker.rar
    • PSX2PSP.rar
    • sign.py

    package.conf (example):

    [Register or Login to view code]


    1) create pbp file using ps1topsp tool without using any compression methods.
    2) extraxt the data.psar from it (this file is required for creating ISO.BIN.EDAT)
    3) extract iso headers and isos from data.psar
    4) extract the sector table from iso header.
    5) use hasher util with each iso and sector table to create the the table with proper sha1 hashes.
    6) insert the hash tables to their iso headers
    7) fix the iso offsets into iso headers.
    8) create ISO.BIN.DAT using modified iso headers.
    9) create ECDSA signature at the tail og the ISO.BIN.DAT
    10) encrypt ISO.BIN.DAT to ISO.BIN.EDAT
    11) make pkg
    12) Profit!

    (Made by ZeroTolerance)

    Apparently (and this is something Sony LOVES doing) they decided to use the code of a tool called PSX2PSP as their own and made psxclassics. The compression algo is there (although modified) and the isos come out uncompressed or compressed if we choose to.

    The only 2 differences i've found so far (by using psxtract from Hykem) were that the crypto they use and PSX2PSP's (aparent lack of) crypto and the compression algo. Sorry for the clarification

    I've added the rest of the tools to the main link. However, i still couldn't forge a proper pkg. I might need some help with it, after all

    Just made it work. error was in decryption of ISO.BIN.EDAT with ps3tools.. it works fine with make npdata.

    Proof of concept with game LSD - Dream Emulator:

    Download: UP9000-NPPS01556_00-0000000000000001.pkg (621.0 MB)

    The initial issue we had was actually compressing the isos, because sony uses a custom tlzrc algorithm that we don't know about. however, ZeroTolerance found out that it's possible to just put a decompressed inside and it'd work

    I assume however, that what you're saying IS true. using decompressed isos should allow for a faster loading.

    Ah, and i have no idea if this method works with OFW, since the tools to add ecdsa signature and the keys are still from 3.55 downwards, so it's possible that sony hasn't added protection measures yet.

    We could theoretically use a bought ps1 classic from the store as template and use it to copy activation settings to another eboot/iso.bin.edat combination we'd forge. the only issue would be passing the data (either with data transfer or with an ODDE)

    I've added proper tutorial and proper scripts to make almost everything automated. Only thing that has to be done by hand is to add the signature to ISO.BIN.DAT.

    I've added the instructions and some scripts to make your life easier on the mega link (above). Please consult them, if you want to make a template for psx classics. Thanks.

    Finally, from Most Hated: Here goes my compiled version of updated tools from zecoxao and ZeroTolerance.
    • ISO.BIN.DAT is automated now with the new tool. Python 2.7 is still needed.
    • Multidisc games work now but the size limit on PSX2PSP 1.4 is a little under 2GB.
    • Anything over the size limit will black screen.

    PSX Classics Tools Instructions:

    1. Install python 2.7
    2. Use pip to install ecdsa
    3. Create EBOOT.PBP from iso with PSX2PSP (Compression:0-None)
    4. Place EBOOT.PBP in workbench directory
    5. Drop EBOOT.PBP into "make_psone_classic_metadata.exe"
    6. Run sign.py (on command line for R/S value data output)
    7. Copy R and place it on the end of ISO.BIN.DAT (append, leave out first 00)
    8. Copy S and place it on the end of ISO.BIN.DAT after R (append, leave out first 00)
    9. Take note of title id
    10. Encrypt ISO.BIN.DAT: (Title id)
    11. make_npdata -e ISO.BIN.DAT ISO.BIN.EDAT 1 1 1 0 16 3 00 UP9000-SLPS01901_00-0000000000000001 5
    12. Replace EBOOT on a psx classic decrypted pkg (or use template)
    13. Replace ISO.BIN.EDAT on a psx classic decrypted pkg (or use template)
    14. Replace Pictures (or use template)
    15. Replace Param.SFO (or use template)
    16. Make PKG.
    17. Done!

    More PlayStation 3 News...

  2. #2
    Join Date
    Apr 2005

    Make_NPData PS3 EDAT / SDAT Encrypter / Decrypter by Hykem Arrives

    Following up on his previous release, PlayStation 3 developer Hykem (the Demon) has now made available Make_NPData to decrypt and encrypt your own edats and sdats with details below.

    Download: master.zip / make_npdata.exe / make_npdata.rar (Mirror) / make_npdata_v2.zip / make_npdata_v2 _xp-win8.zip / make_npdata_v2_OsX.zip / make_npdata_v3_winxp-8_tools.zip / make_npdata_v3_xp-win8.zip / make_npdata_v3_OsX.zip / make_npdata_v3_widowsXP-8.zip / make_npdata_v1.2_build_2014.05.15_Win8.zip / make_npdata_v1.2_build_2014.05.15_WinXP.zip / make_npdata.exe (VS2012 Compiled Code) / make_npdata.exe (WinXP Compiled Code) by mind make_npdata.exe v1.3.0 by Hykem / Make_NPData.cpp Win32 Source Code / compiled_code_with_my_corrections.rar (Compiled Code for Win7 and WinXP) / PS3FileSystem-VB.rar / Windows Version of Make_NPData.cpp / make_npdata.exe (v1.3.2) / ecdsa_added.rar by mind / make_npdata.exe (Latest Compile with WinXP Support) by zecoxao / make_npdata.exe (Win32 v1.3.3) / make_npdata.exe (Win32 v1.3.3 Fix) / make_npdata.exe (Win32 Fixed arg_offest) / make_npdata.exe (Win32 Bruteforce mode Crash Fix) / make_npdata.exe (Win32 v1.3.4 Fix) by mind / GIT


    Tool to encrypt/decrypt/bruteforce EDAT/SDAT files from PS3 games. Written by Hykem.

    This tool aims to provide a fully working open-source solution for EDAT/SDAT file handling. It supports EDAT/SDAT decryption and decompression, encryption (compression is not yet implemented) and dev_klic brute-forcing.


    JuanNadie (original EDAT algorithm implementation and research)

    flat_z (rap2rifkey algorithm)

    Snowydew, KDSBest and qoobz (EDAT related tools and source code)

    From nevik: Here are the remaining files for the remaining operating systems that haven't been posted yet.

    And if you are interested I have been messing around with a GUI you will need to have TCL/TK installed (activestate.com/activetcl/downloads) and just read the README in the .zip file.

    I don't have a lot of edat/sdat files sitting around to test this with, or much experience with them, but if you test the GUI and let me know if it is worth while or not that would be great. And if it is let me know what issues you are having with it and I will try and fix it.

    Update: From hykem: Thanks to catalinnc's tests and research I was able to improve a few things in make_npdata.

    I've updated the source code with new improvements for the brute-force mode (change data type and length) and fixed NPD hashes validation and forging.

    From nevik: Here are the remaining files for the remaining operating systems that haven't been posted yet.

    And if you are interested I have been messing around with a GUI you will need to have TCL/TK installed ActiveTcl Downloads - Tcl for Windows, Linux and Mac / ActiveState and just read the README in the .zip file.

    I don't have a lot of edat/sdat files sitting around to test this with, or much experience with them, but if you test the GUI and let me know if it is worth while or not that would be great. And if it is let me know what issues you are having with it and I will try and fix it.

    Here are the win exe with an updated GUI and the OsX with updated GUI:

    With all versions I updated it so it can be run from any directory no longer needs to be in your home directory. Hope this helps enjoy!

    Edit: Hykem thanks for your work on this it is good to see people still working on things and sharing their work! Here are the builds of the tools and of the updated GUI.

    I have fixed getting the contentID in windows yet there is still the cygwin error if you are using the make_npdata.exe that I built with cygwin, sorry I will work on that, yet a pop up window will come up when getting contentID and it will be a readself of the EBOOT.BIN file and just scroll down and copy the contentID from the readself and paste into the encryption entry area.

    If someone wants to post a build for windows 8 that was made with Visual Studio then the error with my GUI goes away! Just copy the make_npdata.exe into the tools folder.

    All builds of the gui can be run from any directory windows or OsX. When I have time I will post a linux build and a GUI for it.

    Thanks to all that have been involved in making this tool better and better! Links:

    Once again thanks to those who contribute to this scene and share the great work they do!

    First off Windows is not my Os of choice so there were more errors in that GUI than in any of the other builds. So I took the time to fix all of them and here is the final version 3 product.

    The make_npdata was compiled with an older version of VS that I took the time to dig up and install so it works on all versions of Windows although I only have XP and 8 installed at the moment but should work on all versions.

    Download: make_npdata_v3_widowsXP-8.zip

    I fixed all the cygwin errors so that annoying mess is gone. Catalinnc if you would like to test it and let me know how it goes that would be great. Enjoy!

    Update #2: I am glad it works! But I found a bug that was making the encryption process not correct, so I have fixed it, and compiled a version on XP with VS2005 because I think there was a problem with it running on win7 so I hope this takes care of the problem!

    Download: make_npdata_v1.2_build_2014.05.15_Win8.zip / make_npdata_v1.2_build_2014.05.15_WinXP.zip

    Sorry about the bug in the GUI when compressing the file would finish but finish wrong so if you are not sure what version you have just please download again to be safe!

    Update #3: From Hykem: I've just pushed version 1.3.0 of make_npdata. I've extended mind's patch to the Linux C version so both can now handle files over 4GB. The metadata section hashing is now fixed as well and the EDAT/SDAT version naming has been fixed as suggested by several users.

    The chain of arguments for the encryption mode has been changed according to mind's suggestion and SDAT will only need arguments up to "format". Unicode text has been added to bruteforce mode after catalinnc found a game using it (so far the only one). Thank you all so much for the support!

    Update #4: From mind: make_npdata.cpp source code for win32: pastie.org/private/rt9gaykubunxracvuobcia

    [Register or Login to view code]

    Hope this update will totally fix issues with handling of the large files.

    Change log:

    1) fixed issues with encryption of large files
    2) fixed issues with decryption of compressed large files

    Compiled code for Win7 and WinXP (linked above) requires Visual C++ Redistributable Packages for Visual Studio 2013: http://www.microsoft.com/en-us/downl....aspx?id=40784

    The above files converted to Visual Basic (linked above), for those that prefer to work in it. Let me know if there are any bugs, I ran it through an automated tool and fixed the obvious ones. I take no credit for these files beyond converting to VB.

    Hykem: regarding v.1 compressed edats related: http://pastie.org/private/sxkhuey0nkdve5xtd4ugg
    • encryption & decryption fix
    • windows version of make_npdata.cpp

    metadata is not xored into v.1 compressed edat files!

    Finally, from Hykem: Oops, sorry mind, looks like we figured out the same thing at the same time. I've added that in the new version of make_npdata.

    Update #5: I've just pushed version 1.3.1 with mind's patch (extended to Linux version as well) and with a few minor changes. The decryption of version 1 EDAT/SDAT files is fixed now (for the reason mind explained above) and the encryption of DEBUG data is also fixed now.

    I've added a few checks so the program will halt if an invalid devklic is supplied. If you don't have a devklic just set this field to 0, since empty devklics are allowed and safely ignored. This way, make_npdata can also be used as a devklic validator.

    I've also added a special case for RAP files. If you supply a file named rifkey.bin in the RAP field, the data will be read as a plain RIF key, so the RAP to RIF conversion won't be applied. This is useful if you only have access to the RIF key and not it's RAP equivalent. Thanks!

    Update #6: I've just pushed make_npdata version 1.3.2. The DEBUG data handling should now be fixed both for encryption and decryption modes.

    I've also changed the arguments' order for the encryption mode and added an option to switch between debug data and finalized data. It should now be closer to the process mind was describing above.

    All block sizes are now supported in encryption and decryption modes and the metadata encryption for version 1 has been fixed as well.

    I'm now working towards implementing the ECDSA validation for retail files. Thank you all for testing!

    Update #7: From mind: New changes added the latest release for win32

    1) Critical fix: fixed writing hmac 0x14 to the metadata for edats with flag 0x20 (file flags 3C)
    2) fixed my mistake with metadata signature check for edats with flag 0x20 (file flags 3C)
    3) fixed hmac and cmac compare functions by adding input parameter "hash_size" (now hmac & cmac compare functions supports hash sizes 0x10 and 0x14).

    Source code: Windows - src.rar
    Compiled code for win32: make_npdata.exe

    Pull request added to Hykem repo. Just another fix for win32 version. Fixed offset calculation for encryption process of large files (4gb+) Pull request placed to Hykem 's github repo.

    Compiled code for win32: make_npdata.exe

    Just another update for win32 version.

    1) Critical fix: fixed batch mode.
    2) Improved ecdsa checks for zeroed signatures.
    3) Fixed program crash when rap\rifkey.bin file is not placed.
    4) If block hash validation failed - program will be stopped.

    Pull request updated Hykem 's github repo.

    Compiled code for win32: make_npdata.exe

    From johnybb: I can confirm info about missing file rap/rifkey working again, batch mode working too:

    [Register or Login to view code]

    From mind also comes a Win32 v1.3.3 build compiled code: make_npdata.exe (Win32 v1.3.3) / make_npdata.exe (Win32 v1.3.3 Fix)

    Shooting bugs in version for Win32.

    1) fixed crashes when input file is missed (decryption & encryption).
    2) removed creation empty file if operation is unsuccesful.
    3) separated info about rifkey & rap when this file is missed.
    4) you can use rifkey.bin from any location (another one batch mode fix).
    5) clean up.

    Pull request was added to github repo.

    Download: make_npdata.exe (Win32 Fixed arg_offest) / make_npdata.exe (Win32 Bruteforce mode Crash Fix)

    From Hykem: I just pushed a new version (1.3.4) that features mind's patches ported to Linux alongside a few minor fixes. I've also re-enabled network licensed EDAT file decryption, since the process is identical to RAP/RIF file decryption (encryption is still not supported).

    I'll be adding the information mode next along with the IDPS + ACT.DAT + RIF method. Thank you all for the support!

    From mind: v.1.3.4 compiled code for Win32:

    Download: make_npdata.exe (Win32 v1.3.4 Fix)

    More PlayStation 3 News...

  3. #3
    nam3l3ss1 Guest
    Does anybody still have the precompiled rar? I cannot figure out how to compile this myself.

  4. #4
    dsteff Guest
    can anybody give me a link teaching how to compile this?

  5. #5
    deathblade200 Guest
    anywhere to get this precompiled?

  6. #6
    Join Date
    Apr 2005
    Quote Originally Posted by deathblade200 View Post
    anywhere to get this precompiled?
    Yes, the updated version is precompiled.. I added a mirror to it in the main article as well.

  7. #7
    wibble1 Guest
    I'm seriously interested in giving this a shot.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Log in