X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/88499d8694c8c7408bff5dd74a1a8134a49caf84..c8a0f5503172f25620670a9ba992d8c923b5df95:/client/cmdlfpresco.c?ds=sidebyside diff --git a/client/cmdlfpresco.c b/client/cmdlfpresco.c index f18c3ec6..865b384b 100644 --- a/client/cmdlfpresco.c +++ b/client/cmdlfpresco.c @@ -7,11 +7,13 @@ // Low frequency Presco tag commands // ASK/Manchester, rf/32, 128 bits (complete) //----------------------------------------------------------------------------- + +#include "cmdlfpresco.h" + #include #include #include -#include "cmdlfpresco.h" -#include "proxmark3.h" +#include "comms.h" #include "ui.h" #include "util.h" #include "graph.h" @@ -68,10 +70,10 @@ int GetWiegandFromPresco(const char *Cmd, uint32_t *sitecode, uint32_t *usercode *fullcode = param_get32ex(Cmd, cmdp+1, 0, 10); cmdp+=2; break; - case 'P': - case 'p': + case 'D': + case 'd': //param get string int param_getstr(const char *line, int paramnum, char * str) - stringlen = param_getstr(Cmd, cmdp+1, id); + stringlen = param_getstr(Cmd, cmdp+1, id, sizeof(id)); if (stringlen < 2) return -1; cmdp+=2; break; @@ -91,7 +93,7 @@ int GetWiegandFromPresco(const char *Cmd, uint32_t *sitecode, uint32_t *usercode if(cmdp == 0) errors = 1; //Validations - if(errors) return -1; + if(errors || (stringlen == 0 && !hex) ) return -1; if (!hex) { for (int index =0; index < strlen(id); ++index) { @@ -144,8 +146,9 @@ int CmdPrescoDemod(const char *Cmd) { uint32_t cardid = raw4; PrintAndLog("Presco Tag Found: Card ID %08X", cardid); PrintAndLog("Raw: %08X%08X%08X%08X", raw1,raw2,raw3,raw4); - setDemodBuf(DemodBuffer+ans, 128, 0); - + setDemodBuf(DemodBuffer, 128, ans); + setClockGrid(g_DemodClock, g_DemodStartIdx + (ans*g_DemodClock)); + uint32_t sitecode = 0, usercode = 0, fullcode = 0; bool Q5=false; char cmd[12] = {0};