From f7c4336645fbcb82e4a06c2467f2ec82db33f8e9 Mon Sep 17 00:00:00 2001 From: rioux Date: Fri, 25 Jun 2021 13:26:16 +0200 Subject: [PATCH] last update askip --- client/src/cmdlfnexwatch.c | 14 ++++++++------ common/lfdemod.c | 11 ----------- common/lfdemod.h | 1 - 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/client/src/cmdlfnexwatch.c b/client/src/cmdlfnexwatch.c index a32a00a8c..39a3ff7cc 100644 --- a/client/src/cmdlfnexwatch.c +++ b/client/src/cmdlfnexwatch.c @@ -24,6 +24,7 @@ #include "cmdlft55xx.h" // clone.. #include "cmdlfem4x05.h" // #include "cliparser.h" +#include "util.h" typedef enum { @@ -110,9 +111,8 @@ static int nexwatch_scamble(NexWatchScramble_t action, uint32_t *id, uint32_t *s } static int nexwatch_magic_bruteforce(uint32_t cn, uint8_t calc_parity, uint8_t chk) { - uint8_t magic = 0; - uint8_t temp_checksum; - for (; magic < 255; magic++) { + for (uint8_t magic = 0; magic < 255; magic++) { + uint8_t temp_checksum; temp_checksum = nexwatch_checksum(magic, cn, calc_parity); if (temp_checksum == chk) { PrintAndLogEx(SUCCESS, " Magic number : " _GREEN_("0x%X"), magic); @@ -409,12 +409,14 @@ static int CmdNexWatchClone(const char *Cmd) { if (use_psk2) { blocks[0] = 270464; - uint8_t * res_shifted = malloc(96 * sizeof(uint8_t)); - uint8_t * res = byte_to_bytebits(raw, 12); + uint8_t * res_shifted = calloc(96, sizeof(uint8_t)); + uint8_t * res = calloc(96, sizeof(uint8_t)); + bytes_to_bytebits(raw, 12, res); psk1TOpsk2(res, 96); memcpy(res_shifted, &res[1], 95 * sizeof(uint8_t)); - res_shifted[95] = 0; + free(res); bits_to_array(res_shifted, 96, raw); + free(res_shifted); } diff --git a/common/lfdemod.c b/common/lfdemod.c index 350944314..3c32834f6 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -295,17 +295,6 @@ int bits_to_array(const uint8_t *bits, size_t size, uint8_t *dest) { return PM3_SUCCESS; } -// Ex: 0x56 and numbytes = 1 ==> return res = {0,1,0,1,0,1,1,0} -uint8_t * byte_to_bytebits(uint8_t * bits, size_t numbytes){ - uint8_t * result = malloc(numbytes * 8 * (sizeof(uint8_t))); - for(int i=0;i