X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/4db6f3bbb9b589f62bdaa8d30be0dc6cef3dac3f..cfa9c98d573c5a0d35c6ce86501fc6fd57f91b81:/client/cmdlffdx.c?ds=inline diff --git a/client/cmdlffdx.c b/client/cmdlffdx.c index 69c3c483..d0ac52c0 100644 --- a/client/cmdlffdx.c +++ b/client/cmdlffdx.c @@ -5,12 +5,15 @@ // the license. //----------------------------------------------------------------------------- // Low frequency fdx-b tag commands +// Differential Biphase, rf/32, 128 bits (known) //----------------------------------------------------------------------------- #include "cmdlffdx.h" +#include #include -#include "proxmark3.h" +#include +#include "comms.h" #include "ui.h" // for PrintAndLog #include "util.h" #include "cmdparser.h" @@ -44,7 +47,7 @@ static int CmdHelp(const char *Cmd); int usage_lf_fdx_clone(void){ PrintAndLog("Clone a FDX-B animal tag to a T55x7 tag."); - PrintAndLog("Usage: lf animal clone [h] "); + PrintAndLog("Usage: lf fdx clone [h] "); PrintAndLog("Options:"); PrintAndLog(" h : This help"); PrintAndLog(" : Country id"); @@ -55,7 +58,7 @@ int usage_lf_fdx_clone(void){ // extended data PrintAndLog(" : Specify write to Q5 (t5555 instead of t55x7)"); PrintAndLog(""); - PrintAndLog("Sample: lf animal clone 999 112233"); + PrintAndLog("Sample: lf fdx clone 999 112233"); return 0; } @@ -63,13 +66,13 @@ int usage_lf_fdx_sim(void) { PrintAndLog("Enables simulation of FDX-B animal tag"); PrintAndLog("Simulation runs until the button is pressed or another USB command is issued."); PrintAndLog(""); - PrintAndLog("Usage: lf animal sim [h] "); + PrintAndLog("Usage: lf fdx sim [h] "); PrintAndLog("Options:"); PrintAndLog(" h : This help"); PrintAndLog(" : Country ID"); PrintAndLog(" : Animal ID"); PrintAndLog(""); - PrintAndLog("Sample: lf animal sim 999 112233"); + PrintAndLog("Sample: lf fdx sim 999 112233"); return 0; } // clearing the topbit needed for the preambl detection. @@ -134,7 +137,7 @@ int CmdFdxDemod(const char *Cmd){ //Differential Biphase / di-phase (inverted biphase) //get binary from ask wave - if (!ASKbiphaseDemod("0 32 1 0", FALSE)) { + if (!ASKbiphaseDemod("0 32 1 100", false)) { if (g_debugMode) PrintAndLog("DEBUG: Error - FDX-B ASKbiphaseDemod failed"); return 0; } @@ -156,6 +159,8 @@ int CmdFdxDemod(const char *Cmd){ // set and leave DemodBuffer intact setDemodBuf(DemodBuffer, 128, preambleIndex); + setClockGrid(g_DemodClock, g_DemodStartIdx + (preambleIndex*g_DemodClock)); + uint8_t bits_no_spacer[117]; memcpy(bits_no_spacer, DemodBuffer + 11, 117); @@ -201,8 +206,7 @@ int CmdFdxDemod(const char *Cmd){ } int CmdFdxRead(const char *Cmd) { - CmdLFRead("s"); - getSamples("10000", TRUE); + lf_read(true, 39999); return CmdFdxDemod(Cmd); }