- k_sector[i].Key[data[i].keytype] = key;\r
- k_sector[i].foundKey[data[i].keytype] = TRUE;\r
- \r
- //set emulator memory for keys\r
- if (setEmulatorMem) {\r
- uint8_t memBlock[16] = {0,0,0,0,0,0, 0xff, 0x0F, 0x80, 0x69, 0,0,0,0,0,0};\r
- num_to_bytes( k_sector[i].Key[0], 6, memBlock);\r
- num_to_bytes( k_sector[i].Key[1], 6, memBlock+10);\r
- mfEmlSetMem( memBlock, i*4 + 3, 1);\r
- PrintAndLog("Setting Emulator Memory Block %02d: [%s]"\r
- , i*4 + 3\r
- , sprint_hex( memBlock, sizeof(memBlock))\r
- );\r
- }\r
- break;\r
- }\r
- //moebius attack \r
- // if (tryMfk32_moebius(data[i+ATTACK_KEY_COUNT], &key)) {\r
- // PrintAndLog("M-Found Key%s for sector %02d: [%012"llx"]"\r
- // ,(data[i+ATTACK_KEY_COUNT].keytype) ? "B" : "A"\r
- // , data[i+ATTACK_KEY_COUNT].sector\r
- // , key\r
- // );\r
- // }\r
+ success = tryMfk32_moebius(data, &key, verbose);\r
+ if (success) {\r
+ uint8_t sector = data.sector;\r
+ uint8_t keytype = data.keytype;\r
+\r
+ PrintAndLog("Reader is trying authenticate with: Key %s, sector %02d: [%012"llx"]"\r
+ , keytype ? "B" : "A"\r
+ , sector\r
+ , key\r
+ );\r
+\r
+ k_sector[sector].Key[keytype] = key;\r
+ k_sector[sector].foundKey[keytype] = TRUE;\r
+\r
+ //set emulator memory for keys\r
+ if (setEmulatorMem) {\r
+ uint8_t memBlock[16] = {0,0,0,0,0,0, 0xff, 0x0F, 0x80, 0x69, 0,0,0,0,0,0};\r
+ num_to_bytes( k_sector[sector].Key[0], 6, memBlock);\r
+ num_to_bytes( k_sector[sector].Key[1], 6, memBlock+10);\r
+ //iceman, guessing this will not work so well for 4K tags.\r
+ PrintAndLog("Setting Emulator Memory Block %02d: [%s]"\r
+ , (sector*4) + 3\r
+ , sprint_hex( memBlock, sizeof(memBlock))\r
+ );\r
+ mfEmlSetMem( memBlock, (sector*4) + 3, 1);\r