From 55fa5e7c35986adf3f1cd9c5f0ffbac7bd44ddbf Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 11 Oct 2020 22:40:05 +0200 Subject: [PATCH] make style --- armsrc/iso14443a.c | 50 +++++++-------- armsrc/ticks.h | 2 +- client/luascripts/lf_em_tearoff.lua | 36 +++++------ client/luascripts/lf_em_tearoff_protect.lua | 30 ++++----- client/src/cmddata.c | 60 +++++++++--------- client/src/cmdhffido.c | 2 +- client/src/cmdhfmfhard.c | 4 +- client/src/cmdhfmfu.c | 38 ++++++------ client/src/cmdhfwaveshare.c | 18 +++--- client/src/cmdlfhid.c | 28 ++++----- client/src/cmdlft55xx.h | 24 ++++---- client/src/cmdtrace.c | 58 +++++++++--------- client/src/mifare/mifarehost.c | 2 +- client/src/scripting.c | 8 +-- doc/commands.md | 67 +++++++++++---------- 15 files changed, 215 insertions(+), 212 deletions(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 6fcd2c96e..ec5d11d00 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -135,35 +135,35 @@ static hf14a_config hf14aconfig = { 0, 0, 0, 0, 0 } ; void printHf14aConfig(void) { DbpString(_CYAN_("HF 14a config")); Dbprintf(" [a] Anticol override....%i %s%s%s", - hf14aconfig.forceanticol, - (hf14aconfig.forceanticol == 0) ? "( " _GREEN_("No") " ) follow standard " : "", - (hf14aconfig.forceanticol == 1) ? "( " _RED_("Yes") " ) always do anticol" : "", - (hf14aconfig.forceanticol == 2) ? "( " _RED_("Yes") " ) always skip anticol" : "" - ); + hf14aconfig.forceanticol, + (hf14aconfig.forceanticol == 0) ? "( " _GREEN_("No") " ) follow standard " : "", + (hf14aconfig.forceanticol == 1) ? "( " _RED_("Yes") " ) always do anticol" : "", + (hf14aconfig.forceanticol == 2) ? "( " _RED_("Yes") " ) always skip anticol" : "" + ); Dbprintf(" [b] BCC override........%i %s%s%s", - hf14aconfig.forcebcc, - (hf14aconfig.forcebcc == 0) ? "( " _GREEN_("No") " ) follow standard" : "", - (hf14aconfig.forcebcc == 1) ? "( " _RED_("Yes") " ) always do CL2" : "", - (hf14aconfig.forcebcc == 2) ? "( " _RED_("Yes") " ) always use card BCC" : "" - ); + hf14aconfig.forcebcc, + (hf14aconfig.forcebcc == 0) ? "( " _GREEN_("No") " ) follow standard" : "", + (hf14aconfig.forcebcc == 1) ? "( " _RED_("Yes") " ) always do CL2" : "", + (hf14aconfig.forcebcc == 2) ? "( " _RED_("Yes") " ) always use card BCC" : "" + ); Dbprintf(" [2] CL2 override........%i %s%s%s", - hf14aconfig.forcecl2, - (hf14aconfig.forcecl2 == 0) ? "( " _GREEN_("No") " ) follow standard" : "", - (hf14aconfig.forcecl2 == 1) ? "( " _RED_("Yes") " ) always do CL2" : "", - (hf14aconfig.forcecl2 == 2) ? "( " _RED_("Yes") " ) always skip CL2" : "" - ); + hf14aconfig.forcecl2, + (hf14aconfig.forcecl2 == 0) ? "( " _GREEN_("No") " ) follow standard" : "", + (hf14aconfig.forcecl2 == 1) ? "( " _RED_("Yes") " ) always do CL2" : "", + (hf14aconfig.forcecl2 == 2) ? "( " _RED_("Yes") " ) always skip CL2" : "" + ); Dbprintf(" [3] CL3 override........%i %s%s%s", - hf14aconfig.forcecl3, - (hf14aconfig.forcecl3 == 0) ? "( " _GREEN_("No") " ) follow standard" : "", - (hf14aconfig.forcecl3 == 1) ? "( " _RED_("Yes") " ) always do CL3" : "", - (hf14aconfig.forcecl3 == 2) ? "( " _RED_("Yes") " ) always skip CL3" : "" - ); + hf14aconfig.forcecl3, + (hf14aconfig.forcecl3 == 0) ? "( " _GREEN_("No") " ) follow standard" : "", + (hf14aconfig.forcecl3 == 1) ? "( " _RED_("Yes") " ) always do CL3" : "", + (hf14aconfig.forcecl3 == 2) ? "( " _RED_("Yes") " ) always skip CL3" : "" + ); Dbprintf(" [r] RATS override.......%i %s%s%s", - hf14aconfig.forcerats, - (hf14aconfig.forcerats == 0) ? "( " _GREEN_("No") " q follow standard " : "", - (hf14aconfig.forcerats == 1) ? "( " _RED_("Yes") " ) always do RATS" : "", - (hf14aconfig.forcerats == 2) ? "( " _RED_("Yes") " ) always skip RATS" : "" - ); + hf14aconfig.forcerats, + (hf14aconfig.forcerats == 0) ? "( " _GREEN_("No") " q follow standard " : "", + (hf14aconfig.forcerats == 1) ? "( " _RED_("Yes") " ) always do RATS" : "", + (hf14aconfig.forcerats == 2) ? "( " _RED_("Yes") " ) always skip RATS" : "" + ); } /** diff --git a/armsrc/ticks.h b/armsrc/ticks.h index dcf23ece1..d26b05bbc 100644 --- a/armsrc/ticks.h +++ b/armsrc/ticks.h @@ -20,7 +20,7 @@ void SpinDelay(int ms); void SpinDelayUs(int us); -void SpinDelayUsPrecision(int us); // precision 0.6us , running for 43ms before +void SpinDelayUsPrecision(int us); // precision 0.6us , running for 43ms before void StartTickCount(void); uint32_t RAMFUNC GetTickCount(void); diff --git a/client/luascripts/lf_em_tearoff.lua b/client/luascripts/lf_em_tearoff.lua index 008905d0c..2aa0dd5ee 100644 --- a/client/luascripts/lf_em_tearoff.lua +++ b/client/luascripts/lf_em_tearoff.lua @@ -51,18 +51,18 @@ local function main(args) --[[ Basically do the following, - + 1. hw tear - 2. lf em 4x05_write + 2. lf em 4x05_write 3. lf em 4x05_read - + The first two commands doesn't need a feedback from the system, so going with core.console commands. Since the read needs demodulation of signal I opted to add that function from cmdlfem4x.c to the core lua scripting core.em4x05_read(addr, password) - + --]] local n, addr, password, sd, ed, wr_value, rd_value - + for o, a in getopt.getopt(args, 'he:s:a:p:n:r:w:') do if o == 'h' then return help() end if o == 'n' then n = a end @@ -85,7 +85,7 @@ local function main(args) if #password ~= 8 then password = '' end - + if #wr_value ~= 8 then wr_value = 'FFFFFFFF' end @@ -93,11 +93,11 @@ local function main(args) if #rd_value ~= 8 then rd_value = 'FFFFFFFF' end - + if sd > ed then return oops('start delay can\'t be larger than end delay', sd, ed) end - + print('Starting EM4x05 tear off') print('target addr', addr) if password then @@ -107,25 +107,25 @@ local function main(args) print('target delay', sd ,ed) print('read value', rd_value) print('write value', wr_value) - + local res_tear = 0 local res_nowrite = 0 - + local set_tearoff_delay = 'hw tearoff --delay %d' local enable_tearoff = 'hw tearoff --on' - + local wr_template = 'lf em 4x05_write %s %s %s' - + -- init addr to value core.console(wr_template:format(addr, wr_value, password)) - + if sd == ed then ed = n n = 0 end - + for step = sd, ed, n do - + io.flush() if core.kbd_enter_pressed() then print("aborted by user") @@ -139,11 +139,11 @@ local function main(args) c = wr_template:format(addr, wr_value, password) core.console(c) end - + local c = set_tearoff_delay:format(step) core.console(c); core.console(enable_tearoff) - + c = wr_template:format(addr, wr_value, password) core.console(c) @@ -151,7 +151,7 @@ local function main(args) if err then return oops(err) end - + local wordstr = ('%08X'):format(word) if wordstr ~= wr_value then diff --git a/client/luascripts/lf_em_tearoff_protect.lua b/client/luascripts/lf_em_tearoff_protect.lua index 7ac454966..d07d68f32 100644 --- a/client/luascripts/lf_em_tearoff_protect.lua +++ b/client/luascripts/lf_em_tearoff_protect.lua @@ -57,7 +57,7 @@ local function exit_msg() print('') print('================= '..ansicolors.green..'verify with'..ansicolors.reset..' =================') print(' lf em 4x05_dump') - print('===============================================') + print('===============================================') return nil end @@ -70,18 +70,18 @@ local function main(args) --[[ Basically it does the following, - + 1. hw tear - 2. lf em 4x05_write + 2. lf em 4x05_write 3. lf em 4x05_read - + The first two commands dont need a feedback from the system, so going with core.console commands. Since the read needs demodulation of signal I opted to add that function from cmdlfem4x.c to the core lua scripting core.em4x05_read(addr, password) - + --]] local n, password, sd, ed - + for o, a in getopt.getopt(args, 'he:s:p:n:') do if o == 'h' then return help() end if o == 'n' then n = tonumber(a) end @@ -94,7 +94,7 @@ local function main(args) if #password ~= 8 then password = '' end - + local word14, err14 = core.em4x05_read(14, password) if err14 then return oops(err14) @@ -143,11 +143,11 @@ local function main(args) print('target delay', sd ,ed) print('read value', rd_value) print('write value', wr_value) - print('==========================================') - + print('==========================================') + local res_tear = 0 local res_nowrite = 0 - + -- fix at one specific delay if sd == ed then n = 0 @@ -157,7 +157,7 @@ local function main(args) local soon = 0 local late = 0 while sd <= ed do - + if auto and n < 1 then -- n is a float print('[!] Reached n < 1 => '..ansicolors.yellow..'disabling automatic mode'..ansicolors.reset) ed = sd @@ -181,7 +181,7 @@ local function main(args) soon = 0 late = 0 end - + io.flush() if core.kbd_enter_pressed() then print("aborted by user") @@ -200,16 +200,16 @@ local function main(args) if err14 then return oops(err14) end - + local wordstr14 = ('%08X'):format(word14) word15, err15 = core.em4x05_read(15, password) if err15 then return oops(err15) end - + local wordstr15 = ('%08X'):format(word15) - + print(('[=] ref:'..rd_value..' 14:%08X 15:%08X '):format(word14, word15)) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index 221d8db91..bb831f311 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -635,7 +635,7 @@ static int Cmdaskmandemod(const char *Cmd) { st = true; Cmd += 2; } - + char amp = tolower(param_getchar(Cmd, 0)); sscanf(Cmd, "%i %i %i %zu %c", &clk, &invert, &maxErr, &maxLen, &); @@ -992,7 +992,7 @@ static int CmdDecimate(const char *Cmd) { "Performs decimation, by reducing samples N times in the grapbuf. Good for PSK\n", "data decimate\n" "data decimate 4" - ); + ); void *argtable[] = { arg_param_begin, @@ -1001,11 +1001,11 @@ static int CmdDecimate(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); int n = arg_get_int_def(ctx, 1, 2); - CLIParserFree(ctx); + CLIParserFree(ctx); for (size_t i = 0; i < (GraphTraceLen / n); ++i) GraphBuffer[i] = GraphBuffer[i * n]; - + GraphTraceLen /= n; PrintAndLogEx(SUCCESS, "decimated by " _GREEN_("%u"), n); RepaintGraphWindow(); @@ -1024,7 +1024,7 @@ static int CmdUndecimate(const char *Cmd) { "Performs un-decimation, by repeating each sample N times in the graphbuf", "data undecimate\n" "data undecimate 4\n" - ); + ); void *argtable[] = { arg_param_begin, @@ -1033,7 +1033,7 @@ static int CmdUndecimate(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); int factor = arg_get_int_def(ctx, 1, 2); - CLIParserFree(ctx); + CLIParserFree(ctx); //We have memory, don't we? int swap[MAX_GRAPH_TRACE_LEN] = {0}; @@ -1042,9 +1042,9 @@ static int CmdUndecimate(const char *Cmd) { int count = 0; for (count = 0; count < factor && s_index + count < MAX_GRAPH_TRACE_LEN; count++) { swap[s_index + count] = ( - (double)(factor - count) / (factor - 1)) * GraphBuffer[g_index] + - ((double)count / factor) * GraphBuffer[g_index + 1] - ; + (double)(factor - count) / (factor - 1)) * GraphBuffer[g_index] + + ((double)count / factor) * GraphBuffer[g_index + 1] + ; } s_index += count; g_index++; @@ -1701,7 +1701,7 @@ int CmdTuneSamples(const char *Cmd) { // Q measure with Q=f/delta_f double v_3db_scaled = (double)(package->peak_v * 0.707) / 512; // /512 == >>9 - uint32_t s2=0, s4=0; + uint32_t s2 = 0, s4 = 0; for (int i = 1; i < 256; i++) { if ((s2 == 0) && (package->results[i] > v_3db_scaled)) { s2 = i; @@ -1715,10 +1715,10 @@ int CmdTuneSamples(const char *Cmd) { if (s4 != 0) { // we got all our points of interest double a = package->results[s2 - 1]; double b = package->results[s2]; - double f1 = LF_DIV2FREQ(s2 - 1 + (v_3db_scaled - a)/(b-a)); + double f1 = LF_DIV2FREQ(s2 - 1 + (v_3db_scaled - a) / (b - a)); double c = package->results[s4 - 1]; double d = package->results[s4]; - double f2 = LF_DIV2FREQ(s4 - 1 + (c - v_3db_scaled)/(c-d)); + double f2 = LF_DIV2FREQ(s4 - 1 + (c - v_3db_scaled) / (c - d)); lfq1 = LF_DIV2FREQ(package->peak_f) / (f1 - f2); PrintAndLogEx(SUCCESS, "Approx. Q factor (*): %.1lf by frequency bandwidth measurement", lfq1); } @@ -1955,10 +1955,10 @@ int CmdSave(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, false); bool as_wave = arg_get_lit(ctx, 1); - + int fnlen = 0; char filename[FILE_PATH_SIZE] = {0}; - CLIGetStrWithReturn(ctx, 2, (uint8_t*)filename, &fnlen); + CLIGetStrWithReturn(ctx, 2, (uint8_t *)filename, &fnlen); CLIParserFree(ctx); if (as_wave) @@ -2432,10 +2432,10 @@ static int try_detect_modulation(void) { clk = GetAskClock("", false); if (clk > 0) { // 0 = auto clock - // 0 = no invert + // 0 = no invert // 1 = maxError 1 // 0 = max len - // false = no amplify + // false = no amplify // false = no verbose // false = no emSearch // 1 = Ask/Man @@ -2450,7 +2450,7 @@ static int try_detect_modulation(void) { // false = no emSearch // 1 = Ask/Man // st = true - + // ASK / biphase if ((ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS)) { tests[hits].modulation = DEMOD_BI; @@ -2465,11 +2465,11 @@ static int try_detect_modulation(void) { } } clk = GetNrzClock("", false); - if ((NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS)) { - tests[hits].modulation = DEMOD_NRZ; - tests[hits].bitrate = clk; - ++hits; - } + if ((NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS)) { + tests[hits].modulation = DEMOD_NRZ; + tests[hits].bitrate = clk; + ++hits; + } clk = GetPskClock("", false); if (clk > 0) { @@ -2481,7 +2481,7 @@ static int try_detect_modulation(void) { tests[hits].modulation = DEMOD_PSK1; tests[hits].bitrate = clk; ++hits; - + // get psk carrier tests[hits].carrier = GetPskCarrier(false); } @@ -2493,8 +2493,8 @@ static int try_detect_modulation(void) { if (hits) { PrintAndLogEx(SUCCESS, "Found [%d] possible matches for modulation.", hits); for (int i = 0; i < hits; ++i) { - PrintAndLogEx(INFO, "--[%d]---------------", i + 1); - print_modulation(tests[i]); + PrintAndLogEx(INFO, "--[%d]---------------", i + 1); + print_modulation(tests[i]); } return PM3_SUCCESS; } else { @@ -2508,20 +2508,20 @@ static int CmdDataModulationSearch(const char *Cmd) { CLIParserInit(&ctx, "data modulation", "search LF signal after clock and modulation\n", "data modulation" - ); + ); void *argtable[] = { arg_param_begin, arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); - CLIParserFree(ctx); + CLIParserFree(ctx); return try_detect_modulation(); } static command_t CommandTable[] = { {"help", CmdHelp, AlwaysAvailable, "This help"}, - + {"-----------", CmdHelp, AlwaysAvailable, "------------------------- " _CYAN_("Modulation") "-------------------------"}, {"biphaserawdecode", CmdBiphaseDecodeRaw, AlwaysAvailable, "Biphase decode bin stream in DemodBuffer"}, {"detectclock", CmdDetectClockRate, AlwaysAvailable, "Detect ASK, FSK, NRZ, PSK clock rate of wave in GraphBuffer"}, @@ -2529,7 +2529,7 @@ static command_t CommandTable[] = { {"manrawdecode", Cmdmandecoderaw, AlwaysAvailable, "Manchester decode binary stream in DemodBuffer"}, {"modulation", CmdDataModulationSearch, AlwaysAvailable, "Identify LF signal for clock and modulation"}, {"rawdemod", CmdRawDemod, AlwaysAvailable, "Demodulate the data in the GraphBuffer and output binary"}, - + {"-----------", CmdHelp, AlwaysAvailable, "------------------------- " _CYAN_("Graph") "-------------------------"}, {"askedgedetect", CmdAskEdgeDetect, AlwaysAvailable, "[threshold] Adjust Graph for manual ASK demod using the length of sample differences to detect the edge of a wave (use 20-45, def:25)"}, {"autocorr", CmdAutoCorr, AlwaysAvailable, "Autocorrelation over window"}, @@ -2552,7 +2552,7 @@ static command_t CommandTable[] = { {"convertbitstream", CmdConvertBitStream, AlwaysAvailable, "Convert GraphBuffer's 0/1 values to 127 / -127"}, {"getbitstream", CmdGetBitStream, AlwaysAvailable, "Convert GraphBuffer's >=1 values to 1 and <1 to 0"}, - + {"-----------", CmdHelp, AlwaysAvailable, "------------------------- " _CYAN_("General") "-------------------------"}, {"bin2hex", Cmdbin2hex, AlwaysAvailable, "Converts binary to hexadecimal"}, diff --git a/client/src/cmdhffido.c b/client/src/cmdhffido.c index a0bd2267f..009a14e9f 100644 --- a/client/src/cmdhffido.c +++ b/client/src/cmdhffido.c @@ -914,7 +914,7 @@ static int cmd_hf_fido_2get_assertion(const char *cmd) { } static command_t CommandTable[] = { - {"help", CmdHelp, AlwaysAvailable, "This help."}, + {"help", CmdHelp, AlwaysAvailable, "This help."}, {"info", cmd_hf_fido_list, IfPm3Iso14443a, "List ISO 14443A history"}, {"info", cmd_hf_fido_info, IfPm3Iso14443a, "Info about FIDO tag."}, {"reg", cmd_hf_fido_register, IfPm3Iso14443a, "FIDO U2F Registration Message."}, diff --git a/client/src/cmdhfmfhard.c b/client/src/cmdhfmfhard.c index cea704d7f..d75e6b0a3 100644 --- a/client/src/cmdhfmfhard.c +++ b/client/src/cmdhfmfhard.c @@ -173,11 +173,11 @@ static inline uint32_t next_state(uint32_t *bitarray, uint32_t state) { line <<= 1; } index++; - while (state < (1 << 24) && bitarray[index] == 0x00000000 ) { + while (state < (1 << 24) && bitarray[index] == 0x00000000) { index++; state += 0x20; } - + if (state >= (1 << 24)) { return (1 << 24); } diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index d9d65ba28..7aa202650 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -2402,13 +2402,13 @@ static int CmdHF14AMfUCAuth(const char *Cmd) { } uint8_t key_buf[16]; - uint8_t * key; + uint8_t *key; int succeeded; // If no hex key is specified, try all known ones if (strlen(Cmd) == 0) { succeeded = try_default_3des_keys(&key); - // Else try user-supplied + // Else try user-supplied } else { if (param_gethex(Cmd, 0, key_buf, 32)) { PrintAndLogEx(WARNING, "Password must include 32 HEX symbols"); @@ -2840,7 +2840,7 @@ static int CmdHF14AMfuOtpTearoff(const char *Cmd) { interval = param_get32ex(Cmd, cmdp + 1, interval, 10); //if (interval == 0) { // PrintAndLogEx(WARNING, "Wrong interval number"); - //errors = true; + //errors = true; //} cmdp += 2; break; @@ -2940,7 +2940,7 @@ static int CmdHF14AMfuOtpTearoff(const char *Cmd) { if (isOK) { memcpy(post, resp.data.asBytes, sizeof(post)); got_post = true; - } + } } if (got_pre && got_post) { @@ -2949,27 +2949,27 @@ static int CmdHF14AMfuOtpTearoff(const char *Cmd) { snprintf(prestr, sizeof(prestr), "%s", sprint_hex_inrow(pre, sizeof(pre))); char poststr[20] = {0}; snprintf(poststr, sizeof(poststr), "%s", sprint_hex_inrow(post, sizeof(post))); - + if (memcmp(pre, post, sizeof(pre)) == 0) { - + PrintAndLogEx(INFO, "Current %02d (0x%02X) %s" - , blockNoUint - , blockNoUint - , poststr - ); + , blockNoUint + , blockNoUint + , poststr + ); } else { // skip first message, since its the reset write. - if ( actualTime == startTime ) { + if (actualTime == startTime) { PrintAndLogEx(INFO, "Inital write"); } else { PrintAndLogEx(INFO, _CYAN_("Tear off occured") " : %02d (0x%02X) %s vs " _RED_("%s") - , blockNoUint - , blockNoUint - , prestr - , poststr - ); - + , blockNoUint + , blockNoUint + , prestr + , poststr + ); + lock_on = true; if (phase_clear == -1) @@ -3017,10 +3017,10 @@ static int CmdHF14AMfuOtpTearoff(const char *Cmd) { PrintAndLogEx(INFO, "----------------------------------------------------"); if (phase_clear > - 1) { - PrintAndLogEx(INFO, "phase 1 (erase eeprom) could be " _YELLOW_("%d") " us" , phase_clear); + PrintAndLogEx(INFO, "phase 1 (erase eeprom) could be " _YELLOW_("%d") " us", phase_clear); } if (phase_newwr > - 1) { - PrintAndLogEx(INFO, "phase 2 (new write) could be " _YELLOW_("%d") " us" , phase_newwr); + PrintAndLogEx(INFO, "phase 2 (new write) could be " _YELLOW_("%d") " us", phase_newwr); } PrintAndLogEx(NORMAL, ""); return PM3_SUCCESS; diff --git a/client/src/cmdhfwaveshare.c b/client/src/cmdhfwaveshare.c index c6e9e4742..4e5728e7f 100644 --- a/client/src/cmdhfwaveshare.c +++ b/client/src/cmdhfwaveshare.c @@ -641,10 +641,10 @@ static int start_drawing(uint8_t model_nr, uint8_t *black, uint8_t *red) { uint8_t progress = 0; uint8_t step0[2] = {0xcd, 0x0d}; uint8_t step1[3] = {0xcd, 0x00, 10}; // select e-paper type and reset e-paper - // 4 :2.13inch e-Paper - // 7 :2.9inch e-Paper - // 10 :4.2inch e-Paper - // 14 :7.5inch e-Paper + // 4 :2.13inch e-Paper + // 7 :2.9inch e-Paper + // 10 :4.2inch e-Paper + // 14 :7.5inch e-Paper uint8_t step2[2] = {0xcd, 0x01}; // e-paper normal mode type: uint8_t step3[2] = {0xcd, 0x02}; // e-paper config1 uint8_t step4[2] = {0xcd, 0x03}; // e-paper power on @@ -652,11 +652,11 @@ static int start_drawing(uint8_t model_nr, uint8_t *black, uint8_t *red) { uint8_t step6[2] = {0xcd, 0x06}; // EDP load to main uint8_t step7[2] = {0xcd, 0x07}; // Data preparation - uint8_t step8[123] = {0xcd, 0x08, 0x64}; // Data start command - // 2.13inch(0x10:Send 16 data at a time) - // 2.9inch(0x10:Send 16 data at a time) - // 4.2inch(0x64:Send 100 data at a time) - // 7.5inch(0x78:Send 120 data at a time) + uint8_t step8[123] = {0xcd, 0x08, 0x64}; // Data start command + // 2.13inch(0x10:Send 16 data at a time) + // 2.9inch(0x10:Send 16 data at a time) + // 4.2inch(0x64:Send 100 data at a time) + // 7.5inch(0x78:Send 120 data at a time) uint8_t step9[2] = {0xcd, 0x18}; // e-paper power on uint8_t step10[2] = {0xcd, 0x09}; // Refresh e-paper uint8_t step11[2] = {0xcd, 0x0a}; // wait for ready diff --git a/client/src/cmdlfhid.c b/client/src/cmdlfhid.c index 27b475620..48dfc9928 100644 --- a/client/src/cmdlfhid.c +++ b/client/src/cmdlfhid.c @@ -202,7 +202,7 @@ static int CmdHIDSim(const char *Cmd) { arg_param_begin, arg_str0("w", "wiegand", "", "see " _YELLOW_("`wiegand list`") " for available formats"), arg_u64_0(NULL, "fc", "", "facility code"), - arg_u64_0(NULL, "cn", "", "card number"), + arg_u64_0(NULL, "cn", "", "card number"), arg_int0("i", NULL, "", "issue level"), arg_int0("o", "oem", "", "OEM code"), arg_strx0("r", "raw", "", "raw bytes"), @@ -214,24 +214,24 @@ static int CmdHIDSim(const char *Cmd) { char format[16] = {0}; int format_len = 0; CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)format, sizeof(format), &format_len); - + wiegand_card_t card; memset(&card, 0, sizeof(wiegand_card_t)); card.FacilityCode = arg_get_u32_def(ctx, 2, 0); card.CardNumber = arg_get_u32_def(ctx, 3, 0); card.IssueLevel = arg_get_u32_def(ctx, 4, 0); card.OEM = arg_get_u32_def(ctx, 5, 0); - + int raw_len = 0; char raw[40] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 6), (uint8_t *)raw, sizeof(raw), &raw_len); //bool q5 = arg_get_lit(ctx, 7); - CLIParserFree(ctx); + CLIParserFree(ctx); wiegand_message_t packed; memset(&packed, 0, sizeof(wiegand_message_t)); - + // format validation int format_idx = HIDFindCardFormat((char *)format); if (format_idx == -1 && raw_len == 0) { @@ -253,10 +253,10 @@ static int CmdHIDSim(const char *Cmd) { } if (raw_len == 0) { - PrintAndLogEx(INFO, "Simulating HID tag"); + PrintAndLogEx(INFO, "Simulating HID tag"); HIDTryUnpack(&packed, false); } else { - PrintAndLogEx(INFO, "Simulating HID tag using raw " _GREEN_("%s"), raw); + PrintAndLogEx(INFO, "Simulating HID tag using raw " _GREEN_("%s"), raw); } PrintAndLogEx(INFO, "Press pm3-button to abort simulation"); @@ -295,7 +295,7 @@ static int CmdHIDClone(const char *Cmd) { arg_param_begin, arg_str0("w", "wiegand", "", "see " _YELLOW_("`wiegand list`") " for available formats"), arg_u64_0(NULL, "fc", "", "facility code"), - arg_u64_0(NULL, "cn", "", "card number"), + arg_u64_0(NULL, "cn", "", "card number"), arg_int0("i", NULL, "", "issue level"), arg_int0("o", "oem", "", "OEM code"), arg_strx0("r", "raw", "", "raw bytes"), @@ -307,24 +307,24 @@ static int CmdHIDClone(const char *Cmd) { char format[16] = {0}; int format_len = 0; CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)format, sizeof(format), &format_len); - + wiegand_card_t card; memset(&card, 0, sizeof(wiegand_card_t)); card.FacilityCode = arg_get_u32_def(ctx, 2, 0); card.CardNumber = arg_get_u32_def(ctx, 3, 0); card.IssueLevel = arg_get_u32_def(ctx, 4, 0); card.OEM = arg_get_u32_def(ctx, 5, 0); - + int raw_len = 0; char raw[40] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 6), (uint8_t *)raw, sizeof(raw), &raw_len); //bool q5 = arg_get_lit(ctx, 7); - CLIParserFree(ctx); + CLIParserFree(ctx); wiegand_message_t packed; memset(&packed, 0, sizeof(wiegand_message_t)); - + // format validation int format_idx = HIDFindCardFormat((char *)format); if (format_idx == -1 && raw_len == 0) { @@ -346,10 +346,10 @@ static int CmdHIDClone(const char *Cmd) { } if (raw_len == 0) { - PrintAndLogEx(INFO, "Preparing to clone HID tag"); + PrintAndLogEx(INFO, "Preparing to clone HID tag"); HIDTryUnpack(&packed, false); } else { - PrintAndLogEx(INFO, "Preparing to clone HID tag using raw " _YELLOW_("%s"), raw); + PrintAndLogEx(INFO, "Preparing to clone HID tag using raw " _YELLOW_("%s"), raw); } lf_hidsim_t payload; diff --git a/client/src/cmdlft55xx.h b/client/src/cmdlft55xx.h index 373d70a98..e17e1ac24 100644 --- a/client/src/cmdlft55xx.h +++ b/client/src/cmdlft55xx.h @@ -106,18 +106,18 @@ typedef struct { } t5555_tracedata_t; typedef enum { - DEMOD_NRZ = 0x00, - DEMOD_PSK1 = 0x01, - DEMOD_PSK2 = 0x02, - DEMOD_PSK3 = 0x03, - DEMOD_FSK1 = 0x04, - DEMOD_FSK1a = 0x05, - DEMOD_FSK2 = 0x06, - DEMOD_FSK2a = 0x07, - DEMOD_FSK = 0xF0, //generic FSK (auto detect FCs) - DEMOD_ASK = 0x08, - DEMOD_BI = 0x10, - DEMOD_BIa = 0x18, + DEMOD_NRZ = 0x00, + DEMOD_PSK1 = 0x01, + DEMOD_PSK2 = 0x02, + DEMOD_PSK3 = 0x03, + DEMOD_FSK1 = 0x04, + DEMOD_FSK1a = 0x05, + DEMOD_FSK2 = 0x06, + DEMOD_FSK2a = 0x07, + DEMOD_FSK = 0xF0, //generic FSK (auto detect FCs) + DEMOD_ASK = 0x08, + DEMOD_BI = 0x10, + DEMOD_BIa = 0x18, } t55xx_modulation; typedef struct { diff --git a/client/src/cmdtrace.c b/client/src/cmdtrace.c index 3c24d993b..d23a5a92a 100644 --- a/client/src/cmdtrace.c +++ b/client/src/cmdtrace.c @@ -587,28 +587,28 @@ static int CmdTraceSave(const char *Cmd) { int CmdTraceList(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "trace list", - "Annotate trace buffer with selected protocol data\n" - "You can load a trace from file (see `trace load -h`) or it be downloaded from device by default\n", - "trace list -t raw -> just show raw data without annotations\n" - "trace list -t 14a -> interpret as " _YELLOW_("ISO14443-A") " communications\n" - "trace list -t thinfilm -> interpret as " _YELLOW_("Thinfilm") " communications\n" - "trace list -t topaz -> interpret as " _YELLOW_("Topaz") " communications\n" - "trace list -t mf -> interpret as " _YELLOW_("MIFARE Classic") " communications and decrypt crypto1 stream\n" - "trace list -t des -> interpret as " _YELLOW_("MIFARE DESFire") " communications\n" - "trace list -t 14b -> interpret as " _YELLOW_("ISO14443-B") " communications\n" - "trace list -t 7816 -> interpret as " _YELLOW_("ISO7816-4") " communications\n" - "trace list -t 15 -> interpret as " _YELLOW_("ISO15693") " communications\n" - "trace list -t iclass -> interpret as " _YELLOW_("iCLASS") " communications\n" - "trace list -t legic -> interpret as " _YELLOW_("LEGIC") " communications\n" - "trace list -t felica -> interpret as " _YELLOW_("ISO18092 / FeliCa") " communications\n" - "trace list -t hitag1 -> interpret as " _YELLOW_("Hitag1") " communications\n" - "trace list -t hitag2 -> interpret as " _YELLOW_("Hitag2") " communications\n" - "trace list -t hitags -> interpret as " _YELLOW_("HitagS") " communications\n" - "trace list -t lto -> interpret as " _YELLOW_("LTO-CM") " communications\n" - "trace list -t cryptorf -> interpret as " _YELLOW_("CryptoRF") " communitcations\n" - "trace list -t 14a f -> show frame delay times\n" - "trace list -t 14a 1 -> use trace buffer " - ); + "Annotate trace buffer with selected protocol data\n" + "You can load a trace from file (see `trace load -h`) or it be downloaded from device by default\n", + "trace list -t raw -> just show raw data without annotations\n" + "trace list -t 14a -> interpret as " _YELLOW_("ISO14443-A") " communications\n" + "trace list -t thinfilm -> interpret as " _YELLOW_("Thinfilm") " communications\n" + "trace list -t topaz -> interpret as " _YELLOW_("Topaz") " communications\n" + "trace list -t mf -> interpret as " _YELLOW_("MIFARE Classic") " communications and decrypt crypto1 stream\n" + "trace list -t des -> interpret as " _YELLOW_("MIFARE DESFire") " communications\n" + "trace list -t 14b -> interpret as " _YELLOW_("ISO14443-B") " communications\n" + "trace list -t 7816 -> interpret as " _YELLOW_("ISO7816-4") " communications\n" + "trace list -t 15 -> interpret as " _YELLOW_("ISO15693") " communications\n" + "trace list -t iclass -> interpret as " _YELLOW_("iCLASS") " communications\n" + "trace list -t legic -> interpret as " _YELLOW_("LEGIC") " communications\n" + "trace list -t felica -> interpret as " _YELLOW_("ISO18092 / FeliCa") " communications\n" + "trace list -t hitag1 -> interpret as " _YELLOW_("Hitag1") " communications\n" + "trace list -t hitag2 -> interpret as " _YELLOW_("Hitag2") " communications\n" + "trace list -t hitags -> interpret as " _YELLOW_("HitagS") " communications\n" + "trace list -t lto -> interpret as " _YELLOW_("LTO-CM") " communications\n" + "trace list -t cryptorf -> interpret as " _YELLOW_("CryptoRF") " communitcations\n" + "trace list -t 14a f -> show frame delay times\n" + "trace list -t 14a 1 -> use trace buffer " + ); void *argtable[] = { arg_param_begin, @@ -618,24 +618,24 @@ int CmdTraceList(const char *Cmd) { arg_lit0("r", NULL, "show relative times (gap and duration)"), arg_lit0("u", NULL, "display times in microseconds instead of clock cycles"), arg_lit0("x", NULL, "show hexdump to convert to pcap(ng)\n" - " or to import into Wireshark using encapsulation type \"ISO 14443\""), + " or to import into Wireshark using encapsulation type \"ISO 14443\""), arg_strx0("t", "type", NULL, "protocol to annotate the trace"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); - + bool use_buffer = arg_get_lit(ctx, 1); bool show_wait_cycles = arg_get_lit(ctx, 2); bool mark_crc = arg_get_lit(ctx, 3); bool use_relative = arg_get_lit(ctx, 4); - bool use_us = arg_get_lit(ctx, 5); + bool use_us = arg_get_lit(ctx, 5); bool show_hex = arg_get_lit(ctx, 6); int tlen = 0; char type[10] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 7), (uint8_t *)type, sizeof(type), &tlen); str_lower(type); - + CLIParserFree(ctx); clearCommandBuffer(); @@ -660,9 +660,9 @@ int CmdTraceList(const char *Cmd) { else if (strcmp(type, "thinfilm") == 0) protocol = THINFILM; else if (strcmp(type, "lto") == 0) protocol = LTO; else if (strcmp(type, "cryptorf") == 0) protocol = PROTO_CRYPTORF; - else if (strcmp(type, "raw") == 0) protocol = -1; + else if (strcmp(type, "raw") == 0) protocol = -1; - if (use_buffer == false || (g_traceLen == 0) ) { + if (use_buffer == false || (g_traceLen == 0)) { download_trace(); } @@ -761,7 +761,7 @@ int CmdTraceList(const char *Cmd) { break; } } - + if (show_hex) PrintAndLogEx(HINT, "syntax to use: " _YELLOW_("`text2pcap -t \"%%S.\" -l 264 -n `")); diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index 5eb3f6fd7..f48a696ed 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -818,7 +818,7 @@ int mfEmlSetMem_xt(uint8_t *data, int blockNum, int blocksCount, int blockBtWidt size_t paylen = sizeof(struct p) + size; struct p *payload = calloc(1, paylen); - + payload->blockno = blockNum; payload->blockcnt = blocksCount; payload->blockwidth = blockBtWidth; diff --git a/client/src/scripting.c b/client/src/scripting.c index 4bd3e17a0..050b4147b 100644 --- a/client/src/scripting.c +++ b/client/src/scripting.c @@ -1121,9 +1121,9 @@ static int l_em4x05_read(lua_State *L) { uint32_t word = 0; int res = EM4x05ReadWord_ext(addr, password, use_pwd, &word); if (res != PM3_SUCCESS) { - return returnToLuaWithError(L, "Failed to read EM4x05 data"); + return returnToLuaWithError(L, "Failed to read EM4x05 data"); } - + lua_pushinteger(L, word); return 1; } @@ -1244,10 +1244,10 @@ static int l_cwd(lua_State *L) { // ref: https://github.com/RfidResearchGroup/proxmark3/issues/891 // redirect LUA's print to Proxmark3 PrintAndLogEx static int l_printandlogex(lua_State *L) { - int n = lua_gettop(L); + int n = lua_gettop(L); for (int i = 1; i <= n; i++) { if (lua_isstring(L, i)) { - PrintAndLogEx(NORMAL, "%s\t" NOLF, lua_tostring(L, i) ); + PrintAndLogEx(NORMAL, "%s\t" NOLF, lua_tostring(L, i)); } } PrintAndLogEx(NORMAL, ""); diff --git a/doc/commands.md b/doc/commands.md index c6c5ad65d..333c332ec 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -47,44 +47,45 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`data help `|Y |`This help` -|`data askedgedetect `|Y |`[threshold] Adjust Graph for manual ASK demod using the length of sample differences to detect the edge of a wave (use 20-45, def:25)` -|`data autocorr `|Y |`[window length] [g] -- Autocorrelation over window - g to save back to GraphBuffer (overwrite)` -|`data biphaserawdecode `|Y |`[offset] [invert<0|1>] [maxErr] -- Biphase decode bin stream in DemodBuffer (offset = 0|1 bits to shift the decode start)` -|`data bin2hex `|Y |` -- Converts binary to hexadecimal` -|`data bitsamples `|N |`Get raw samples as bitstring` -|`data buffclear `|Y |`Clears bigbuff on deviceside and graph window` -|`data convertbitstream `|Y |`Convert GraphBuffer's 0/1 values to 127 / -127` -|`data dec `|Y |`Decimate samples` -|`data detectclock `|Y |`[] Detect ASK, FSK, NRZ, PSK clock rate of wave in GraphBuffer` +|`data biphaserawdecode `|Y |`Biphase decode bin stream in DemodBuffer` +|`data detectclock `|Y |`Detect ASK, FSK, NRZ, PSK clock rate of wave in GraphBuffer` |`data fsktonrz `|Y |`Convert fsk2 to nrz wave for alternate fsk demodulating (for weak fsk)` -|`data getbitstream `|Y |`Convert GraphBuffer's >=1 values to 1 and <1 to 0` -|`data grid `|Y |` -- overlay grid on graph window, use zero value to turn off either` -|`data hexsamples `|N |` [] -- Dump big buffer as hex bytes` -|`data hex2bin `|Y |` -- Converts hexadecimal to binary` +|`data manrawdecode `|Y |`Manchester decode binary stream in DemodBuffer` +|`data modulation `|Y |`Identify LF signal for clock and modulation` +|`data rawdemod `|Y |`Demodulate the data in the GraphBuffer and output binary` +|`data askedgedetect `|Y |`[threshold] Adjust Graph for manual ASK demod using the length of sample differences to detect the edge of a wave (use 20-45, def:25)` +|`data autocorr `|Y |`Autocorrelation over window` +|`data dirthreshold `|Y |` -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev.` +|`data decimate `|Y |`Decimate samples` +|`data undecimate `|Y |`Un-decimate samples` |`data hide `|Y |`Hide graph window` |`data hpf `|Y |`Remove DC offset from trace` -|`data load `|Y |` -- Load trace (to graph window` +|`data iir `|Y |`apply IIR buttersworth filter on plotdata` +|`data grid `|Y |` -- overlay grid on graph window, use zero value to turn off either` |`data ltrim `|Y |` -- Trim samples from left of trace` -|`data rtrim `|Y |` -- Trim samples from right of trace` |`data mtrim `|Y |` -- Trim out samples from the specified start to the specified stop` -|`data manrawdecode `|Y |`[invert] [maxErr] -- Manchester decode binary stream in DemodBuffer` |`data norm `|Y |`Normalize max/min to +/-128` |`data plot `|Y |`Show graph window (hit 'h' in window for keystroke help)` -|`data printdemodbuffer `|Y |`[x] [o] [l] -- print the data in the DemodBuffer - 'x' for hex output` -|`data rawdemod `|Y |`[modulation] ... -see help (h option) -- Demodulate the data in the GraphBuffer and output binary` -|`data samples `|N |`[512 - 40000] -- Get raw samples for graph window (GraphBuffer)` -|`data save `|Y |`Save trace (from graph window)` +|`data rtrim `|Y |` -- Trim samples from right of trace` |`data setgraphmarkers `|Y |`[orange_marker] [blue_marker] (in graph window)` +|`data shiftgraphzero `|Y |` -- Shift 0 for Graphed wave + or - shift value` |`data timescale `|Y |`Set a timescale to get a differential reading between the yellow and purple markers as time duration ` -|`data setdebugmode `|Y |`<0|1|2> -- Set Debugging Level on client side` -|`data shiftgraphzero `|Y |` -- Shift 0 for Graphed wave + or - shift value` -|`data dirthreshold `|Y |` -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev.` -|`data tune `|N |`Get hw tune samples for graph window` -|`data undec `|Y |`Un-decimate samples by 2` |`data zerocrossings `|Y |`Count time between zero-crossings` -|`data iir `|Y |`apply IIR buttersworth filter on plotdata` +|`data convertbitstream `|Y |`Convert GraphBuffer's 0/1 values to 127 / -127` +|`data getbitstream `|Y |`Convert GraphBuffer's >=1 values to 1 and <1 to 0` +|`data bin2hex `|Y |`Converts binary to hexadecimal` +|`data bitsamples `|N |`Get raw samples as bitstring` +|`data clear `|Y |`Clears bigbuf on deviceside and graph window` +|`data hexsamples `|N |` [] -- Dump big buffer as hex bytes` +|`data hex2bin `|Y |`Converts hexadecimal to binary` +|`data load `|Y |`Load contents of file into graph window` |`data ndef `|Y |`Decode NDEF records` +|`data print `|Y |`print the data in the DemodBuffer` +|`data samples `|N |`[512 - 40000] -- Get raw samples for graph window (GraphBuffer)` +|`data save `|Y |`Save signal trace data (from graph window)` +|`data setdebugmode `|Y |`<0|1|2> -- Set Debugging Level on client side` +|`data tune `|N |`Measure tuning of device antenna. Results shown in graph window` ### emv @@ -232,6 +233,7 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`hf fido help `|Y |`This help.` +|`hf fido info `|N |`List ISO 14443A history` |`hf fido info `|N |`Info about FIDO tag.` |`hf fido reg `|N |`FIDO U2F Registration Message.` |`hf fido auth `|N |`FIDO U2F Authentication Message.` @@ -502,6 +504,7 @@ Check column "offline" for their availability. |`hw setmux `|N |`Set the ADC mux to a specific value` |`hw standalone `|N |`Jump to the standalone mode` |`hw status `|N |`Show runtime status information about the connected Proxmark3` +|`hw tearoff `|N |`Program a tearoff hook for the next command supporting tearoff` |`hw tia `|N |`Trigger a Timing Interval Acquisition to re-adjust the RealTimeCounter divider` |`hw tune `|N |`Measure antenna tuning` |`hw version `|N |`Show version information about the connected Proxmark3` @@ -581,17 +584,17 @@ Check column "offline" for their availability. |`lf em 4x50_wipe `|N |`wipe data from EM4x50` -### lf fdx +### lf fdxb { FDX-B RFIDs... } |command |offline |description |------- |------- |----------- -|`lf fdx help `|Y |`this help` -|`lf fdx demod `|Y |`demodulate a FDX-B ISO11784/85 tag from the GraphBuffer` -|`lf fdx read `|N |`attempt to read at 134kHz and extract tag data` -|`lf fdx clone `|N |`clone animal ID tag to T55x7 or Q5/T5555` -|`lf fdx sim `|N |`simulate Animal ID tag` +|`lf fdxb help `|Y |`this help` +|`lf fdxb demod `|Y |`demodulate a FDX-B ISO11784/85 tag from the GraphBuffer` +|`lf fdxb read `|N |`attempt to read at 134kHz and extract tag data` +|`lf fdxb clone `|N |`clone animal ID tag to T55x7 or Q5/T5555` +|`lf fdxb sim `|N |`simulate Animal ID tag` ### lf gallagher