X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/c2731f37bef482bde1a87d79566c0b3bde658c98..7144c99b0765f6995e7a954030bfcb5bb2d441d0:/armsrc/appmain.c diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 8c982eaf..ed9b559a 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -351,7 +351,6 @@ void SendStatus(void) #if defined(WITH_ISO14443a_StandAlone) || defined(WITH_LF) #define OPTS 2 - void StandAloneMode() { DbpString("Stand-alone mode! No PC necessary."); @@ -365,13 +364,9 @@ void StandAloneMode() LED(LED_GREEN, 200); LED(LED_ORANGE, 200); LED(LED_RED, 200); - } - #endif - - #ifdef WITH_ISO14443a_StandAlone void StandAloneMode14a() { @@ -432,7 +427,7 @@ void StandAloneMode14a() SpinDelay(300); } } - if (!iso14443a_select_card(uid, &hi14a_card[selected], &cuid)) + if (!iso14443a_select_card(uid, &hi14a_card[selected], &cuid, true, 0)) continue; else { @@ -640,8 +635,7 @@ void SamyRun() // Turn on selected LED LED(selected + 1, 0); - for (;;) - { + for (;;) { usb_poll(); WDT_HIT(); @@ -672,49 +666,41 @@ void SamyRun() LEDsoff(); LED(selected + 1, 0); // Finished recording - // If we were previously playing, set playing off // so next button push begins playing what we recorded - playing = 0; - - cardRead = 1; - + playing = 0; + cardRead = 1; } + else if (button_pressed > 0 && cardRead == 1) { + LEDsoff(); + LED(selected + 1, 0); + LED(LED_ORANGE, 0); - else if (button_pressed > 0 && cardRead == 1) - { - LEDsoff(); - LED(selected + 1, 0); - LED(LED_ORANGE, 0); - - // record - Dbprintf("Cloning %x %x %x", selected, high[selected], low[selected]); + // record + Dbprintf("Cloning %x %x %x", selected, high[selected], low[selected]); - // wait for button to be released - while(BUTTON_PRESS()) - WDT_HIT(); + // wait for button to be released + while(BUTTON_PRESS()) + WDT_HIT(); - /* need this delay to prevent catching some weird data */ - SpinDelay(500); + /* need this delay to prevent catching some weird data */ + SpinDelay(500); - CopyHIDtoT55x7(high[selected], low[selected], 0, 0); - Dbprintf("Cloned %x %x %x", selected, high[selected], low[selected]); + CopyHIDtoT55x7(high[selected], low[selected], 0, 0); + Dbprintf("Cloned %x %x %x", selected, high[selected], low[selected]); - LEDsoff(); - LED(selected + 1, 0); - // Finished recording + LEDsoff(); + LED(selected + 1, 0); + // Finished recording - // If we were previously playing, set playing off - // so next button push begins playing what we recorded - playing = 0; - - cardRead = 0; - + // If we were previously playing, set playing off + // so next button push begins playing what we recorded + playing = 0; + cardRead = 0; } // Change where to record (or begin playing) - else if (button_pressed) - { + else if (button_pressed) { // Next option if we were previously playing if (playing) selected = (selected + 1) % OPTS; @@ -1005,12 +991,10 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_AWID_DEMOD_FSK: // Set realtime AWID demodulation CmdAWIDdemodFSK(c->arg[0], 0, 0, 1); - break; + break; case CMD_VIKING_CLONE_TAG: - CopyViKingtoT55x7(c->arg[0],c->arg[1]); + CopyVikingtoT55xx(c->arg[0], c->arg[1], c->arg[2]); break; - - #endif #ifdef WITH_HITAG @@ -1133,6 +1117,9 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_MIFAREU_WRITEBL: MifareUWriteBlock(c->arg[0], c->arg[1], c->d.asBytes); break; + case CMD_MIFARE_ACQUIRE_ENCRYPTED_NONCES: + MifareAcquireEncryptedNonces(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); + break; case CMD_MIFARE_NESTED: MifareNested(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break;