rendered paste body--- dvbscam.cpp 2007-07-15 08:20:45.000000000 +0200+++ dvbscam.cpp_new 2007-07-15 08:20:34.000000000 +0200@@ -1187,20 +1187,20 @@ for(int i=10; i<cmdLen-10 && l!=3; ) { if((buff[i]==0x10 || buff[i]==0x11) && buff[i+1]==0x09) { int s=(~buff[i])&1;- if(id==0x0501) //if(id!=0x0101 && id!=0x4101 && id!=0x4901 &&(data[1]&0xf0)!=0x70)++ if(id==0x0501 || id ==0x1101 ) { //if(id!=0x0101 && id!=0x4101 && id!=0x4901 &&(data[1]&0xf0)!=0x70) mecmAlgo=buff[i+2]&0x60;- /*s^=1; // inverse cw*/+ if (!mecmAlgo)+ s^=1; // inverse cw+ } memcpy(CW+(s<<3),&buff[i+3],8);- /*if (buff[i+2] & 0x60) {- fprintf( stderr, "nagra2: CW hashed with $%02X \n", buff[i+2] ); //algo unknown- return false;- }*/ i+=11; l|=(s+1); } else i++; } if(mecmAlgo > 0) {+ fprintf( stderr, "nagra2: CW hashed with $%02X \n", mecmAlgo ); //algo unknown if (!nagra.MECM(buff[15],mecmAlgo,&CW[0])) return false; } if (id==0x0501)