diff --git a/src/cwc.c b/src/cwc.c index 79c10008..e5c2046c 100644 --- a/src/cwc.c +++ b/src/cwc.c @@ -1880,19 +1880,15 @@ cwc_emm_bulcrypt(cwc_t *cwc, uint8_t *data, int len) int match = 0; switch (data[0]) { - case 0x82: /* unique */ - case 0x85: /* unique */ + case 0x82: /* unique - bulcrypt (1 card) */ + case 0x8a: /* unique - polaris (1 card) */ + case 0x85: /* unique - bulcrypt (4 cards) */ + case 0x8b: /* unique - polaris (4 cards) */ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 3) == 0; break; - case 0x84: /* shared */ + case 0x84: /* shared - (1024 cards) */ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 2) == 0; break; - case 0x8b: /* shared-unknown */ - match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 2) == 0; - break; - case 0x8a: /* global */ - match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 1) == 0; - break; } if (match)