- int idx;
- uid1=0;
- uid2=0;
- PrintAndLog("BitLen: %d",DemodBufferLen);
- if (DemodBufferLen==64){
- for( idx=0; idx<64; idx++) {
- uid1=(uid1<<1)|(uid2>>31);
- if (DemodBuffer[idx] == 0) {
- uid2=(uid2<<1)|0;
- showbits[idx]='0';
- } else {
- uid2=(uid2<<1)|1;
- showbits[idx]='1';
- }
- }
- showbits[idx]='\0';
- PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2);
- }
- else {
- uid3=0;
- uid4=0;
- uid5=0;
- uid6=0;
- uid7=0;
- for( idx=0; idx<DemodBufferLen; idx++) {
- uid1=(uid1<<1)|(uid2>>31);
- uid2=(uid2<<1)|(uid3>>31);
- uid3=(uid3<<1)|(uid4>>31);
- uid4=(uid4<<1)|(uid5>>31);
- uid5=(uid5<<1)|(uid6>>31);
- uid6=(uid6<<1)|(uid7>>31);
- if (DemodBuffer[idx] == 0) {
- uid7=(uid7<<1)|0;
- showbits[idx]='0';
- }
- else {
- uid7=(uid7<<1)|1;
- showbits[idx]='1';
- }
- }
- showbits[idx]='\0';
- PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7);
+ uid1=bytebits_to_byte(DemodBuffer,32);
+ uid2=bytebits_to_byte(DemodBuffer+32,32);
+ if (DemodBufferLen==64) {
+ PrintAndLog("Indala UID=%s (%x%08x)", sprint_bin_break(DemodBuffer,DemodBufferLen,16), uid1, uid2);
+ } else {
+ uid3=bytebits_to_byte(DemodBuffer+64,32);
+ uid4=bytebits_to_byte(DemodBuffer+96,32);
+ uid5=bytebits_to_byte(DemodBuffer+128,32);
+ uid6=bytebits_to_byte(DemodBuffer+160,32);
+ uid7=bytebits_to_byte(DemodBuffer+192,32);
+ PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)",
+ sprint_bin_break(DemodBuffer,DemodBufferLen,16), uid1, uid2, uid3, uid4, uid5, uid6, uid7);