Changeset 834 for trunk/reader-dre.c


Ignore:
Timestamp:
Dec 15, 2009, 1:28:11 PM (10 years ago)
Author:
dingo35
Message:

Fix Unique EMM DreCrypt? cmd42

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/reader-dre.c

    r823 r834  
    329329      0x56, 0x58, 0x11
    330330    };
     331        int i;
    331332        switch (ep->emm[0]) {
    332333            case 0x87: //unique EMM
    333                 memcpy (emmcmd42 + 4, ep->emm + 3, 45);
    334                 emmcmd42[3] = 0x00; //not sure about this
    335                 emmcmd42[49] = ep->emm[41]; //keynr
    336                 emmcmd42[50] = 0x58 + ep->emm[40]; //package nr
    337             emmcmd42[51] = provider;
    338             if ((dre_cmd (emmcmd42))) {
    339               if ((cta_res[cta_lr - 2] != 0x90) || (cta_res[cta_lr - 1] != 0x00))
    340                         return 0;       //exit if response is not 90 00
     334            for (i = 0; i < 2; i++) {
     335                    memcpy (emmcmd42 + 1, ep->emm + 42 + i*49, 48);
     336                    emmcmd42[49] = ep->emm[i*49 + 41]; //keynr
     337                    emmcmd42[50] = 0x58 + ep->emm[40]; //package nr
     338                emmcmd42[51] = provider;
     339                if ((dre_cmd (emmcmd42))) {
     340                  if ((cta_res[cta_lr - 2] != 0x90) || (cta_res[cta_lr - 1] != 0x00))
     341                            return 0;       //exit if response is not 90 00
     342                    }
    341343                }
    342344                break;
Note: See TracChangeset for help on using the changeset viewer.