X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/26ea310f0e5d5158ede05e0236e315b2b1cb5bdb..7527c2bdd821ac194ed362f327b5e6b7aef7d1bb:/client/cmdlfindala.c diff --git a/client/cmdlfindala.c b/client/cmdlfindala.c index 8ec04cbb..02c906d0 100644 --- a/client/cmdlfindala.c +++ b/client/cmdlfindala.c @@ -8,10 +8,11 @@ // PSK1, rf/32, 64 or 224 bits (known) //----------------------------------------------------------------------------- +#include "cmdlfindala.h" + #include #include -#include "cmdlfindala.h" -#include "proxmark3.h" +#include "comms.h" #include "ui.h" #include "graph.h" #include "cmdparser.h" @@ -40,10 +41,16 @@ int CmdIndalaDecode(const char *Cmd) { } uint8_t invert=0; size_t size = DemodBufferLen; - int startIdx = indala26decode(DemodBuffer, &size, &invert); - if (startIdx < 0 || size > 224) { - if (g_debugMode) PrintAndLog("Error2: %i",startIdx); - return -1; + int startIdx = indala64decode(DemodBuffer, &size, &invert); + if (startIdx < 0 || size != 64) { + // try 224 indala + invert = 0; + size = DemodBufferLen; + startIdx = indala224decode(DemodBuffer, &size, &invert); + if (startIdx < 0 || size != 224) { + if (g_debugMode) PrintAndLog("Error2: %i",startIdx); + return -1; + } } setDemodBuf(DemodBuffer, size, (size_t)startIdx); setClockGrid(g_DemodClock, g_DemodStartIdx + (startIdx*g_DemodClock)); @@ -280,7 +287,7 @@ int CmdIndalaDemod(const char *Cmd) { } int CmdIndalaClone(const char *Cmd) { - UsbCommand c; + UsbCommand c = {0}; unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; uid1 = uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0;