Resign game spu selfs with reself

Rip Cord

Administrator
Staff member
Developer
Reself is for resigning spu game selfs for playing a game on lower firmware.
This type of self was not resigned properly with other tools, details here:

http://techbliss.org/posts/1321/

usage: reself game.self resigned.self 355

where 355 is the firmware version for the resigned self or put the firmware version you want to use.

For disc game spu self or npdrm spu selfs type 3 (free) only
Only for spu self because this kind of self does not need to be edited, i.e., no sys_proc_param

It uses the same keys files as fail overflow ps3 tools.
It will look for keys in userprofile\ps3keys
on xp: c:\documents and settings\Rip Cord\ps3keys
There should be a key called free_klicensee-key in the keys folder.
If your self file doesn't use the free klicensee, just back up the free one and use a hex editor to make a key file with the klic for the self and name it free_klicensee-key.

Scans key directory and creates a log file, keys_get.log, of incomplete key sets.

Reself is an adaptation of self_rebuilder. It was compiled with mingw, zip includes the 2 msys dll's it needs, in case anyone doesn't have those; place them in same folder as reself.
This is a beta version since I don't have that type game to test. I'd appreciate feedback.
EDIT: uploaded minor fix, details below in post #10
 

Attachments

  • Reself.zip
    450.5 KB · Views: 22

Storm Shadow

Administrator
Staff member
Developer
Ida Pro Expert
Elite Cracker
thank you, hope there are some that can help you testing this.
 

Rip Cord

Administrator
Staff member
Developer
got a request for the source code.
just few simple changes to self_rebuilder.c and tools.c
changed name to reself to avoid confusion and also for mangling someone else's code.
also needs npdrm-v3 source.
this seems to be only place hosting the original source:
http://www.logic-sunrise.com/forums/files/file/4371-ps3tools-npdrm-v3/
click on big green button labeled Telecharger
EDIT: or download ps3tools_v3_npdrm original source from the link provided by nevik in the next post, thanks, nevik
re-uploaded the source with fix mentioned in post #10, below
 

Attachments

  • reself_source.zip
    13 KB · Views: 9

nevik

New member
Rip Cord thanks for the source here is the compiled version for OsX and a condensed version of the ps3tools with just the reself and the self_rebuilder, included self_rebuilder cause you said reself was based off it, and an altered make file so all can make it with ease. I also noticed in another forum you linked to an odd source for the ps3tools_v3_npdrm those are also still on the ps3dev wiki at gitorious (git://gitorious.ps3dev.net/ps3tools/ps3tools.git) if you ever need.

reself_ps3tools.zip is the source with the altered make file and the reself_ps3tools_osx.zip is the compiled for OsX. Thanks again for your effort in the scene and I will look for some games to test this on. If it is similar to self_rebuilder I am wondering if it could have application in the ps3mfw builder. I remember a while ago a member looking for the self_rebuilder to see if it could be used instead of scetool which I think is what the newer versions of ps3mfw builder uses.

I had gotten warnings when I compiled the first one and I took a little more time to make this one correctly without any errors so please download again if you are not sure if you have the correct one or not. Sorry about this.

fixed the source now it builds without any warnings.

thanks you Rip Cord for your work!

Mac OsX version and the ps3tools_reself_source both updated 6-11-2014 after a fix to the source was made. The windows version in this thread has also been updated.
 

Attachments

  • Reself_OsX.zip
    251.6 KB · Views: 5
  • ps3tools_reself_source_fix_6-11-14.zip
    128.7 KB · Views: 12

Rip Cord

Administrator
Staff member
Developer
Lol, I thought I had seen the tools on gitorious, but I searched for "npdrm-v3". :p Thank you.

There are some minor differences in header structure for firmware files not accounted for in reself, but the idea might be useful if there are firmware files that need to be resigned only and not edited in the program sections.

Thanks for uploading your work.
 

nevik

New member
Hi i have made a little gui for reself and will upload a windows version later today. I found Red Dead has a few .self files so I began to test them I still have yet to see if they play but the tool report back all positive things.


And over at ps3hax some progress has been made on the wiiU if you are interested I am sure they could use some help from someone of your talents.

thanks and have a good day!
 

nevik

New member
Sorry it took a minute to get this posted just was busy over the weekend. Here is the GUI it is really simple to use just make sure you have tcl/tk installed found here: http://www.activestate.com/activetcl/downloads
choose the correct version for your OS. Then just extract the .zip file to any directory and make sure you have the ps3keys in your home folder double click reself.tcl and that's it.

For OsX Tcl/Tk should already be a Framework that is installed but if you are having any issues download and install it from the same link found above. Have the ps3keys in a folder in your home directory labeled .ps3 just extract the .zip and double click on the app and you are good to go.

I was having issues uploading the .7z file I created on windows to this site so I compressed on OsX before I uploaded it, just delete the annoying _Mac file that always show up when things are extracted on windows but compressed on OsX.


**Updated windows and OsX GUIs on 6-11-2014 with the fix posted in the #1 post.
 

Attachments

  • Reself_Windows_GUI.zip
    470.4 KB · Views: 16
  • Reself_OsX.zip
    251.6 KB · Views: 4

Rip Cord

Administrator
Staff member
Developer
I found a small bug while testing reself with some other files.
reself.c line 120: {9, "Key Revision 09[3.55]"},
"9" should be "0A": {0x0A, "Key Revision 0A[3.55]"},

this is the table for converting sdk_type id to name and is only used for a message that is output to the console window, seen here in the self header information for the input self:

SELF header information
auth id: 1010000001000003
vendor id: 0000000001000002
app version: 1.0.0
SDK type: unknown
app type: NP-DRM application

should be:
SELF header information
auth id: 1010000001000003
vendor id: 0000000001000002
app version: 1.0.0
SDK type: Key Revision 0A[3.55]
app type: NP-DRM application

It's not used for decrypting the self or building the resigned self.
EDIT: fixed revision attached to first post
 

nevik

New member
I found a small bug while testing reself with some other files.
reself.c line 120: {9, "Key Revision 09[3.55]"},
"9" should be "0A": {0x0A, "Key Revision 0A[3.55]"},

this is the table for converting sdk_type id to name and is only used for a message that is output to the console window, seen here in the self header information for the input self:

SELF header information
auth id: 1010000001000003
vendor id: 0000000001000002
app version: 1.0.0
SDK type: unknown
app type: NP-DRM application

should be:
SELF header information
auth id: 1010000001000003
vendor id: 0000000001000002
app version: 1.0.0
SDK type: Key Revision 0A[3.55]
app type: NP-DRM application

It's not used for decrypting the self or building the resigned self.
EDIT: fixed revision attached to first post



Could you please post the source fix as well. I would like to update all the versions and GUI's. I will use the fix you posted in the first post and update the windows GUI version now. Thanks again.
 

Rip Cord

Administrator
Staff member
Developer
posted the fixed source file in post #3, up there
Thanks for offering to update your work; sorry you have to <fix> it.
If you notice any other discrepancies in key revision vs firmware version, I would appreciate a heads up. I don't really keep up with the latest and greatest since I don't have any games that require a higher firmware.
 

nevik

New member
Rip Cord thanks for the source update, sorry if it was there before and I just missed it. It is no problem for me to do the update of the GUI it is really simple, that is part of the reason why I choose to use TCL/TK to make them, it makes updates really simple. I do this for a couple of other tools as well. I have fun making the tools easier to use for those without the command line experience to use them.

thanks again and I will keep my eye out for any other key revision vs firmware version issues.
 

Rip Cord

Administrator
Staff member
Developer
Game sprx also don't have sys_proc_param so they could probably be resigned with reself.
 

Rip Cord

Administrator
Staff member
Developer
someone mentioned a game with 1000 sprx
here's a modified version called resprx
usage: resprx <firmware version> <key revision> input.sprx
resign one sprx: resprx 355 0A input.sprx
output sprx will be saved in subfolder /output with the same name as the input sprx
to resign all the sprx files in the current directory: resprx 355 0A *.sprx
there must be a folder called "output" in the current directory for the resigned sprx (no renaming of the sprx of course)
place your key files in a subfolder named "ps3keys"
file name format for keys: app type - key type - key revision; app-key-0004, app-iv-0004,...

for disc game sprx, this is a beta release.

update: 2nd beta version compiled with visual studio, doesn't need mingw dll's
 

Attachments

  • resprx.zip
    51.4 KB · Views: 7
Last edited by a moderator:

Rip Cord

Administrator
Staff member
Developer
Tested a game with one sprx file resigned with resprx. Works ok.

details:
Backed up game. edited param.sfo. fixed eboot. resigned sprx file with resprx. all for 3.41. replaced originals. started game. game data installed. game played fine. tested gameplay past autosave point.
 

Rip Cord

Administrator
Staff member
Developer
thanks. hope someone finds it useful. at least it was interesting, and I enjoyed playing the game, haven't played much lately.
 
Top