Want to Join Us ?

you'll be able to discuss, share and send private messages.

Eboot resigner

Discussion in 'Homebrew' started by Rip Cord, Sep 11, 2014.

Share This Page

  1. Rip Cord

    Administrator Staff Member Admin Developer

    a resigner for disc game eboots. all the separate re-encryptor tools from the other thread rolled into one exe.

    Usage:
    resign_eboot <input.self> <output.self> <key_revision> <firmware_version> <sdk_version> [index]

    key revision for resigned self, 04, 0A,...
    firmware version for resigned self, 341, 355,...
    sdk version in sys_proc_param for resigned self, 34, 35,...

    optional parameter: index of the section with sdk version
    possible values 0-index number of last section, default is section 0
    uses key files like fail0verflow tools
    put your keys files in a subfolder named "ps3keys"
    file name format for keys: file type-key type-key revision, app-key-0004, app-iv-004,...

    resign for 3.41:
    resign_eboot EBOOT.BIN EBOOT341.BIN 04 341 34 0
    or resign_eboot EBOOT.BIN EBOOT341.BIN 04 341 34

    resign for 3.55:
    resign_eboot EBOOT.BIN EBOOT355.BIN 0A 355 35 0
    or resign_eboot EBOOT.BIN EBOOT355.BIN 0A 355 35

    uses the crypto routines of failoverflow tools. thanks to failoverflow.

    tested with 4 games by backing up disc to hdd, use mM to copy eboots to usb, resign with resign_eboot, copy back to hdd, play game

    this is a beta

    updated to beta version 0.2.3
    someone reported that a few games have 2 places with sdk version. thank you.
    now searches for multiple occurrances of sdk version.
     

    Attached Files:

    Last edited: Oct 7, 2014
  2. Rip Cord

    Administrator Staff Member Admin Developer

    Some very few eboots are not resigned properly with publicly available tools.

    From my own tests using eboots from official game discs:
    Bulletstorm eboot size is 98.8mb
    resigned with scetool size is 28.5mb (or 11.0 mb if compressed), eboot doesn't work on ps3.
    resigned with resign_eboot size is exactly same as original and works.

    Homefront eboot is 115mb
    resigned with scetool size is 31.4mb (or 11.4mb if compressed), also won't work.
    resigned with resign_eboot size is exactly same as original and works.

    Differences between orginal eboot and eboot resigned with resign_eboot:

    eboot (with uncompressed section)
    self header:
    1 byte of key revision -- this has been edited by the app
    2 bytes of firmware version-- this has also been edited
    0x40 bytes, the meta info keys-- these are encrypted with key files for different firmware version so of course different, but after unencrypted on ps3 (or pc) they are the same meta info keys as original
    20 bytes, the sha1 hmac of the edited section- an edited section will have a different sha1 hmac the correct value for the edited section must be entered in the table to pass verification
    41 bytes, the header signature--any time the header is edited the signature must be re-calculated to match

    edited section:
    1 byte, the sdk version--this has been edited by the app

    eboot (with compressed section)
    self header same as above plus:
    1 byte of section size in table, because of the nature of compression algorithms the size of the edited section will change when re compressed, from my tests size changes one byte only, the app will edit this value in the table to reflect the change in size
    1 byte of section size in 2nd table, same reason

    edited section same as above plus:
    variable number of bytes different at the location of the sdk version, differs depending on the edited values but it was always less than 0x30 bytes (in a section of 8mb or more), also the section size increased by 1 byte, because we use the same compression algorithm as original games, all the other bytes are the same even compressed, uncompressed all the bytes will be the same except for the 1 byte changed for the sdk version
     
    Last edited: Sep 18, 2014
    Gamebreaker and storm shadow like this.
  3. Rip Cord

    Administrator Staff Member Admin Developer

    resign_eboot was intended for resigning original game eboots. Since it uses the information in the self header for the resigned self, using it for eboots that have already been resigned, it will probably retain any inconsistancies in the header (including watermarks) that were added by any previous tool. Here's a tool to display basic self information and to check for common watermarks (up to key revision 1F for watermarks).

    selfinfo displays:
    key revision
    firmware version
    type (exe or sprx)
    processor type (ppc or spu)
    if self type is not supported.
    common watermarks if found
    usage: selfinfo input.self
     

    Attached Files:

    Last edited: Oct 11, 2014
    storm shadow likes this.
  4. Rip Cord

    Administrator Staff Member Admin Developer

    update to resign_eboot in the first post
    someone reported that a few games have 2 places with sdk version. thank you.
    now searches for multiple occurrances of sdk version.
     
    storm shadow likes this.
  5. diablothebest

    Member

    Its superbest software! Please make best and best!
    Need add change SDK version for self.s...
     
    Last edited: Nov 11, 2014
    Rip Cord and storm shadow like this.
  6. Rip Cord

    Administrator Staff Member Admin Developer

    use selfinfo to find out what type of self it is before resigning.
    if it says ppc then resign it with resign_eboot; it has the option for sdk version.
    if it says spu, then it is a spu self and should be resigned with respu. Spu selfs do not have sdk version (none I've seen). Also, sprx do not have sdk version. If it's a regular self, it can be resigned with resign_eboot.

    please note: some self have a name like spujobs.self or whatever with spu in the name. the name doesn't matter; it may still be a ppc self.
    the cell_be processor of the ps3 has 2 types of processor element, ppc and spu.
     
    Last edited: Nov 11, 2014
    storm shadow likes this.
  7. diablothebest

    Member

    Very good info! I test it on the new games and post my progress here) Good job!
     
    Rip Cord likes this.
  8. Rip Cord

    Administrator Staff Member Admin Developer

    update to resprx:
    0.2.1 When using wildcards like " *.sprx" to process multiple files, for input file read error, zero length input file, or failure to decrypt a self the processing queue is not terminated. (Key file read error will still terminate processing.)
     

    Attached Files:

    Last edited: Apr 20, 2015
    storm shadow likes this.
  9. jo3tomas

    Well-Known Member Developer

    thanks for tool

    in resprx you could add output file or information that file is saved to "output" folder, because if folder "output" don't exist we get error

    failed to create ./output/UplayBrowser.ppu.self

    you could add for self and sprx change SDK version, sam as in EBOOT because many self/sprx need to lower sys process parameter

    regards
     
  10. Rip Cord

    Administrator Staff Member Admin Developer

    C:\resign_disc_game_update_1>resprx
    resprx.exe version 0.2.0
    Usage: resprx <firmware version> <key revision> <input.sprx>
    firmware version for resigned sprx: 315, 341, 355,...
    key revision for resigned sprx: 0001,0004,000A,...
    key files should be in subdirectory "ps3keys"
    key file name format: app-key-000A, app-iv-000A, app-ctype-000A
    Press any key to continue . . .

    The output folder was included in the resign_disc_game_update_1.zip, but I forgot to include that in the usage instructions output to the console. It was in post #9, but that doesn't really count. thanks for the heads up.
    Are you using resprx to resign UplayBrowser.ppu.self?

    If it's a ppu (ppc) self (shows in output of selfinfo or properties button in the gui), use resign_eboot.exe.
    yes, this type of self do have sys_proc_param.

    All the spu self and sprx that I've seen don't have sys_proc_param. In the toolchain there isn't an option to include sys_process_param when prx are created, but this may be out of date. Did you try using the eboot resigner for the sprx and self? I will take a look at it. Thanks for the suggestions.
     
    jo3tomas likes this.
  11. jo3tomas

    Well-Known Member Developer

    hi

    earlier i checked only respu and resprx but both don't change sys_proc_param.

    ---

    ok, i checked resign_eboot and... seems to working with selfs too.

    tested 5 selfs and 1 sprx and all working (sys_proc_param changed to lower):

    with sys_proc_param:

    UplayBrowser.ppu.self - far cry 4
    default.self and default_mp.self - cod advanced warfare
    UplayBrowser.ppu.self - ac rogue
    EMAIN.SELF - gran turismo 6

    without sys_proc_param:

    Engine.BuildInfo_Ps3_retail.sprx - nfs rivals

    i don't check if selfs working on ps3, but on pc using scetool i can decrypt all files without problems

    regards
     
    Rip Cord likes this.
  12. jo3tomas

    Well-Known Member Developer

    Any chance to add to resign_eboot support NPDRM files?
     
    Rip Cord likes this.
  13. Rip Cord

    Administrator Staff Member Admin Developer

    thanks for the information.

    C:>\test\ selfinfo audiof.self
    key revision: 0019
    firmware version: 411
    type: exe
    processor type: spu resign_eboot won't resign correctly spu self.
    ---------------------------------------------

    C:>\test\selfinfo default_mp.self
    key revision: 001C
    firmware version: 465
    type: exe
    processor type: ppc resign_eboot will resign this type ok.

    Someone on a gaming forum reported that he resigned cod with these tools, and it plays fine using cobre on official firmware 4.5X (can't remember if it was 4.50, 4.53 or 4.55). Also, tears to tierra and couple of others.

    Thanks for all your feedback and your questions too. I posted apps for npdrm selfs in the other thread, but each decryption step is done by different app. I will integrate them like with the retail self tools as soon as I have a chance.
     
    jo3tomas and storm shadow like this.
  14. jo3tomas

    Well-Known Member Developer

    hi

    that's only sugestion but best solution would be add spu support to resign_eboot, thanks to that solution we have one perfectly working tool to resigning all retail files and you don't need anymore waste your time to upgrade resprx and respu since resign_eboot can fix all these files + can downgrade sdk version

    regards
     
  15. diablothebest

    Member

    Nice tools! I use this for all new games! All games works on CobraODE after resigning)
     
    jo3tomas, Rip Cord and storm shadow like this.
  16. Rip Cord

    Administrator Staff Member Admin Developer

    thank you for the feedback about the games playing.

    Here is a resigner for npdrm selfs with license type 3 [free] only.
    put the self klic key in the subfolder "klics"

    I only used it to resign a few npdrm selfs (including eboots and a sprx). I don't have any psn games so I can't test playing them. Comparing the resigned selfs to original, they look ok.
    edit:
    minor update resign_np_free.exe 0.1.2 fixed typographical errors in output messages
    Code (Text):

    resign_np_free.exe version 0.1.2
     
    Command line arguments for resign_np_free:
     
    input.self output.self key_revision firmware sdk klic_key [index]
     
    key revision for resigned self, 04, 0A,...
    firmware version for resigned self, 341, 355,...
    sdk version for resigned self, 34, 35,...
    binary file of the klic key [free or developer]
        *** place klic key in subfolder "klics"   ***
     
    optional parameter: index of the section with sdk version
    possible values 0-index number of last section, default is section 0
     
    for 3.41:
               resign_np_free EBOOT.BIN EBOOT341.BIN 04 341 34 klic_free 0
            or resign_np_free EBOOT.BIN EBOOT341.BIN 04 341 34 klic_free
     
    for 3.55:
               resign_np_free EBOOT.BIN EBOOT355.BIN 0A 355 35 klic_free 0
            or resign_np_free EBOOT.BIN EBOOT355.BIN 0A 355 35 klic_free
     
    key files should be in subdirectory "ps3keys"
    key file name format:  drm-key-000A, drm-iv-000A, drm-ctype-000A
     
    p
     

    Attached Files:

    Last edited: May 28, 2015
    jo3tomas and storm shadow like this.
  17. jo3tomas

    Well-Known Member Developer

    hi

    i tested couple updates on pc (resign_np_free + scetool for decryption) and seems to everything working fine

    EBOOT.BIN - Grand Theft Auto V v1.18
    EBOOT.BIN - South Park: The Stick of Truth v1.02
    EBOOT.BIN, patch.self - Wolfenstein: The New Order v101
    EBOOT.BIN, acga_e_ps3_f.self, scimitar_final.self - Assassin's Creed IV Black Flag v1.03
    EBOOT.BIN, scimitar_final.self - Assassin's Creed Rogue v1.01
    EBOOT.BIN, default.self, default_mp.self - Call of Duty Advanced Warfare v1.04
    EBOOT.BIN, MP.SELF, SP.SELF - Batman: Arkham Origins v1.06

    i tried psn game update (local) and seems to working fine too.

    ---

    there is a chance to add reencryption local files to free or eboot, self/sprx need complete rebuild?

    regards and thank you
     
    Last edited: Nov 23, 2014
    Rip Cord likes this.
  18. Rip Cord

    Administrator Staff Member Admin Developer

    thank you for the tests.

    I can probably add resigning selfs with rap file to free. There are a few extra steps to decrypt the header, plus change the license type and re-calculate the check for the np part of the header... could be something else I'm forgetting.

    I guess the cobre ode users know resigned npdrm selfs won't play on official firmware.
     
    jo3tomas likes this.
  19. Rudi Rastelli

    Well-Known Member Developer

    Hi !

    1st let me say : Nice work... very easy to use and it simply works.

    But have i have 2 questions :
    1. How about *.sdat files ? Don't they need resigning ?
    2. Is 'resign_eboot EBOOT.BIN EBOOT421.BIN 1C 421 42' correct for resigning to 4.21 ?

    Regards
    Rudi
     
    Last edited: Nov 23, 2014
    Rip Cord likes this.
  20. jo3tomas

    Well-Known Member Developer

    SDAT's reencryption is required only if you want to play with new games on CFW 3.55 and of course you need a fix for 3.55 too. If you want to play on CFW 4.xx you don't need resigning SDAT's.
     
    Rip Cord and Rudi Rastelli like this.
Top