Changeset 1970


Ignore:
Timestamp:
04/06/10 14:15:07 (12 years ago)
Author:
merek
Message:
  • Add UNIQUE filter for cryptoworks EMM
  • Fix SHARED EMM filter
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/reader-cryptoworks.c

    r1966 r1970  
    457457        case 0x82:
    458458            if(ep->emm[3]==0xA9 && ep->emm[4]==0xFF && ep->emm[13]==0x80 && ep->emm[14]==0x05) {
    459                 ep->type = UNIQUE; //FIXME: no ep->hexserial set
    460                 cs_debug_mask(D_EMM, "CRYPTOWORKS EMM: UNIQUE");
    461                 return TRUE; //FIXME: still no check on serial
     459                ep->type = UNIQUE;
     460                memset(ep->hexserial, 0, 8);
     461                memcpy(ep->hexserial, ep->emm + 5, 6);
     462                cs_debug_mask(D_EMM, "CRYPTOWORKS EMM: UNIQUE, ep = %s rdr = %s",
     463                          cs_hexdump(1, ep->hexserial, 6), cs_hexdump(1, rdr->hexserial, 6));
     464                return (!memcmp(ep->emm + 5, rdr->hexserial, 6)); // check for serial
    462465            }
    463466
     
    466469                ep->type = SHARED;
    467470                memset(ep->hexserial, 0, 8);
    468                 memcpy(ep->hexserial, ep->emm + 6, 4);
     471                memcpy(ep->hexserial, ep->emm + 5, 4);
    469472                cs_debug_mask(D_EMM, "CRYPTOWORKS EMM: SHARED, ep = %s rdr = %s",
    470                           cs_hexdump(1, ep->emm + 6, 4), cs_hexdump(1, ep->hexserial, 4));
    471                 return (!memcmp(ep->emm + 6, rdr->hexserial, 4)); // check for SA
     473                          cs_hexdump(1, ep->hexserial, 4), cs_hexdump(1, rdr->hexserial, 4));
     474                return (!memcmp(ep->emm + 5, rdr->hexserial, 4)); // check for SA
    472475            }
    473476
Note: See TracChangeset for help on using the changeset viewer.