Want to Join Us ?

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

NPDRM Package with DISC BINDING

Discussion in 'Homebrew' started by Rip Cord, Oct 15, 2013.

Share This Page

  1. Rip Cord

    Administrator Staff Member Admin Developer

    Was wondering why there is a DRMType=DiscBind for HDD Boot Game Packages described in the requirements for NPDRM Packages?

    This is set by including the line DRMType=DiscBind in the package.conf used for creating the package.

    I compiled a very simple application (just adds a couple numbers, no input, no output).
    Made it into an fself and then created two packages, one with DRMType=Free and one with DRMType=DiscBind.
    I extracted the fselfs from the two packages and compared them:

    Code (Text):

    DRMType=Free
    00000440 4E50 4400 0000 0001 0000 0003 0000 0001 NPD.............
    00000450 5550 3030 3031 2D41 4444 4E31 3131 3131 UP0001-ADDN11111
    00000460 5F30 302D 4144 444E 4141 4130 3030 3030 _00-ADDNAAA00000
    00000470 3030 3031 0000 0000 0000 0000 0000 0000 0001............
    DRMType=DiscBind
    00000440 4E50 4400 0000 0001 0000 0003 0000 0021 NPD............!
    00000450 5550 3030 3031 2D41 4444 4E31 3131 3131 UP0001-ADDN11111
    00000460 5F30 302D 4144 444E 4141 4130 3030 3030 _00-ADDNAAA00000
    00000470 3030 3031 0000 0000 0000 0000 0000 0000 0001............
     
    that was the only difference at 0x44F.

    This is the same field that is used to hold the apptype for NPDRM self.
    01 is for EXEC and 21 for UEXEC (update). Hmm, same value as UEXEC.

    In open source oscetool, there is a table for all the values in ids.c where that field is defined. Can change that or cheat and create the same difference in a retail self by just altering the type from EXEC to UEXEC. The option is -cUEXEC.

    I used these commands to create two selfs:

    Code (Text):

    scetool -v -0SELF -2001C -31010000001000003 -401000002 -5NPDRM -A0001000000000000 -60004002100000000 -84000000000000000000000000000000000000000000000000000000000000002 -bFREE -cEXEC -fUP0001-ADDN11111_00-ADDNAAA000000001 -gEBOOT.BIN -e addition.elf addition_fr_scesign.self
     
    and
     
    scetool -v -0SELF -2001C -31010000001000003 -401000002 -5NPDRM -A0001000000000000 -60004002100000000 -84000000000000000000000000000000000000000000000000000000000000002 -bFREE -cUEXEC -fUP0001-ADDN11111_00-ADDNAAA000000001 -gEBOOT.BIN -e addition.elf addition_db_scesign.self
     
    I created both packages and installed them on the ps3. The self patterned on the free type fself ran fine. The one patterned on the DiscBind type fself produced this on screen message:
    I don't play PSN games so I was wondering what it's used for and if there are any practical effects for homebrew.

    This is different from the "disc bind flag" .
     
  2. catalinnc

    Member Developer

    some retail games come with additional demo .pkg (for other titles!) that can be installed and only play when you insert the retail disc with that demo .pkg...

    this "disc bind flag" prevents getting that .pkg from the disc and play it without the original disc...
    _
     
    Rip Cord and storm shadow like this.
  3. Rip Cord

    Administrator Staff Member Admin Developer

    thanks. I didn't know they limited demo use.
     
  4. catalinnc

    Member Developer

    the retail disc 1 for killzone trilogy contains the .pkg for the 1st killzone game (a hd remake) that is disc binded...
    _
     
    Last edited: Jul 28, 2015
    Rip Cord likes this.
  5. catalinnc

    Member Developer

    here the info for the .pkg:
    Code (Text):
    Package Filename : DATA000.pkg
    ContentID       = UP9000-NPUA80856_00-GKILLZONE1000001
    DRMType       = DiscBind
    ContentType   = GameExec
    PackageFlag   = RenameDirectory (during install for consistency)
    PackageVersion   = 01.00
    # APP_VER       : 01.00
    # PS3_SYSTEM_VER : 04.1000
    # QA_Digest   : 0xAF0A67815E244F690CC16B653DDBD100
    # PackageDigest  : 0x302A2DDA8945E24EC882463B6BD9CD894B9545F1
    here is the npdrm header of the EBOOT.BIN:
    Code (Text):
    0x440 4E 50 44 00 00 00 00 01 00 00 00 03 00 00 00 21 NPD............!
    0x450 55 50 39 30 30 30 2D 4E 50 55 41 38 30 38 35 36 UP9000-NPUA80856
    0x460 5F 30 30 2D 47 4B 49 4C 4C 5A 4F 4E 45 31 30 30 _00-GKILLZONE100
    0x470 30 30 30 31 00 00 00 00 00 00 00 00 00 00 00 00 0001............
    0x480 B2 B8 51 15 EC 40 3B BB E2 D6 A1 1B B6 E6 D5 FC ˛¸Q.ě@;»âÖˇ.¶ćŐü
    0x490 8F 1F 4D 88 00 C4 0B 49 30 B2 59 AA D1 D9 C9 1B Ź.M..Ä.I0˛YŞŃŮÉ.
    0x4A0 D6 A9 61 DD DC 40 30 B9 AD 07 08 91 9D 6B 5F A6 Ö©aÝÜ@0ą..‘ťk_¦
    _
     
    Rip Cord likes this.
  6. catalinnc

    Member Developer

    here is the newest EXTREM example for this DiscBind stuff used to install two pure psn games from a Blu-Ray Disk...

    this is the list (tree) of the files on disk...
    _
     

    Attached Files:

    • list.zip
      File size:
      888 bytes
      Views:
      7
    storm shadow and Rip Cord like this.
  7. Rip Cord

    Administrator Staff Member Admin Developer

    thanks. I think the only disc I have with install packages is a demo disc.
     
Top