Changeset 1196 for trunk/reader-nagra.c
- Timestamp:
- 01/12/10 19:56:09 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-nagra.c
r1167 r1196 192 192 unsigned char d2_data[88]; 193 193 unsigned char sign1[8]; 194 unsigned char sessi1[8]; 195 unsigned char sessi2[8]; 194 unsigned char sk[16]; 196 195 unsigned char tmp[104]; 197 unsigned char tmp1[8];198 196 unsigned char idea_sig[16]; 199 unsigned char random[88] = {0x51,0xd0,0xcc,0x4a,0x51,0xbc,0x4f,0xa4,0x7d,0x44,0xa9,0xa8,0x97,0x13,0x01,0x63, 200 0x8f,0xaf,0x86,0x60,0x7c,0xe3,0xee,0x29,0xca,0x13,0x09,0x44,0x83,0x48,0x17,0x8b, 201 0x88,0xa6,0x64,0x20,0x22,0x2b,0x04,0x50,0xd8,0x15,0x9c,0x50,0x09,0x7c,0x6a,0x5d, 202 0xa0,0xb3,0xb0,0x11,0xa2,0x15,0x00,0x58,0xae,0x4b,0xe7,0xb0,0x06,0xa0,0x1d,0xe0, 203 0x53,0x58,0x6a,0xf0,0x60,0x51,0x71,0xdb,0xe7,0x7c,0xf7,0x1b,0x37,0x9d,0x20,0xf8, 204 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; 197 unsigned char random[88]; 205 198 206 199 if(!do_cmd(0xd1,0x02,0x51,0xd2,NULL)) … … 264 257 reader[ridx].prid[0][3]=parte_variable[74]; 265 258 reader[ridx].caid[0] =(SYSTEM_NAGRA|parte_variable[76]); 266 memcpy(sessi1,&parte_variable[79],8); 259 memcpy(sk,&parte_variable[79],8); 260 memcpy(sk+8,&parte_variable[79],8); 267 261 cs_ri_log("[nagra-reader] CAID: %04X, IRD ID: %s",reader[ridx].caid[0], cs_hexdump (1,irdId,4)); 268 262 cs_ri_log("[nagra-reader] ProviderID: %s",cs_hexdump (1,reader[ridx].prid[0],4)); 269 270 memcpy(sessi2,&random[72], 8); 271 memset(tmp1,0,8); 272 memcpy(tmp1, random+72,8); 273 ReverseMem(tmp1, 8); //byteflop last 8 bytes of random data 274 memcpy(random+72, tmp1,8); // insert back the byteflop data 275 276 memset(tmp1,0,8); 277 memcpy(tmp1, sessi1,8); 278 ReverseMem(tmp1, 8); // byteflop sessi1 one from rsa variabled part 279 memcpy(random+80,tmp1,8); // and attach him to random data 263 264 memcpy(random, sk,16); 265 ReverseMem(random, 88); 280 266 281 267 … … 302 288 if (cta_res[2] == 0x00) 303 289 { 304 memcpy(sessi,s essi1,8); memcpy(sessi+8,sessi2,8);290 memcpy(sessi,sk,16); 305 291 IDEA_KEY_SCHEDULE ks; 306 292 idea_set_encrypt_key(sessi,&ks); … … 608 594 { 609 595 cs_ri_log("[nagra-reader] detect Irdeto tunneled nagra card"); 610 if(!reader[ridx]. nagra_native) return 0;596 if(!reader[ridx].has_rsa) return 0; 611 597 cs_ri_log("[nagra-reader] using nagra mode"); 612 598 is_pure_nagra=1;
Note:
See TracChangeset
for help on using the changeset viewer.