From 40e793eb1a3c926238bccfb1bab578ee33cf9f7b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 26 Sep 2019 20:42:00 +0200 Subject: [PATCH] chg rework t55x7 clone.. --- client/cmdlfviking.c | 14 +++++++++++ client/cmdlfviking.h | 13 ---------- client/cmdlfvisa2000.c | 57 +++++++++++++----------------------------- client/cmdlfvisa2000.h | 12 --------- 4 files changed, 32 insertions(+), 64 deletions(-) diff --git a/client/cmdlfviking.c b/client/cmdlfviking.c index 9bbbeaa7e..3a2ad6a5d 100644 --- a/client/cmdlfviking.c +++ b/client/cmdlfviking.c @@ -9,6 +9,20 @@ //----------------------------------------------------------------------------- #include "cmdlfviking.h" +#include +#include +#include + +#include "common.h" + +#include "cmdparser.h" // command_t +#include "comms.h" +#include "ui.h" +#include "cmddata.h" +#include "cmdlf.h" +#include "lfdemod.h" +#include "commonutil.h" // num_to_bytes + static int CmdHelp(const char *Cmd); static int usage_lf_viking_clone(void) { diff --git a/client/cmdlfviking.h b/client/cmdlfviking.h index 344bb3c0c..156d57c7d 100644 --- a/client/cmdlfviking.h +++ b/client/cmdlfviking.h @@ -9,21 +9,8 @@ #ifndef CMDLFVIKING_H__ #define CMDLFVIKING_H__ -#include -#include -#include - #include "common.h" -#include "cmdparser.h" // command_t -#include "comms.h" -#include "ui.h" -#include "cmddata.h" -#include "cmdlf.h" -#include "lfdemod.h" -#include "commonutil.h" // num_to_bytes - - int CmdLFViking(const char *Cmd); int demodViking(void); diff --git a/client/cmdlfvisa2000.c b/client/cmdlfvisa2000.c index 9f80a830d..f60510f23 100644 --- a/client/cmdlfvisa2000.c +++ b/client/cmdlfvisa2000.c @@ -11,6 +11,22 @@ #include "cmdlfvisa2000.h" +#include +#include +#include + +#include "commonutil.h" // ARRAYLEN +#include "common.h" +#include "cmdparser.h" // command_t +#include "comms.h" +#include "ui.h" +#include "graph.h" +#include "cmddata.h" +#include "cmdlf.h" +#include "protocols.h" // for T55xx config register definitions +#include "lfdemod.h" // parityTest +#include "cmdlft55xx.h" // write verify + #define BL0CK1 0x56495332 static int CmdHelp(const char *Cmd); @@ -165,46 +181,9 @@ static int CmdVisa2kClone(const char *Cmd) { blocks[3] = (visa_parity(id) << 4) | visa_chksum(id); PrintAndLogEx(INFO, "Preparing to clone Visa2000 to T55x7 with CardId: %u", id); - print_blocks(blocks, 4); + print_blocks(blocks, ARRAYLEN(blocks)); - uint8_t res = 0; - PacketResponseNG resp; - - // fast push mode - conn.block_after_ACK = true; - for (uint8_t i = 0; i < 4; i++) { - if (i == 3) { - // Disable fast mode on last packet - conn.block_after_ACK = false; - } - clearCommandBuffer(); - t55xx_write_block_t ng; - ng.data = blocks[i]; - ng.pwd = 0; - ng.blockno = i; - ng.flags = 0; - - SendCommandNG(CMD_LF_T55XX_WRITEBL, (uint8_t *)&ng, sizeof(ng)); - if (!WaitForResponseTimeout(CMD_LF_T55XX_WRITEBL, &resp, T55XX_WRITE_TIMEOUT)) { - - PrintAndLogEx(ERR, "Error occurred, device did not respond during write operation."); - return PM3_ETIMEOUT; - } - - if (i == 0) { - SetConfigWithBlock0(blocks[0]); - if (t55xxAquireAndCompareBlock0(false, 0, blocks[0], false)) - continue; - } - - if (t55xxVerifyWrite(i, 0, false, false, 0, 0xFF, blocks[i]) == false) - res++; - } - - if (res == 0) - PrintAndLogEx(SUCCESS, "Success writing to tag"); - - return PM3_SUCCESS; + return clone_t55xx_tag(blocks, ARRAYLEN(blocks)); } static int CmdVisa2kSim(const char *Cmd) { diff --git a/client/cmdlfvisa2000.h b/client/cmdlfvisa2000.h index e8995cbdd..63e7fdc67 100644 --- a/client/cmdlfvisa2000.h +++ b/client/cmdlfvisa2000.h @@ -9,19 +9,7 @@ #ifndef CMDLFVISA2000_H__ #define CMDLFVISA2000_H__ -#include -#include -#include #include "common.h" -#include "cmdparser.h" // command_t -#include "comms.h" -#include "ui.h" -#include "graph.h" -#include "cmddata.h" -#include "cmdlf.h" -#include "protocols.h" // for T55xx config register definitions -#include "lfdemod.h" // parityTest -#include "cmdlft55xx.h" // write verify int CmdLFVisa2k(const char *Cmd);