PS3 non NPDRM to NPDRM .sprx resigning

I'm so interested to do this method for Eternal Sonata you said. I have tried all the things you could imagine, but only got white screen. So, can you explain me how to do it properly the way you did?
Converting Eternal Sonata to NPDRM format is as simple as tricky. This game is folder related. You have to decode the original EBOOT.BIN, then in HEX find all path strings
/dev_bdvd/PS3_GAME/USRDIR
and change it to
/dev_hdd0/game/ETS/USRDIR
Then come up with CONTENT ID for the game by yourself, and resign EBOOT using free klic and parameters from the original file.
scetool.exe --verbose --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=01 --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=NPDRM --self-app-version=0001000000000000 --self-fw-version=0002004200000000 --self-add-shdrs=TRUE --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 --np-license-type=FREE --np-app-type=EXEC --np-content-id=UP0105-BLUS30161_00-ETERNALSONATA001 --np-klicensee=72F990788F9CFF745725F08E4C128387 --np-real-fname=EBOOT.BIN --np-add-sig=FALSE --encrypt EBOOT.ELF EBOOT.BIN
Then pack the game using psn_package_npdrm specifying install folder as ETS
ContentID = UP0105-BLUS30161_00-ETERNALSONATA001
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory = ETS
PackageVersion = 01.00
 
Last edited:
Converting Eternal Sonata to NPDRM format is as simple as tricky. This game is folder related. You have to decode the original EBOOT.BIN, then in HEX find all path strings
/dev_bdvd/PS3_GAME/USRDIR
and change it to
/dev_hdd0/game/ETS/USRDIR
Then come up with CONTENT ID for the game by yourself, and resign EBOOT using free klic and parameters from the original file.
scetool.exe --verbose --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=01 --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=NPDRM --self-app-version=0001000000000000 --self-fw-version=0002004200000000 --self-add-shdrs=TRUE --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 --np-app-type=EXEC --np-content-id=UP0105-BLUS30161_00-ETERNALSONATA001 --np-klicensee=72F990788F9CFF745725F08E4C128387 --np-real-fname=EBOOT.BIN --np-add-sig=FALSE --encrypt EBOOT.ELF EBOOT.BIN
Then pack the game using psn_package_npdrm specifying install folder as ETS
ContentID = UP0105-BLUS30161_00-ETERNALSONATA001
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory = ETS
PackageVersion = 01.00

Thank you for your kind answer. I tried to resign EBOOT using command you provided. When I tried for first time I got the error: "Invalid license type". I found on google and used the command "--np-license-type FREE ", but got another error: Invalid application type. I tried to change "--np-app-type=EXEC" without sucess. Lend me a hand? Thank you.
 
Thank you for your kind answer. I tried to resign EBOOT using command you provided. When I tried for first time I got the error: "Invalid license type". I found on google and used the command "--np-license-type FREE ", but got another error: Invalid application type. I tried to change "--np-app-type=EXEC" without sucess. Lend me a hand? Thank you.
Sorry, I have inserted "--np-license-type FREE ", and some weird text came too (idk why), and that was the cause of error. I sucessful generate EBOOT.bin and package. I'm installing now. I'll give feedback later. Thank you.
 
Sorry, I forgot to mention license type in command line. I'll fix the previous post. Glad you could make it by yourself.
Sorry to bother you, but another game has my interest kingdom hearts 1.5 or the 2.5. Do you know if this game can be converted too? Do you remember another games you sucessful converted using this mehod? Thank you so much.
 
Sorry to bother you, but another game has my interest kingdom hearts 1.5 or the 2.5. Do you know if this game can be converted too? Do you remember another games you sucessful converted using this mehod? Thank you so much.
This game contain LICDIR which means LIC.EDAT is need to be generated from LIC.DAT (after that, LIC.DAT is no longer needed)
Next, all non SCE files in USRDIR and its subdirs need to be encrypted to SDAT format. Non SCE means that file dosen't contain SCE header in HEX.
*.MSELF files here looks like a containers, that contain SDAT encrypted data. Try to leave em as is.
According to decrypted EBOOT, this game is folder related as well, so here is the same procedure as with Eternal Sonata - come up with game folder name by yourself, (KH2 maybe) and content ID (or use one from spoiler).
Next, some games are related to category set in PARAM.SFO (DG\HG) try to swith it if game dosen't start.
To pack a game with PARAM.SFO game category set to DG, use -n key.
---------
If game still dosen't work, try to encrypt MSELF files to SDAT as well.
make_npdata -v -e LIC.DAT LIC.EDAT 1 1 3 0 16 3 00 UP0100-BLUS31460_00-KINGDOMHEARTS025 1
Encrypting to SDAT file with the same name a little tricky. Before encryption you need to change name of the source file somehow f.e.: index.dat -> index.tad then in command line use it's original name for the destinational file.
make_npdata -v -e index.tad index.dat 0 1 4 0 16
 
Last edited:
This game contain LICDIR which means LIC.EDAT is need to be generated from LIC.DAT (after that, LIC.DAT is no longer needed)
Next, all non SCE files in USRDIR and its subdirs need to be encrypted to SDAT format. Non SCE means that file dosen't contain SCE header in HEX.
*.MSELF files here looks like a containers, that contain SDAT encrypted data. Try to leave em as is.
According to decrypted EBOOT, this game is folder related as well, so here is the same procedure as with Eternal Sonata - come up with game folder name by yourself, (KH2 maybe) and content ID (or use one from spoiler).
Next, some games are related to category set in PARAM.SFO (DG\HG) try to swith it if game dosen't start.
To pack a game with PARAM.SFO game category set to DG, use -n key.
---------
If game still dosen't work, try to encrypt MSELF files to SDAT as well.
make_npdata -v -e LIC.DAT LIC.EDAT 1 1 3 0 16 3 00 UP0100-BLUS31460_00-KINGDOMHEARTS025 1
Encrypting to SDAT file with the same name a little tricky. Before encryption you need to change name of the source file somehow f.e.: index.dat -> index.tad then in command line use it's original name for the destinational file.
make_npdata -v -e index.tad index.dat 0 1 4 0 16
Thank you so much, it really helps a lot. I will give it i try and leave the feedback here. It could helps other people. By the way, how do I get content ID from GAMES Folder?
 
Last edited:
What do you mean by that?

I was meaning this code "UP0100-BLUS31460_00-KINGDOMHEARTS025". How do you can get it?

Anyway, I made the conversion without *.mself encrypt, and the game runs fine, but when I choose the game I get the black screen (the 3rd option with movie scenes works properly, but two games no). I thought maybe it was the *.mself files. I encrypted these files, and got the black screen and no menu shows. Even only one *.mself file encrypted result in blackscreen.

The other option maybe it's the encryption of *.pam files, but idk much about it.
 
I was meaning this code "UP0100-BLUS31460_00-KINGDOMHEARTS025". How do you can get it?
From my head. Disc games doesn't have a content ID, but for NPDRM it is necessary. So you're just have to create it by yourself. In such conversion it's doesn't matter what's in it. It just have to match the pattern XXYYYY-AAAABBBBB_CC-DDDDDDDDDDDDDDDD
The other option maybe it's the encryption of *.pam files, but idk much about it.
The rule is: if the game have LICDIR, you have to encrypt all files in USRDIR and it's subdirs to SDAT format except SCE ones, and files that already encrypted to SDAT, apparently *.MSELF.
HEX editor here is very useful tool.
*.PAM files are not SCE nor SDAT encrypted, so you're have to encrypt em too.
 
From my head. Disc games doesn't have a content ID, but for NPDRM it is necessary. So you're just have to create it by yourself. In such conversion it's doesn't matter what's in it. It just have to match the pattern XXYYYY-AAAABBBBB_CC-DDDDDDDDDDDDDDDD

The rule is: if the game have LICDIR, you have to encrypt all files in USRDIR and it's subdirs to SDAT format except SCE ones, and files that already encrypted to SDAT, apparently *.MSELF.
HEX editor here is very useful tool.
*.PAM files are not SCE nor SDAT encrypted, so you're have to encrypt em too.

I see. I thought these dont require encrypt cause are video files.So, I will encrypt all *.PAM files to make a try.Thank you for your support.
 
I encrypted the *.pam files, and sadly got blackscreen again. Found the cause for this. In USRDIR there's two other SELF files (SCE ones) that read *.mself files to both games. As a last try, I decrypted them in ELF. My surprise, these files reads on bdvd path too. I edited changing bdvd to hdd0 like I made for EBOOT.bin, and encrypted using scetool.exe, but when chose any of games, now returns to XMB... IDK, I think its related to sign problems...
 
I encrypted the *.pam files, and sadly got blackscreen again. Found the cause for this. In USRDIR there's two other SELF files (SCE ones) that read *.mself files to both games. As a last try, I decrypted them in ELF. My surprise, these files reads on bdvd path too. I edited changing bdvd to hdd0 like I made for EBOOT.bin, and encrypted using scetool.exe, but when chose any of games, now returns to XMB... IDK, I think its related to sign problems...

Found the solution: The *.PAM files can't be encrypted and the other two selfs (kingdom.self e recom.self) need to be decrypted, path changed to hdd0, and encrypted as "NON NPDRM" (I used TrueAncestor). Working on HEN. :)
 
Found the solution: The *.PAM files can't be encrypted and the other two selfs (kingdom.self e recom.self) need to be decrypted, path changed to hdd0, and encrypted as "NON NPDRM" (I used TrueAncestor). Working on HEN. :)
That's nice. Good point that SELF could be folder related as well. I've just made a similar conversion of KINGDOM HEARTS HD 2.5 ReMIX. So I can confirm that this conversion is possible. Obviously the rule about LICDIR and SDAT I've mentioned above is not quite solid - some games require SDAT encryption, some not.
For KH HD 2.5 ReMIX *.dat and *.mself files should be left as is, only path change in EBOOT and SELF's is required.
scetool.exe --verbose --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=1C --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=APP --self-app-version=0001000000000000 --self-fw-version=0004006000000000 --self-add-shdrs=TRUE --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 --encrypt BBS.elf BBS.self
 
Last edited:
That's nice. Good point that SELF could be folder related as well. I've just made a similar conversion of KINGDOM HEARTS HD 2.5 ReMIX. So I can confirm that this conversion is possible. Obviously the rule about LICDIR and SDAT I've mentioned above is not quite solid - some games require SDAT encryption, some not.
For KH HD 2.5 ReMIX *.dat and *.mself files should be left as is, only path change in EBOOT and SELF's is required.
scetool.exe --verbose --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=1C --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=APP --self-app-version=0001000000000000 --self-fw-version=0004006000000000 --self-add-shdrs=TRUE --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 --encrypt BBS.elf BBS.self
None of this would be possible without your help. Thank you so much!
 
Converting Eternal Sonata to NPDRM format is as simple as tricky. This game is folder related. You have to decode the original EBOOT.BIN, then in HEX find all path strings
/dev_bdvd/PS3_GAME/USRDIR
and change it to
/dev_hdd0/game/ETS/USRDIR
Then come up with CONTENT ID for the game by yourself, and resign EBOOT using free klic and parameters from the original file.
scetool.exe --verbose --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=01 --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=NPDRM --self-app-version=0001000000000000 --self-fw-version=0002004200000000 --self-add-shdrs=TRUE --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 --np-license-type=FREE --np-app-type=EXEC --np-content-id=UP0105-BLUS30161_00-ETERNALSONATA001 --np-klicensee=72F990788F9CFF745725F08E4C128387 --np-real-fname=EBOOT.BIN --np-add-sig=FALSE --encrypt EBOOT.ELF EBOOT.BIN
Then pack the game using psn_package_npdrm specifying install folder as ETS
ContentID = UP0105-BLUS30161_00-ETERNALSONATA001
Klicensee = 0x00000000000000000000000000000000
DRMType = Free
ContentType = GameExec
InstallDirectory = ETS
PackageVersion = 01.00
How were you able to generate the package? psn_package_npdrm complains illegal package, InstallDirectory Needs to have TitleID be the same.
 
How were you able to generate the package? psn_package_npdrm complains illegal package, InstallDirectory Needs to have TitleID be the same.

This error results from the difference between game folder install name and TitleID in PARAM.SFO. To quick fix it, you can change the TitleID using game folder name in the PARAM.SFO. And done! :)
 
This error results from the difference between game folder install name and TitleID in PARAM.SFO. To quick fix it, you can change the TitleID using game folder name in the PARAM.SFO. And done! :)
So I found a way around this. Using psn_package_npdrm2, it does not care for mismatch between installdirectory and param.sfo titleID, which is nice!

Next question that hasn't been answered that I can find: Why is it we cannot modify the length of the eboot when replacing dev_bdvd reference? I would like to convert the disc games to proper NPDRM format instal like dev_hdd0/game/NPUAxxxxx/USRDIR, but we are limited to dev_hdd0/game/XXX/USRDIR. Is there a way around this limitation?
 
So I found a way around this. Using psn_package_npdrm2, it does not care for mismatch between installdirectory and param.sfo titleID, which is nice!

Next question that hasn't been answered that I can find: Why is it we cannot modify the length of the eboot when replacing dev_bdvd reference? I would like to convert the disc games to proper NPDRM format instal like dev_hdd0/game/NPUAxxxxx/USRDIR, but we are limited to dev_hdd0/game/XXX/USRDIR. Is there a way around this limitation?

Glad that you found a way. About the other question, I really don't know the answer. I really would like to know it too. Are you interested in it to avoid the space from install data? I tried to avoid it, but without sucess. When I use the game folder as same where the game install, I got an error, probably cause rewrite problem on the files used.
 

Similar threads

Back
Top