From ddfbd7f54964a42d20da83a465206c20a6261218 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 13 Sep 2023 21:12:09 +0200 Subject: [PATCH 001/278] allow for t55xx detection to search for 0xE039 (Silicon Craft technology) --- client/src/cmdlft55xx.c | 114 ++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 46 deletions(-) diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index 5033b5d54..09e5eabdf 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -3498,7 +3498,8 @@ out: // some return all page 1 (64 bits) and others return just that block (32 bits) // unfortunately the 64 bits makes this more likely to get a false positive... bool tryDetectP1(bool getData) { - uint8_t preamble[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1}; + uint8_t preamble_atmel[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1}; + uint8_t preamble_silicon[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1}; size_t startIdx = 0; uint8_t fc1 = 0, fc2 = 0, ans = 0; int clk = 0, firstClockEdge = 0; @@ -3512,15 +3513,19 @@ bool tryDetectP1(bool getData) { // try fsk clock detect. if successful it cannot be any other type of modulation... (in theory...) ans = fskClocks(&fc1, &fc2, (uint8_t *)&clk, &firstClockEdge); if (ans && ((fc1 == 10 && fc2 == 8) || (fc1 == 8 && fc2 == 5))) { - if ((FSKrawDemod(0, 0, 0, 0, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + + if ((FSKrawDemod(0, 0, 0, 0, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } - if ((FSKrawDemod(0, 1, 0, 0, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + + if ((FSKrawDemod(0, 1, 0, 0, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } return false; } @@ -3528,44 +3533,53 @@ bool tryDetectP1(bool getData) { // try ask clock detect. it could be another type even if successful. clk = GetAskClock("", false); if (clk > 0) { - if ((ASKDemod_ext(0, 0, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((ASKDemod_ext(0, 0, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } st = true; - if ((ASKDemod_ext(0, 1, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((ASKDemod_ext(0, 1, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } - if ((ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } - if ((ASKbiphaseDemod(0, 0, 1, 2, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((ASKbiphaseDemod(0, 0, 1, 2, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } } // try NRZ clock detect. it could be another type even if successful. clk = GetNrzClock("", false); //has the most false positives :( if (clk > 0) { - if ((NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } + } - if ((NRZrawDemod(0, 1, 1, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - return true; + if ((NRZrawDemod(0, 1, 1, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } + } } @@ -3577,33 +3591,41 @@ bool tryDetectP1(bool getData) { // save_restoreGB(GRAPH_SAVE); // skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise) //CmdLtrim("-i 160"); - if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { //save_restoreGB(GRAPH_RESTORE); - return true; + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } - if ((PSKDemod(0, 1, 6, false) == PM3_SUCCESS) && - preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + + if ((PSKDemod(0, 1, 6, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { //save_restoreGB(GRAPH_RESTORE); - return true; + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } + // PSK2 - needs a call to psk1TOpsk2. if (PSKDemod(0, 0, 6, false) == PM3_SUCCESS) { psk1TOpsk2(g_DemodBuffer, g_DemodBufferLen); - if (preambleSearchEx(g_DemodBuffer, preamble, sizeof(preamble), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + + if (g_DemodBufferLen == 32 || g_DemodBufferLen == 64) { //save_restoreGB(GRAPH_RESTORE); - return true; + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || + preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + return true; + } } } // inverse waves does not affect PSK2 demod //undo trim samples //save_restoreGB(GRAPH_RESTORE); // no other modulation clocks = 2 or 4 so quit searching - if (fc1 != 8) return false; + if (fc1 != 8) { + return false; + } } - return false; } // does this need to be a callable command? From ec894becb9a628e64b072f4635c0b32ee150302d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 13 Sep 2023 21:13:09 +0200 Subject: [PATCH 002/278] text --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45b0f5cb5..4ea0b13fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) - Fixed `utils.lua` library function "convertdectohex" wasn't working (@iceman1001) - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) From 25ab50713751d03424a8d4c6c76a5bb34d90769e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 14 Sep 2023 05:15:38 +0200 Subject: [PATCH 003/278] length var is set in the preamble check... --- client/src/cmdlft55xx.c | 140 +++++++++++++++++++++++++++------------- 1 file changed, 96 insertions(+), 44 deletions(-) diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index 09e5eabdf..9ce8219c2 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -3498,12 +3498,12 @@ out: // some return all page 1 (64 bits) and others return just that block (32 bits) // unfortunately the 64 bits makes this more likely to get a false positive... bool tryDetectP1(bool getData) { - uint8_t preamble_atmel[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1}; - uint8_t preamble_silicon[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1}; - size_t startIdx = 0; - uint8_t fc1 = 0, fc2 = 0, ans = 0; - int clk = 0, firstClockEdge = 0; - bool st = true; + uint8_t preamble_atmel[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1}; + uint8_t preamble_silicon[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1}; + size_t startIdx = 0; + uint8_t fc1 = 0, fc2 = 0, ans = 0; + int clk = 0, firstClockEdge = 0; + bool st = true; if (getData) { if (!AcquireData(T55x7_PAGE1, T55x7_TRACE_BLOCK1, false, 0, 0)) @@ -3514,16 +3514,26 @@ bool tryDetectP1(bool getData) { ans = fskClocks(&fc1, &fc2, (uint8_t *)&clk, &firstClockEdge); if (ans && ((fc1 == 10 && fc2 == 8) || (fc1 == 8 && fc2 == 5))) { - if ((FSKrawDemod(0, 0, 0, 0, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (FSKrawDemod(0, 0, 0, 0, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } - if ((FSKrawDemod(0, 1, 0, 0, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (FSKrawDemod(0, 1, 0, 0, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3533,32 +3543,52 @@ bool tryDetectP1(bool getData) { // try ask clock detect. it could be another type even if successful. clk = GetAskClock("", false); if (clk > 0) { - if ((ASKDemod_ext(0, 0, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (ASKDemod_ext(0, 0, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } st = true; - if ((ASKDemod_ext(0, 1, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (ASKDemod_ext(0, 1, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } - if ((ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } - if ((ASKbiphaseDemod(0, 0, 1, 2, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (ASKbiphaseDemod(0, 0, 1, 2, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3567,19 +3597,28 @@ bool tryDetectP1(bool getData) { // try NRZ clock detect. it could be another type even if successful. clk = GetNrzClock("", false); //has the most false positives :( if (clk > 0) { - if ((NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - } - if ((NRZrawDemod(0, 1, 1, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + + if (NRZrawDemod(0, 1, 1, false) == PM3_SUCCESS) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - } } @@ -3591,18 +3630,28 @@ bool tryDetectP1(bool getData) { // save_restoreGB(GRAPH_SAVE); // skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise) //CmdLtrim("-i 160"); - if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (PSKDemod(0, 0, 6, false) == PM3_SUCCESS) { //save_restoreGB(GRAPH_RESTORE); - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } - if ((PSKDemod(0, 1, 6, false) == PM3_SUCCESS) && (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (PSKDemod(0, 1, 6, false) == PM3_SUCCESS) { //save_restoreGB(GRAPH_RESTORE); - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3611,12 +3660,15 @@ bool tryDetectP1(bool getData) { if (PSKDemod(0, 0, 6, false) == PM3_SUCCESS) { psk1TOpsk2(g_DemodBuffer, g_DemodBufferLen); - if (g_DemodBufferLen == 32 || g_DemodBufferLen == 64) { - //save_restoreGB(GRAPH_RESTORE); - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) || - preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false)) { - return true; - } + //save_restoreGB(GRAPH_RESTORE); + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; + } + + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + return true; } } // inverse waves does not affect PSK2 demod //undo trim samples From 0443a6002557c1b65c2fe077e3f68281085df7c1 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 15 Sep 2023 19:08:24 +0200 Subject: [PATCH 004/278] adapt Makefile to use MYxxxx flags instead --- tools/cryptorf/Makefile | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index 96ac9393d..75fe80644 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -4,6 +4,18 @@ MYINCLUDES = -I../../common/cryptorf MYCFLAGS = MYDEFS = +# A better way would be to just try compiling with march and seeing if we succeed +cpu_arch = $(shell uname -m) +ifneq ($(findstring arm64, $(cpu_arch)), ) + MYCFLAGS += -mcpu=native + +# iOS 'fun' +else ifneq ($(findstring iP, $(cpu_arch)), ) + MYCFLAGS += -mcpu=native +else + MYCFLAGS += -march=native +endif + platform = $(shell uname) # Atomic @@ -11,14 +23,14 @@ platform = $(shell uname) # but MacOSX /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld # doesn't recognize option --as-needed ifneq ($(platform),Darwin) - LDLIBS += -lpthread -Wl,--as-needed -latomic -Wl,--no-as-needed + MYLDLIBS += -lpthread -Wl,--as-needed -latomic -Wl,--no-as-needed endif BINS = cm sm sma sma_multi INSTALLTOOLS = $(BINS) ifeq ($(platform),Darwin) - CXXFLAGS = -std=c++14 + MYCXXFLAGS = -std=c++14 endif include ../../Makefile.host @@ -27,7 +39,7 @@ include ../../Makefile.host ifneq (,$(findstring MINGW,$(platform))) # Mingw uses by default Microsoft printf, we want the GNU printf (e.g. for %z) # and setting _ISOC99_SOURCE sets internally __USE_MINGW_ANSI_STDIO=1 - CFLAGS += -D_ISOC99_SOURCE + MYCFLAGS += -D_ISOC99_SOURCE endif cm : $(OBJDIR)/cm.o $(MYOBJS) From ce76e4e351e5cac2ccb5f45db96a6056155371d9 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 15 Sep 2023 21:44:02 +0200 Subject: [PATCH 005/278] update ATR list --- client/src/atrs.h | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/client/src/atrs.h b/client/src/atrs.h index 2a6bc7521..3e0c6d6f7 100644 --- a/client/src/atrs.h +++ b/client/src/atrs.h @@ -362,6 +362,7 @@ const static atr_t AtrTable[] = { { "3B3C110042AF20A32007002283829000", "Orange Mobicarte (SIM card old generation)" }, { "3B3C110044AF11F7200504FB83819000", "itineris (Old French Mobile Operator SIM card) (Telecommunication)" }, { "3B3C9400423111A21202095183809000", "Omnitel IT 16K GSM SIM card" }, + { "3B3C9400443111F000002CAE83839000", "Movistar Spain (Telecommunication)" }, { "3B3C94004B3125A21013144783839000", "GSM SFR" }, { "3B3C94004C3125A7201B001583839000", "GSM-SIM (900MHz) card of the carrier vodafone for their cellular\nnetwork (phase 2+ with 3V)" }, { "3B3C9400633112F00000464083839000", "Old russian 'beeline' sim" }, @@ -425,6 +426,7 @@ const static atr_t AtrTable[] = { { "3B5F9600805A2C1100101000FFFFFFFF829000", "Calypso (Transport)" }, { "3B5F9600805A3F0608140101C546DEDC829000", "Navegante(r) Personalizado (Lisbon public transportation card) (Transport)\nhttps://www.navegante.pt/viajar/cartoes" }, { "3B5F9600805A3F0608140101C546EBDC829000", "Multi-Transport Pass (Navegante) (Metro, Bus, Electric, Boat) Carris Metropolitano, PT (Transport)\nhttps://www.navegante.pt/" }, + { "3B5F9600805A3F0608201223C4325FDE829000", "Montreal metropolitan area and Quebec city area OPUS card (Transport)\nhttps://www.carteopus.info/" }, { "3B600000", "Meano (Bank)" }, { "3B61000080", "blank A40CR card (JavaCard)" }, { "3B630000364180", "Schlumberger Payflex 4k User" }, @@ -1189,6 +1191,7 @@ const static atr_t AtrTable[] = { { "3B6F0000805A28130210122B75021B8A829000", "KorriGo, smart transport card in France region Brittany (Transport)\nhttps://www.ter.sncf.com/bretagne/offres/carte-korrigo" }, { "3B6F0000805A28130210122B7503FB01829000", "origo (France) (Transport)\nhttps://www.breizhgo.bzh/se-deplacer-en-bretagne/KorriGo" }, { "3B6F0000805A28130210122B750C7E79829000", "Transportation card delivered by STAR (Transportation service from the city of Rennes, France) (Transport)\nhttps://www.star.fr/titres-et-tarifs/carte-korrigo/" }, + { "3B6F0000805A28130210122B750DD382829000", "ZOU! for Region Sud (Transport)\nhttps://zou.maregionsud.fr/ma-carte-zou/" }, { "3B6F0000805A28130210122B9292E642829000", "Transport card in cote d'or France (mobigo)" }, { "3B6F0000805A28130210122B9292E829829000", "French transport card of the city of Dijon and Cote d'or department. (Transport)\nhttps://www.viamobigo.fr/fr/acheter-mes-titres-de-transport-mobigo-en-cote-dor/176" }, { "3B6F0000805A28130210122B92D663FC829000", "Card 'Korrigo' region Bretagne, France, Bibus Brest Metropole public transport (Transport)\nhttps://fr.wikipedia.org/wiki/KorriGo" }, @@ -1227,6 +1230,7 @@ const static atr_t AtrTable[] = { { "3B6F0000805A2D06081010027835EDCE829000", "Lisbon Transportation SmartCard (Transport)" }, { "3B6F0000805A2D06081010027848BBCC829000", "Lisbon Metro Monthly Student Pass (Transport)\nhttps://www.metrolisboa.pt/" }, { "3B6F0000805A2D0608101005935C42FB829000", "Comboios de Portugal Transit Card (Transport)\nhttps://www.cp.pt/passageiros/pt/consultar-horarios/precos/cartao-cp" }, + { "3B6F0000805A2E130200010104EF8342829000", "Oura Auvergne-Rhone-Alpes (Transport)\nhttps://www.oura.com" }, { "3B6F0000805A3407061500017917A7E2829000", "Rav-Kav multi-line travel ticket used in the public transportation system in Israel (Transport)\nhttps://www.gov.il/en/departments/guides/multi_line_card" }, { "3B6F0000805A340706150001792A4B5C829000", "Rav Kav Transit Payment Card (Israel) (Transport)\nhttps://ravkavonline.co.il/" }, { "3B6F0000805A3B0706150101793E797B829000", "Rav Kav (Transport)\nhttp://alhakav.mot.gov.il/he/rav-kav" }, @@ -1468,7 +1472,7 @@ const static atr_t AtrTable[] = { { "3B7F..0000006A4345524553022C3402..039000", "Ceres ST v2" }, { "3B7F..0000006A4345524553022C3403..039000", "Ceres ST v3" }, { "3B7F..00008031..65B000000000......8290..", "MultiApp V2.1 (with IAS XL / IAS ECC and IAS Classic Applet V3) [MultiApp V2.1 Type 2]" }, - { "3B7F..000080318065B0........120FFE829000", "IDPrime MD 8840, 3840, 3810, 840 and 830 Cards T=0" }, + { "3B7F..000080318065B0........120FFE829000", "IDPrime MD 8840, 3840, 3810, 840 and 830 Cards T=0\nIDPrime 930 (JavaCard)" }, { "3B7F0100FE58434F53763235312863295046424D", "XCOS is an Experimental Card Operating System for Atmel based smartcards (Funcard, etc..) (Other)\nhttp://runningserver.com/?page=runningserver.content.download.xcos" }, { "3B7F04000080318071906754454D44412E309000", "public key (PKI)" }, { "3B7F1100000031C053CAC4016452D90400829000", "DoD CAC, Oberthur CosmopolIC 32K V4" }, @@ -1604,6 +1608,7 @@ const static atr_t AtrTable[] = { { "3B7F96000080318065B085050011120FFF829000", "LuxTrust card (Luxembourg qualified electronic signature / authentication system) (Other)\nhttps://www.luxtrust.com/en/professionals/smartcard" }, { "3B7F96000080318065B0855956FB120268829000", "qualified certificate (eID)\nhttps://www.elektronicznypodpis.pl/en/offer/qualified-certificates/" }, { "3B7F96000080318065B0855956FB1202C1829000", "Gemalto USB (eID)" }, + { "3B7F96000080318065B0855956FB120FFE829000", "Thales (Gemalto) IDPrime 941 (PKI)\nhttps://cpl.thalesgroup.com/de/access-management/idprime-md-pki-smart-cards\nThales SafeNet IDPrime 940B (PKI)\nhttps://cpl.thalesgroup.com/resources/access-management/idprime-940-product-brief" }, { "3B7F96000080318065B0855956FB12FFFE829000", "IDCORE 3140 (JavaCard)" }, { "3B7F9600008031B865B0850300EF1200F6829000", "Finnish identity card (eID)\nhttp://vrk.fi/en/citizen-certificate" }, { "3B7F9600008031B865B08504021B1200F6829000", "Finnish ID-card v5.0(?) (eID)\nhttps://dvv.fi/en/fineid-specifications" }, @@ -1705,6 +1710,7 @@ const static atr_t AtrTable[] = { { "3B8680014B4F4E41141109", "Mastercard paypass enabled credit card" }, { "3B8680015741524930310B", "Gusto Karta (Bank)\nhttps://www.gustokarta.cz" }, { "3B86800157575061737336", "WWPass Passkey (eID)\nhttps://www.wwpass.com/passkey" }, + { "3B868001801434373000A0", "Malta eID Identity Card (eID)\nhttps://www.identitymalta.com/" }, { "3B8680018031C15211182C", "IDEMIA Cosmo V8.0 with a PIV applet (contactless) (PKI)" }, { "3B8680018031C152411A7E", "IDEMIA Cosmo V8.1 with a PIV applet (contactless) (PKI)" }, { "3B86800180540410010FC9", "Nickel.eu prepaid account (Bank)\nhttps://nickel.eu" }, @@ -2006,6 +2012,7 @@ const static atr_t AtrTable[] = { { "3B8C8001505CF5A94530AAAA017781D708", "Indonesia ektp (eID)" }, { "3B8C800150605F2EFA00000000778191D1", "Residence Permit (Switzerland) (eID)" }, { "3B8C80015064E65B000000000000818085", "Chicago CTA Ventra Transit card\nhttps://www.ventrachicago.com/" }, + { "3B8C80015068DDA5B11C00001177818582", "EZ-Link Card (issued by Land Transport Authority Singapore) (Transport)\nhttps://www.ezlink.com.sg/ez-link-faqs/ez-link-card/" }, { "3B8C800150710CF3C800000000B37171A8", "MOBIB CARD BELGIUM (Transport)" }, { "3B8C800150773B2DBD0000001100818594", "Texas Instruments Dynamic NFC Interface Transponder (RF430CL330H)" }, { "3B8C800150784B2CCB00000000B371713A", "... (Transport)\nhttps://www.portalviva.pt/" }, @@ -2135,6 +2142,7 @@ const static atr_t AtrTable[] = { { "3B8F80010031B96409377213738401E0000000AB", "National Identity Card of Slovakia (NFC interface) (eID)\nhttps://en.wikipedia.org/wiki/Slovak_identity_card" }, { "3B8F80010031C173C800106457494943009000B5", "ICC Solutions Card for Certification (Other)\nhttps://www.iccsolutions.com/" }, { "3B8F80010031C173C8211064414D31300790008A", "master card (Bank)" }, + { "3B8F80010031C173C8211064414D313307900089", "CheBanca! nexi debit card (Bank)\nhttps://www.chebanca.it/" }, { "3B8F80010031C173C8211064414D31370790008D", "AirPlus International Mastercard (Bank)\nhttps://www.airplus.com/" }, { "3B8F80010031C173C8211064414D333007900088", "ING-VISA-Card (Bank)\nhttps://www.ing.de/girokonto/karten-bargeld/" }, { "3B8F80010031C173C8211064414D333107900089", "NAB VISA Debit (Bank)\nhttps://www.nab.com.au/" }, @@ -2276,7 +2284,7 @@ const static atr_t AtrTable[] = { { "3B8F8001804F0CA0000003060E....00000000..", "Contact (7816-10) Extended I2C (as per PCSC std part3)" }, { "3B8F8001804F0CA0000003060F....00000000..", "Contact (7816-10) 2WBP (as per PCSC std part3)" }, { "3B8F8001804F0CA00000030610....00000000..", "RFID - FeliCa compatible (as per PCSC std part3)\nContact (7816-10) 3WBP (as per PCSC std part3)" }, - { "3B8F8001804F0CA00000030611003B0000000042", "RFID - FeliCa (generic) (as per PCSC std part3)\nSuica public transit card (Japan IC system)\n(also: Hayakaken, ICOCA, Kitaca, manaca, nimoca, PASMO, PiTaPa, SUGOCA, TOICA)\nhttps://en.wikipedia.org/wiki/Suica\nOctopus, MTR network from Hong Kong, 2014" }, + { "3B8F8001804F0CA00000030611003B0000000042", "RFID - FeliCa (generic) (as per PCSC std part3)\nSuica public transit card (Japan IC system)\n(also: Hayakaken, ICOCA, Kitaca, manaca, nimoca, PASMO, PiTaPa, SUGOCA, TOICA)\nhttps://en.wikipedia.org/wiki/Suica\nOctopus, MTR network from Hong Kong, 2014\ne-Amusement card (Other)\nhttps://en.wikipedia.org/wiki/E-Amusement" }, { "3B8F8001804F0CA00000030640....00000000..", "RFID - Low Frequency < 135 kHz (as per PCSC std part3)" }, { "3B8F8001804F0CA0000003064000000000000028", "HID Proximity. Used to access buildings. Reference on the card 'HID0008P'.\nhttp://www.hidglobal.com/product-display/cards-and-credentials/hid-proximity" }, { "3B8F8001804F0CA0001A0000000078", "iclass 16k cl (eID)" }, @@ -2328,7 +2336,6 @@ const static atr_t AtrTable[] = { { "3B959640F001130A0A1D", "xcrypt (Pay TV)" }, { "3B959640F00F100A096A", "Zain Usim Card (Telecommunication)\nwww.qariya.com" }, { "3B959680B1FE551FC7477261636513", "IClass SE Processor (Other)\nhttps://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor" }, - { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other)\nhttps://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, { "3B9596C0F01FC20F100A0A16", "viettel (Telecommunication)" }, { "3B959740F01A160A1941", "SG50 (Samsung Chip) (Telecommunication)" }, { "3B96004121920000622433339000", "Ukrainian Telecommunications Operator Kyivstar (old simcard) (Telecommunication)\nhttps://kyivstar.ua/uk/mm" }, @@ -2378,6 +2385,7 @@ const static atr_t AtrTable[] = { { "3B9A940091010017000126050096", "GSM-SIM T-D1 prepaid (Xtra) (Telecommunication)" }, { "3B9A940091010017000126060096", "T D1 GSM card" }, { "3B9A9400920275931100010202..", "SuperSIM (X-sim)" }, + { "3B9A940092029093110001340200", "Orange Spain (Telecommunication)" }, { "3B9A960092013693170002040300", "GSM-SIM EMT 'Simpel' (prepaid, Estonia)\nhttps://www.emt.ee/web/simpel" }, { "3B9A960092014893170002120400", "SIM Card C*******r Mobile (Belgium)" }, { "3B9A960092016693170002120400", "GSM SIM Bite.lv prepaid 'Toxic'; 2008" }, @@ -2396,6 +2404,7 @@ const static atr_t AtrTable[] = { { "3B9C131181647265616D6372797074000408", "XPlusTV & INXCT Access Card-9 (FIRECrypt)" }, { "3B9C131181647265616D6372797074900599", "FireCrypt, access card 9 (Pay TV)" }, { "3B9C188121455A43332E333420524556204467", "MS-Protect safecard for access system (eID)" }, + { "3B9C188121755A43332E333420524556204457", "ZC3.34 (Other)\nhttps://www.zeitcontrol.de/Smart-card-BasicCard-Enhanced-ZC334-SIM-cut" }, { "3B9C940068868D0A86980256C2000500", "G3 & GSM & Blank SIM card: to be programmed for OpenBTS with pySim-prog (Telecommunication)" }, { "3B9C940068868D0C86980245A1000500", "China Mobile (Telecommunication)" }, { "3B9C940068868D0C86980256408B0500", "mobiledit (Telecommunication)" }, @@ -2490,6 +2499,7 @@ const static atr_t AtrTable[] = { { "3B9E95801FC78031E073FE211B66D00217C71100C0", "3 UK SIM card (Telecommunication)" }, { "3B9E95801FC78031E073FE211B66D00217F61100F1", "Ziggo SmartCard Television Subscription (Pay TV)" }, { "3B9E95801FC78031E073FE211B66D00219151300", "ABS-CBN (Telecommunication)" }, + { "3B9E95801FC78031E073FE211B66D0022A861300BE", "KPN, Netherlands (Telecommunication)" }, { "3B9E95C00A1FC68031E073FE211B66D001830D58811E", "Mobile Paypass G199 NFC" }, { "3B9E96008031C0654D4700000072F7418107", "Russian Magistra (UTF8: Magistra) smart card (eID)\nhttp://www.smart-park.ru/index.php/products/smartcards.html" }, { "3B9E96008031C0654D5300000072F7418107", "Smart-key for bank-client of MDM Bank (RU) with faktura.ru service (Bank)" }, @@ -2506,6 +2516,7 @@ const static atr_t AtrTable[] = { { "3B9E96801FC68031E073FE211B66D0019F8F120002", "Russian 'Megafon' gsm sim card (Telecommunication)\nhttp://www.megafon.ru/" }, { "3B9E96801FC68031E073FE211B66D0019FBC100033", "sim beeline russia krasnodar (Telecommunication)" }, { "3B9E96801FC68031E073FE211B66D0019FEF100060", "Infineon SLU14MCO480K2 (JavaCard)" }, + { "3B9E96801FC68031E073FE211B66D0024010150046", "Kyivstar USIM-card (Telecommunication)" }, { "3B9E96801FC78031E073FE21136200498381900007", "Claro Brazil SIM card (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D000282401000D", "United Mobile SIM" }, { "3B9E96801FC78031E073FE211B66D0002B2D020004", "KTF SHOW GE-B1400 WCDMA USIM (Telecommunication)" }, @@ -2540,6 +2551,7 @@ const static atr_t AtrTable[] = { { "3B9E96801FC78031E073FE211B66D00199FE0E0068", "Finnish Sonera SIM-card (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D001A0041100B4", "Aldi Talk SIM card, Germany (Telecommunication)\nhttps://www.alditalk.de/talk" }, { "3B9E96801FC78031E073FE211B66D001A01E1100AE", "Zevvle SIM Card (Telecommunication)\nhttps://zevvle.com" }, + { "3B9E96801FC78031E073FE211B66D001A0741000C5", "USIM of Vodafone Germany (MCC 262, MNC 2) (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D001A0DD12006E", "USIM (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D001A0EC11005C", "Boost Mobile Prepaid Micro SIM Card (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D001A1121000A2", "OpenAirInerface (Telecommunication)" }, @@ -2565,6 +2577,7 @@ const static atr_t AtrTable[] = { { "3B9E96801FC78031E073FE211B66D00217F41200F3", "SIM card for Swedish operator Vimla! (Telecommunication)\nhttps://www.vimla.se" }, { "3B9E96801FC78031E073FE211B66D002194B120042", "halebop (swedish mobile provider) SIM card (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D0022436140004", "SIM (Telecommunication)" }, + { "3B9E96801FC78031E073FE211B66D0022A6D140051", "Mobitel SIM from Sri Lanka (Telecommunication)\nhttps://mobitel.lk/" }, { "3B9E96801FC78031E073FE211B66D0022A72130049", "SIM Card OI (Brazil) (Telecommunication)" }, { "3B9E96801FC78031E073FE211B66D0022A861300BD", "Mobile Vikings SIM Card (Telecommunication)\nhttps://mobilevikings.com" }, { "3B9E96801FC78031E073FE211B66D0022A8F1400B3", "Telefonica USIM (Telecommunication)" }, @@ -2575,6 +2588,7 @@ const static atr_t AtrTable[] = { { "3B9E96801FC78031E073FE211B66D00233AD140088", "4G-LTE (Telecommunication)" }, { "3B9E96803FC3A08031E073FE211B630801140F9000D3", "KT Olleh LTE Warp SA-L 1670 (Telecommunication)" }, { "3B9E97801FC68031E073FE211B66D0019F7A1200F6", "Spectrun USA Sim Card (Telecommunication)" }, + { "3B9E97801FC68031E073FE211B66D0024011150046", "SIM Card for French mobile provider Unyc (Telecommunication)\nhttps://www.unyc.io/" }, { "3B9E97801FC68031E073FE211B66D002401D15004A", "Telia Sim card for IoT (Telecommunication)" }, { "3B9E97801FC68031E073FE211B66D0024027150070", "verymobile wind 3 (Telecommunication)\nhttps://verymobile.it/" }, { "3B9E97801FC68031E073FE211B66D0025E7315003A", "Twilio Super SIM (Telecommunication)\nhttps://www.twilio.com/iot/super-sim-card" }, @@ -2643,6 +2657,7 @@ const static atr_t AtrTable[] = { { "3B9F94801FC78031E073FE2113578681098698621880", "Oyeitimes 5G ISIM R16 (Telecommunication)\nhttps://www.oyeitimes.com/detail.php?id=535&ids=565&idt=&ide=&dd=1410" }, { "3B9F94801FC78031E073FE21135786850686984218AB", "4G LTE blank USIM Green Card (Telecommunication)\nhttp://grcard.en.alibaba.com/product/60076835567-209365843/4G_LTE_blank_usim_card_for_4G_network.html" }, { "3B9F94801FC78031E073FE21136321150683079000F8", "Maroc Telecom 4G+ (Telecommunication)" }, + { "3B9F94801FC78031E073FE21136700000000000070AA", "OMANTEL (Telecommunication)\nhttps://portal.omantel.om/Personal/mobile/hayyak" }, { "3B9F94801FC78031E073FE21136761210D10000070F7", "Celcom XPAX (Telecommunication)\nhttps://www.celcom.com.my/personal/prepaid" }, { "3B9F94801FC78031E073FE2119573C8660CFB902A0EE", "Gotanet SE USIM (Telecommunication)" }, { "3B9F94801FC78031E073FE2119573C8660CFBA02A0ED", "Gotanet DK USIM (Telecommunication)" }, @@ -2774,6 +2789,7 @@ const static atr_t AtrTable[] = { { "3B9F96801F878031E073FE2119674A555473300948DB", "nano sim/usim card (Telecommunication)" }, { "3B9F96801F878031E073FE2119674A555475300662F8", "SIM Card (Telecommunication)" }, { "3B9F96801F878031E073FE2119674A557330310746BE", "Hologram Developer Global IoT SIM Card (Telecommunication)\nhttps://hologram.io/store/global-iot-sim-card/17" }, + { "3B9F96801F878031E073FE2119674A55753031136288", "Zimbabwe sim card provider: ECONET (Telecommunication)" }, { "3B9F96801F878031E073FE211B674A4C5275310451D5", "Test card provided with 4G/5G network from Amarisoft (Telecommunication)" }, { "3B9F96801F878031E073FE211B674A4C7530300248A9", "Cardcentrics (Telecommunication)" }, { "3B9F96801F878031E073FE211B674A4C753034054BA9", "sysmoISIM-SJA2 (Telecommunication)\nhttps://osmocom.org/projects/cellular-infrastructure/wiki/SysmoISIM-SJA2" }, @@ -2944,6 +2960,7 @@ const static atr_t AtrTable[] = { { "3B9F96803FC7828031E073F62157574A330581053000CE", "COMPRION M2M eUICC (Telecommunication)" }, { "3B9F96803FC7828031E073F62157574A4D020B60010069", "eSIM GSMA Card (Telecommunication)\nhttps://www.gsma.com/newsroom/wp-content/uploads/SGP.22_v2.2.pdf" }, { "3B9F96803FC7828031E073F62157574A4D020B60610009", "ting (Telecommunication)" }, + { "3B9F96803FC7828031E073FE211B57AA8660F0010004FB", "The eSIM.me Card (Telecommunication)\nhttps://esim.me/" }, { "3B9F96803FC7828031E073FE211B57AA8660F0010011EE", "eSIM.me pluggable eSIM (Telecommunication)\nhttps://esim.me/" }, { "3B9F96803FC7828031E073FE211B633A204E8300900031", "eSIM (Telecommunication)" }, { "3B9F96803FC7828031E075F62157210355020B60500019", "st33g1m2 (Telecommunication)\nhttps://www.st.com/en/secure-mcus/st33g1m2.html" }, @@ -3047,6 +3064,7 @@ const static atr_t AtrTable[] = { { "3BB813008131205D0057696E4361726402", "SmartCard for Windows 1.1" }, { "3BB813008131FA524348544D4F494341A5", "citizen digital certificate (PKI)\nhttp://moica.nat.gov.tw/" }, { "3BB897008131FE45FFFF148230502300F1", "UAE Emirates ID (eID)\nhttps://www.icp.gov.ae" }, + { "3BB89700813FE45FFFF148230502300F", "UAE Emirates ID (eID)" }, { "3BB89700C00831FE45FFFF148230502300B8", "Infineon SECORA ID X (JavaCard)" }, { "3BB918008131FE9E8073FF614083000000DF", "Serbian Identity Card\nThis is the new Serbian biometric identity card (every adult cityzen\nmust have). The chip contains owners picture, name, date and place\nof birth, current address, unique ID number and fingerprint." }, { "3BB9940040144747334D4838353330", "T D1 GSM card (Telecommunication)" }, @@ -3239,6 +3257,7 @@ const static atr_t AtrTable[] = { { "3BDB960080B1FE451F830031C064B0FC100007900005", "Oberthur Cosmo V7 debug card (SDK)" }, { "3BDB960080B1FE451F830031C064B0FC10000F90000D", "ID-One PIV (that's the only non-numeric identifying mark) (PKI)" }, { "3BDB960080B1FE451F830031C064BAFC10000790000F", "Oberthur ID-One Cosmo v7.0 80K (eID)\nhttps://www.ssi.gouv.fr/uploads/IMG/certificat/ANSSI-CC-cible_2011-64en.pdf" }, + { "3BDB960080B1FE451F830031C064BAFC10000F900007", "Oberthur ID-One Cosmo v7.0 (PKI)\nhttps://csrc.nist.rip/groups/STM/cmvp/documents/140-1/140sp/140sp1236.pdf" }, { "3BDB960080B1FE451F830031C064BE1B0100019000FB", "Bank card" }, { "3BDB960080B1FE451F830031C064C30801000F90009B", "SIM Aruba (Italian provider)" }, { "3BDB960080B1FE451F830031C064C7FC100001900074", "Oberthur Cosmo (eID)\nhttp://www.stampit.org" }, @@ -3247,6 +3266,7 @@ const static atr_t AtrTable[] = { { "3BDB960080B1FE451F830031E85427E6040007900084", "Polish encard (eID)" }, { "3BDB960080B1FE451F830031E85427E604000F90008C", "Token card from iBRE CompanyNet (mbank) (Bank)" }, { "3BDB960080B1FE451F834553544F4E49412D65494455", "Estonian Identity Card (ID-One Cosmo v8.1) (eID)" }, + { "3BDB960080B1FE451F870031C1640958223607900019", "Idemia Solvo Fly 40 (JavaCard)" }, { "3BDB960081B1FE451F0380F9A0000003080000100018", "Oberthur CS PIV End Point v1.08 FIPS201 Certified" }, { "3BDB960081B1FE451F0380F9A0000003480000000149", "Fly Clear card" }, { "3BDB960081B1FE451F8380F9A0000003080000100098", "Oberthur Cosmo v7 128K with PIV applet\nhttp://www.smartcardfocus.com/shop/ilp/id~410/p/index.shtml" }, @@ -3344,6 +3364,7 @@ const static atr_t AtrTable[] = { { "3BDF96FF910131FE4680319052410264050200AC73D622C017", "Acos-ID (AUSTRIACARD's Operating System) (Other)\nhttps://www.austriacard.com/digital-security/solutions/card-solutions/acos-id/" }, { "3BDF97008131FE588031B05202056405A100AC73D622C021", "Austrian healthcare insurance identification card (HealthCare)\nhttps://www.chipkarte.at" }, { "3BDF970081B1FE451F838073CC91CBF9A0000003080000100078", "NASA PIV Card (Other)" }, + { "3BE000008131104505", "Emoney indonesia (Bank)" }, { "3BE000008131204030", "SmarTEC" }, { "3BE000FF8131FE4514", "'JUKICARD', digitally sign tax documents in Japan" }, { "3BE20000402049..", "Schlumberger Cryptoflex 4k" }, @@ -3432,6 +3453,7 @@ const static atr_t AtrTable[] = { { "3BEE00008131804280318066B0840C016E01830090008E", "MultiApp Cards (Easy 72K Type B and Combi 72K Type B)\nE.SUN Commercial bank debit master card (Bank)\nTaiwan EasyCard (Transport)\nhttps://www.easycard.com.tw/english/index.asp" }, { "3BEE00008131804380318066B1A1110100F683009000", "Optelio/Desineo Cards (D72 FXR1)" }, { "3BEE00008131804380318066B1A11101A0F683009000", "Optelio D72 FXR1 (MD) T=1" }, + { "3BEE00008131804380318066B1A30401110B83009000D4", "Japan Post Bank cash card (Bank)\nhttps://www.jp-bank.japanpost.jp/kojin/chokin/sogou/kj_cho_sg_iccard.html" }, { "3BEE00008131FE45003180718665016702A00A8390001B", "IBM JCOP 'Java Card 2.1.1' et 'Open Platform 2.0.1'" }, { "3BEE00008131FE4580318066409093060F1783019000FD", "Health insurance (HealthCare)" }, { "3BEE00008131FE4580318066409093060F17830F9000F3", "IC card for the National Health Insurance, Taiwan" }, @@ -3579,6 +3601,7 @@ const static atr_t AtrTable[] = { { "3BF711000140967070370E6CB6D6", "Carte pour decodeur cable numerique (fourni par www.voo.be et\nwww.ledecodeur.be)" }, { "3BF711000140967070670E6CB6D6", "UK TopUp TV" }, { "3BF711000140967071090E6CB6D6", "Carte pour decodeur tele de Neuf Telecom TV" }, + { "3BF71300008131FE4500C08AC80C658185", "NXP JCop (JavaCard)" }, { "3BF71300008131FE45464F4D534F4D53A9", "Health card Russian Federation" }, { "3BF71300008131FE454A434F503234....", "NXP JCOP v2.4.x (see hist bytes for more info)" }, { "3BF71300008131FE4580654A5030310415", "Nichizeiren Denshi-shomei (eID)\nhttps://www.nichizeiren.or.jp/taxaccount/auth/fifth/" }, @@ -3818,6 +3841,7 @@ const static atr_t AtrTable[] = { { "3BFF1300008131FE45434433690940000020202020202000F3", "VISA credit card (LBBW/Payback VISA) (Bank)" }, { "3BFF1300008131FE454F574F4B31302D4A................", "OWOK (One Web, One Key) login card\nhttp://www.reiner-sct.com/owok/\nReiner SCT loginCard\nhttps://cardlogin.reiner-sct.com/" }, { "3BFF1300008131FE4D8025A00000005657444B3333300600D2", "Datakey DCOS model 330 (DKCCOS 6.0 token)" }, + { "3BFF1300918131FE4141434F532046696F6E6131204C6336F4", "TURKEY A101 HADI APP CARD (Bank)\nhttps://a101hadi.a101.com.tr/" }, { "3BFF1300FF10000031C1738211064414D33470779000", "Visa Debit (Bank)\nhttps://www.chase.com/" }, { "3BFF1300FF10000031C173C821106441443533079000", "BRADESCO-CONTA SALARIO (Bank)" }, { "3BFF1300FF10000031C173C8211064414D3130079000", "Tangerine MasterCard (Bank)\nhttps://www.tangerine.ca/en/products/spending/creditcard/money-back/" }, @@ -3883,6 +3907,7 @@ const static atr_t AtrTable[] = { { "3BFF1800FF813150456563............................", "GeldKarte v3 (Germany)" }, { "3BFF1800FF8131FE4165630608710156000FB85073204712D8", "Commerzbank maestro (Bank)\nhttps://www.commerzbank.de/konten-zahlungsverkehr/produkte/girokonten/kostenloses-girokonto/" }, { "3BFF1800FF8131FE4165630608710156000FB8602AA0471231", "Debit card (Germany): Postbank - GeldKarte (EUR), girocard, V-PAY (Bank)\nhttps://www.postbank.de/" }, + { "3BFF1800FF8131FE41656306087102500023B8907360471271", "Debit card (Germany): Deutsche Kreditbank (DKB), ec-cash, (Bank)\nhttps://www.dkb.de/privatkunden/karten/girocard" }, { "3BFF1800FF8131FE4165631116710156000F0902904E5711AC", "German Bank Card IDEMIA 9 Maestro/Girocard (Sparkasse S-Payment TPY 1974693D) (Bank)" }, { "3BFF1800FF8131FE450031C573C00180547615020105900074", "SIGILANCE NFC OpenPGP Smart Card (JavaCard)\nhttps://www.sigilance.com/" }, { "3BFF1800FF8131FE455448434331305445434F4744484E3224", "National Health Insurance Card, Taiwan" }, @@ -3993,6 +4018,7 @@ const static atr_t AtrTable[] = { { "3BFF9600008131FE4380318065B0845651101201788290006A", "SafeNet eToken 5300 (PKI)" }, { "3BFF9600008131FE4380318065B08456511012021082900001", "Nedap NexS N:Secure (eID)\nhttps://www.nsecure.nl/nl/" }, { "3BFF9600008131FE4380318065B0846160FB120FFD8290000C", "IDPrime 930 FIPS Level 2 (T=1 CT=96) (BAI3.1) (PKI)" }, + { "3BFF9600008131FE4380318065B0846566FB12017882900085", "eToken 5110+ FIPS 140-2 Level 2 (JavaCard)" }, { "3BFF9600008131FE4380318065B0846566FB120FFC8290000F", "SmartID 3930 FIDO Contact and Contactless card (PKI)\nhttps://www.smartcardfocus.com/shop/ilp/id~962/safenet-idprime-3930-fido-dual-interface-fips-l2/p/index.shtml" }, { "3BFF9600008131FE4380318065B0846669FB12FFFE829000F1", "IDCore3230 build 6.8, test APDU applet (JavaCard)" }, { "3BFF9600008131FE4380318065B085040011120FFF829000E0", "Pakistan National identity card (eID)" }, @@ -4024,6 +4050,7 @@ const static atr_t AtrTable[] = { { "3F2F008059AF0201013000000A0E83069F12", "Gemplus GemXplore" }, { "3F2F008059AF02010230000C0A0E831E9F16", "GSM-SIM (900MHz) card of the carrier 'Mannesmann Mobilfunk' for\ntheir network 'D2-Privat' - now known as Vodafone Mobilfunk\nhttp://www.vodafone.de/" }, { "3F2F008069AE0202013600000A0E833E9F16", "GSM-SIM e-plus (1800MHz)" }, + { "3F2F008069AF0204013600000A0E833E9F16", "Telia Mobitel GSM (Telecommunication)" }, { "3F2F008069AF0204013600020A0E833E9F16", "GSM-SIM D2 CallYa (900MHz)" }, { "3F2F008069AF0307015900000A0E833E9F16", "Nokia SIM Ph2 16K Ver2.0" }, { "3F2F008069AF0307015900130A0E833E9F16", "Old Spanish Telefonica Movistar GSM SIM card manufactured by Gemplus" }, From d7f306084aee504a34e46fdb497cb88619a8d2a0 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 15 Sep 2023 21:48:57 +0200 Subject: [PATCH 006/278] colors for kiwi --- client/src/cmdsmartcard.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index 9c273739d..8c6dbda2b 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -174,7 +174,7 @@ static void PrintATR(uint8_t *atr, size_t atrlen) { if (T0 & 0x80) { uint8_t TD1 = atr[2 + T1len]; - PrintAndLogEx(INFO, " - TD1 (First offered transmission protocol, presence of TA2..TD2) [ 0x%02x ] Protocol T%d", TD1, TD1 & 0x0f); + PrintAndLogEx(INFO, " - TD1 (First offered transmission protocol, presence of TA2..TD2) [ 0x%02x ] Protocol " _GREEN_("T%d"), TD1, TD1 & 0x0f); protocol_T0_present = false; if ((TD1 & 0x0f) == 0) { protocol_T0_present = true; @@ -199,7 +199,7 @@ static void PrintATR(uint8_t *atr, size_t atrlen) { } if (TD1 & 0x80) { uint8_t TDi = atr[2 + T1len + TD1len]; - PrintAndLogEx(INFO, " - TD2 (A supported protocol or more global parameters, presence of TA3..TD3) [ 0x%02x ] Protocol T%d", TDi, TDi & 0x0f); + PrintAndLogEx(INFO, " - TD2 (A supported protocol or more global parameters, presence of TA3..TD3) [ 0x%02x ] Protocol " _GREEN_("T%d"), TDi, TDi & 0x0f); if ((TDi & 0x0f) == 0) { protocol_T0_present = true; } From 908ae0c78c2905c32ea56818b28f1b647c98f7e9 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 15 Sep 2023 21:53:52 +0200 Subject: [PATCH 007/278] ...confused makefiles stuff --- tools/cryptorf/Makefile | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index 75fe80644..ed94fb846 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -4,26 +4,12 @@ MYINCLUDES = -I../../common/cryptorf MYCFLAGS = MYDEFS = -# A better way would be to just try compiling with march and seeing if we succeed -cpu_arch = $(shell uname -m) -ifneq ($(findstring arm64, $(cpu_arch)), ) - MYCFLAGS += -mcpu=native - -# iOS 'fun' -else ifneq ($(findstring iP, $(cpu_arch)), ) - MYCFLAGS += -mcpu=native -else - MYCFLAGS += -march=native -endif - platform = $(shell uname) # Atomic # RPi Zero gcc requires -latomic -# but MacOSX /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -# doesn't recognize option --as-needed ifneq ($(platform),Darwin) - MYLDLIBS += -lpthread -Wl,--as-needed -latomic -Wl,--no-as-needed + MYLDLIBS += -lpthread endif BINS = cm sm sma sma_multi From ec0d27685c61e152be2b2f2f2533c292122d6c6e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 16 Sep 2023 09:22:45 +0200 Subject: [PATCH 008/278] adapt script to handle SE SAM again --- client/atr_scrap_pcsctools.py | 1 + client/src/atrs.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/client/atr_scrap_pcsctools.py b/client/atr_scrap_pcsctools.py index 9c4d1b4be..7325d90a3 100755 --- a/client/atr_scrap_pcsctools.py +++ b/client/atr_scrap_pcsctools.py @@ -59,6 +59,7 @@ const char *getAtrInfo(const char *atr_str); // atr_t array is expected to be NULL terminated const static atr_t AtrTable[] = { { "3BDF18FFC080B1FE751F033078464646462026204963656D616E1D", "Cardhelper by 0xFFFF and Iceman" }, + { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other)\nhttps://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, """ C_FOOTER=""" {NULL, "N/A"} diff --git a/client/src/atrs.h b/client/src/atrs.h index 3e0c6d6f7..b66f10cc9 100644 --- a/client/src/atrs.h +++ b/client/src/atrs.h @@ -34,6 +34,8 @@ const char *getAtrInfo(const char *atr_str); // atr_t array is expected to be NULL terminated const static atr_t AtrTable[] = { { "3BDF18FFC080B1FE751F033078464646462026204963656D616E1D", "Cardhelper by 0xFFFF and Iceman" }, + { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other) +https://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, { "3B..............0031B8640000000073......829000", "MultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 3" }, { "3B..............0031B8640000000073......829000..", "MultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 4" }, { "3B........0031B864........73......829000", "IDClassic IAS (old name: IAS TPC) IAS ECC Type 1\nMultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 1" }, From 3ff659fd98bedaadf5153a3c695ba124b8199ffa Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 16 Sep 2023 09:31:42 +0200 Subject: [PATCH 009/278] fix newline issue --- client/atr_scrap_pcsctools.py | 2 +- client/src/atrs.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/client/atr_scrap_pcsctools.py b/client/atr_scrap_pcsctools.py index 7325d90a3..1f0ab3948 100755 --- a/client/atr_scrap_pcsctools.py +++ b/client/atr_scrap_pcsctools.py @@ -59,7 +59,7 @@ const char *getAtrInfo(const char *atr_str); // atr_t array is expected to be NULL terminated const static atr_t AtrTable[] = { { "3BDF18FFC080B1FE751F033078464646462026204963656D616E1D", "Cardhelper by 0xFFFF and Iceman" }, - { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other)\nhttps://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, + { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other) https://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, """ C_FOOTER=""" {NULL, "N/A"} diff --git a/client/src/atrs.h b/client/src/atrs.h index b66f10cc9..134e74d77 100644 --- a/client/src/atrs.h +++ b/client/src/atrs.h @@ -34,8 +34,7 @@ const char *getAtrInfo(const char *atr_str); // atr_t array is expected to be NULL terminated const static atr_t AtrTable[] = { { "3BDF18FFC080B1FE751F033078464646462026204963656D616E1D", "Cardhelper by 0xFFFF and Iceman" }, - { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other) -https://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, + { "3B90969181B1FE551FC7D4", "IClass SE Processor (Other) https://www.hidglobal.com/products/embedded-modules/iclass-se/sio-processor"}, { "3B..............0031B8640000000073......829000", "MultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 3" }, { "3B..............0031B8640000000073......829000..", "MultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 4" }, { "3B........0031B864........73......829000", "IDClassic IAS (old name: IAS TPC) IAS ECC Type 1\nMultiApp ID IAS ECC 72K CC (with IAS XL / IAS ECC Applet) IAS ECC Type 1" }, From 22d7adf0c0dc63b72993973aecc83e4b2cb775a4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 16 Sep 2023 09:32:47 +0200 Subject: [PATCH 010/278] getting confused over pthread vs atomic... --- tools/cryptorf/Makefile | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index ed94fb846..0c4587f97 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -4,30 +4,35 @@ MYINCLUDES = -I../../common/cryptorf MYCFLAGS = MYDEFS = -platform = $(shell uname) +# build artifacts +BINS = cm sm sma sma_multi +INSTALLTOOLS = $(BINS) + + +include ../../Makefile.host +# checking platform can be done only after Makefile.host # Atomic # RPi Zero gcc requires -latomic +MYLDLIBS += -latomic + +# macOS might not like pthread? ifneq ($(platform),Darwin) MYLDLIBS += -lpthread endif -BINS = cm sm sma sma_multi -INSTALLTOOLS = $(BINS) - +# macOS needs c++14 standard when compiling c++ ifeq ($(platform),Darwin) MYCXXFLAGS = -std=c++14 endif -include ../../Makefile.host - -# checking platform can be done only after Makefile.host ifneq (,$(findstring MINGW,$(platform))) # Mingw uses by default Microsoft printf, we want the GNU printf (e.g. for %z) # and setting _ISOC99_SOURCE sets internally __USE_MINGW_ANSI_STDIO=1 MYCFLAGS += -D_ISOC99_SOURCE endif + cm : $(OBJDIR)/cm.o $(MYOBJS) sm : $(OBJDIR)/sm.o $(MYOBJS) sma : $(OBJDIR)/sma.o $(MYOBJS) From c73de57320aee834bb88c1a7f2da943c5387c9e2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 16 Sep 2023 09:51:47 +0200 Subject: [PATCH 011/278] make sure pthread and atomic isnt called in macOS --- tools/cryptorf/Makefile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index 0c4587f97..82d1d591c 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -12,13 +12,11 @@ INSTALLTOOLS = $(BINS) include ../../Makefile.host # checking platform can be done only after Makefile.host -# Atomic +# Atomic / pThread # RPi Zero gcc requires -latomic -MYLDLIBS += -latomic - # macOS might not like pthread? ifneq ($(platform),Darwin) - MYLDLIBS += -lpthread + MYLDLIBS += -lpthread -latomic endif # macOS needs c++14 standard when compiling c++ From b6e1344e1c46438e4e1f7b4171f435968c880fc4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 16 Sep 2023 18:38:53 +0200 Subject: [PATCH 012/278] added a custom timeout parameter to the smart raw command --- CHANGELOG.md | 1 + armsrc/i2c.c | 44 ++++++++++++++++++++++++++------------- armsrc/i2c.h | 2 +- client/src/cmdsmartcard.c | 11 +++++++++- include/pm3_cmd.h | 2 ++ 5 files changed, 44 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ea0b13fd..bd279eca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `smart raw --timeout` - allows for a custom timeout (@iceman1001) - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) - Fixed `utils.lua` library function "convertdectohex" wasn't working (@iceman1001) - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 016ae2f13..c06eab580 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -39,6 +39,11 @@ #define I2C_ERROR "I2C_WaitAck Error" +// 8051 speaks with smart card. +// 1000*50*3.07 = 153.5ms +// 1 byte transfer == 1ms with max frame being 256 bytes +#define SIM_WAIT_DELAY 109773 // about 337.7ms delay + // Direct use the loop to delay. 6 instructions loop, Masterclock 48MHz, // delay=1 is about 200kbps // timer. @@ -168,8 +173,8 @@ static bool WaitSCL_H_delay(uint32_t delay) { return false; } -// 5000 * 3.07us = 15350us. 15.35ms -// 15000 * 3.07us = 46050us. 46.05ms +// 5000 * 3.07us = 15350 us = 15.35 ms +// 15000 * 3.07us = 46050 us = 46.05 ms static bool WaitSCL_H(void) { return WaitSCL_H_delay(5000); } @@ -194,7 +199,7 @@ static bool WaitSCL_L(void) { // It timeout reading response from card // Which ever comes first static bool WaitSCL_L_timeout(void) { - volatile uint32_t delay = 200; + volatile uint32_t delay = 1800; while (delay--) { // exit on SCL LOW if (SCL_read == false) @@ -227,17 +232,22 @@ static bool I2C_Start(void) { return true; } -static bool I2C_WaitForSim(void) { +static bool I2C_WaitForSim(uint32_t wait) { // wait for data from card - if (!WaitSCL_L_timeout()) + if (WaitSCL_L_timeout() == false) { return false; + } // 8051 speaks with smart card. - // 1000*50*3.07 = 153.5ms - // 1000*110*3.07 = 337.7ms + // 1000*50*3.07 = 153.5ms + // 1000*110*3.07 = 337.7ms (337700) + // 4 560 000 * 3.07 = 13999,2ms (13999200) // 1byte transfer == 1ms with max frame being 256bytes - return WaitSCL_H_delay(1000 * 110); + + // fct WaitSCL_H_delay uses a I2C_DELAY_1CLK in the loop with "wait" as number of iterations. + // I2C_DELAY_1CLK == I2CSpinDelayClk(1) = 3.07us + return WaitSCL_H_delay(wait); } // send i2c STOP @@ -670,13 +680,13 @@ int I2C_get_version(uint8_t *maj, uint8_t *min) { } // Will read response from smart card module, retries 3 times to get the data. -bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen) { +bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { uint8_t i = 5; int16_t len = 0; while (i--) { - I2C_WaitForSim(); + I2C_WaitForSim(wait); len = I2C_BufferRead(dest, *destlen, I2C_DEVICE_CMD_READ, I2C_DEVICE_ADDRESS_MAIN); @@ -703,6 +713,7 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { if (card_ptr == NULL) return false; + card_ptr->atr_len = 0; memset(card_ptr->atr, 0, sizeof(card_ptr->atr)); @@ -712,13 +723,13 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { I2C_WriteCmd(I2C_DEVICE_CMD_GENERATE_ATR, I2C_DEVICE_ADDRESS_MAIN); //wait for sim card to answer. - // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. - if (I2C_WaitForSim() == false) + // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. + if (I2C_WaitForSim(SIM_WAIT_DELAY) == false) return false; // read bytes from module uint16_t len = sizeof(card_ptr->atr); - if (sc_rx_bytes(card_ptr->atr, &len) == false) + if (sc_rx_bytes(card_ptr->atr, &len, SIM_WAIT_DELAY) == false) return false; if (len > sizeof(card_ptr->atr)) { @@ -805,6 +816,11 @@ void SmartCardRaw(const smart_card_raw_t *p) { if ((flags & SC_RAW) || (flags & SC_RAW_T0)) { + uint32_t wait = SIM_WAIT_DELAY; + if ((flags & SC_WAIT) == SC_WAIT) { + wait = (uint32_t)((p->wait_delay * 1000) / 3.07); + } + LogTrace(p->data, p->len, 0, 0, NULL, true); bool res = I2C_BufferWrite( @@ -821,7 +837,7 @@ void SmartCardRaw(const smart_card_raw_t *p) { // read bytes from module len = ISO7816_MAX_FRAME; - res = sc_rx_bytes(resp, &len); + res = sc_rx_bytes(resp, &len, wait); if (res) { LogTrace(resp, len, 0, 0, NULL, false); } else { diff --git a/armsrc/i2c.h b/armsrc/i2c.h index 6fa8b8809..da5da0532 100644 --- a/armsrc/i2c.h +++ b/armsrc/i2c.h @@ -48,7 +48,7 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t device_address); bool I2C_WriteFW(const uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t device_address); -bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen); +bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait); // bool GetATR(smart_card_atr_t *card_ptr, bool verbose); diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index 8c6dbda2b..55a3b62e4 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -416,6 +416,7 @@ static int CmdSmartRaw(const char *Cmd) { arg_lit0("s", NULL, "active smartcard with select (get ATR)"), arg_lit0("t", "tlv", "executes TLV decoder if it possible"), arg_lit0("0", NULL, "use protocol T=0"), + arg_int0(NULL, "timeout", "", "Timeout in MS waiting for SIM to respond. (def 337ms)"), arg_str1("d", "data", "", "bytes to send"), arg_param_end }; @@ -426,10 +427,11 @@ static int CmdSmartRaw(const char *Cmd) { bool active_select = arg_get_lit(ctx, 3); bool decode_tlv = arg_get_lit(ctx, 4); bool use_t0 = arg_get_lit(ctx, 5); + int timeout = arg_get_int_def(ctx, 6, -1); int dlen = 0; uint8_t data[PM3_CMD_DATA_SIZE] = {0x00}; - int res = CLIParamHexToBuf(arg_get_str(ctx, 6), data, sizeof(data), &dlen); + int res = CLIParamHexToBuf(arg_get_str(ctx, 7), data, sizeof(data), &dlen); CLIParserFree(ctx); if (res) { @@ -452,6 +454,13 @@ static int CmdSmartRaw(const char *Cmd) { if (active_select) payload->flags |= SC_SELECT; } + + payload->wait_delay = 0; + if (timeout > -1) { + payload->flags |= SC_WAIT; + payload->wait_delay = timeout; + } + PrintAndLogEx(DEBUG, "SIM Card timeout... %u ms", payload->wait_delay); if (dlen > 0) { if (use_t0) diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index e84a4183b..05b313482 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -338,10 +338,12 @@ typedef enum SMARTCARD_COMMAND { SC_RAW_T0 = (1 << 4), SC_CLEARLOG = (1 << 5), SC_LOG = (1 << 6), + SC_WAIT = (1 << 7), } smartcard_command_t; typedef struct { uint8_t flags; + uint32_t wait_delay; uint16_t len; uint8_t data[]; } PACKED smart_card_raw_t; From 78adf186d3394cf9b1aecf3f55477c54bd26d598 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 17 Sep 2023 17:41:58 +0200 Subject: [PATCH 013/278] style --- armsrc/i2c.c | 193 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 122 insertions(+), 71 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index c06eab580..fbe625e14 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -181,7 +181,7 @@ static bool WaitSCL_H(void) { static bool WaitSCL_L_delay(uint32_t delay) { while (delay--) { - if (!SCL_read) { + if (SCL_read == false) { return true; } I2C_DELAY_1CLK; @@ -217,15 +217,19 @@ static bool I2C_Start(void) { SDA_H; I2C_DELAY_1CLK; SCL_H; - if (!WaitSCL_H()) + if (WaitSCL_H() == false) { return false; + } I2C_DELAY_2CLK; - if (!SCL_read) + if (SCL_read == false) { return false; - if (!SDA_read) + } + + if (SDA_read == false) { return false; + } SDA_L; I2C_DELAY_2CLK; @@ -298,8 +302,9 @@ static bool I2C_WaitAck(void) { SDA_H; I2C_DELAY_1CLK; SCL_H; - if (!WaitSCL_H()) + if (WaitSCL_H() == false) { return false; + } I2C_DELAY_2CLK; I2C_DELAY_2CLK; @@ -312,6 +317,7 @@ static bool I2C_WaitAck(void) { } static void I2C_SendByte(uint8_t data) { + uint8_t bits = 8; while (bits--) { @@ -329,8 +335,9 @@ static void I2C_SendByte(uint8_t data) { I2C_DELAY_1CLK; SCL_H; - if (!WaitSCL_H()) + if (WaitSCL_H() == false) { return; + } I2C_DELAY_2CLK; } @@ -342,94 +349,112 @@ static int16_t I2C_ReadByte(void) { SDA_H; while (bits--) { + b <<= 1; SCL_L; - if (!WaitSCL_L()) return -2; + if (WaitSCL_L() == false) { + return -2; + } I2C_DELAY_1CLK; - SCL_H; - if (!WaitSCL_H()) return -1; + if (WaitSCL_H() == false) { + return -1; + } I2C_DELAY_1CLK; - if (SDA_read) + if (SDA_read) { b |= 0x01; + } } SCL_L; return b; } -// Sends one byte ( command to be written, SlaveDevice address) +// Sends one byte (command to be written, SlaveDevice address) bool I2C_WriteCmd(uint8_t device_cmd, uint8_t device_address) { - bool bBreak = true; + bool _break = true; do { - if (!I2C_Start()) + if (I2C_Start() == false) { return false; + } I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(device_cmd); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } - bBreak = false; + _break = false; } while (false); I2C_Stop(); - if (bBreak) { + + if (_break) { + if (g_dbglevel > 3) DbpString(I2C_ERROR); + return false; } return true; } -// Sends 1 byte data (Data to be written, command to be written , SlaveDevice address ). +// Sends 1 byte data (data to be written, command to be written , SlaveDevice address) bool I2C_WriteByte(uint8_t data, uint8_t device_cmd, uint8_t device_address) { - bool bBreak = true; + bool _break = true; do { - if (!I2C_Start()) + if (I2C_Start() == false) { return false; + } I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(device_cmd); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(data); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } - bBreak = false; + _break = false; } while (false); I2C_Stop(); - if (bBreak) { + if (_break) { if (g_dbglevel > 3) DbpString(I2C_ERROR); return false; } return true; } -//Sends array of data (Array, length, command to be written , SlaveDevice address ). +// Sends array of data (array, length, command to be written , SlaveDevice address) // len = uint16 because we need to write up to 256 bytes bool I2C_BufferWrite(const uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t device_address) { - bool bBreak = true; + bool _break = true; do { - if (!I2C_Start()) + if (I2C_Start() == false) { return false; + } I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(device_cmd); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } while (len) { @@ -441,12 +466,14 @@ bool I2C_BufferWrite(const uint8_t *data, uint16_t len, uint8_t device_cmd, uint data++; } - if (len == 0) - bBreak = false; + if (len == 0) { + _break = false; + } + } while (false); I2C_Stop(); - if (bBreak) { + if (_break) { if (g_dbglevel > 3) DbpString(I2C_ERROR); return false; } @@ -457,40 +484,47 @@ bool I2C_BufferWrite(const uint8_t *data, uint16_t len, uint8_t device_cmd, uint // len = uint16 because we need to read up to 256bytes int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t device_address) { - if (!data || len == 0) + // sanity check + if (data == NULL || len == 0) { return 0; + } // extra wait 500us (514us measured) // 200us (xx measured) WaitUS(600); - bool bBreak = true; + bool _break = true; uint16_t readcount = 0; uint16_t recv_len = 0; do { - if (!I2C_Start()) + if (I2C_Start() == false) { return 0; + } // 0xB0 / 0xC0 == i2c write I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(device_cmd); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } // 0xB1 / 0xC1 == i2c read I2C_Start(); I2C_SendByte(device_address | 1); - if (!I2C_WaitAck()) - break; - bBreak = false; + if (I2C_WaitAck() == false) { + break; + } + + _break = false; } while (false); - if (bBreak) { + if (_break) { I2C_Stop(); if (g_dbglevel > 3) DbpString(I2C_ERROR); return 0; @@ -499,8 +533,9 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t while (len) { int16_t tmp = I2C_ReadByte(); - if (tmp < 0) + if (tmp < 0) { return tmp; + } *data = (uint8_t)tmp & 0xFF; @@ -547,12 +582,16 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t I2C_Stop(); // return bytecount - bytes encoding length - return readcount - (device_cmd == I2C_DEVICE_CMD_READ ? 2 : 1); + if (device_cmd == I2C_DEVICE_CMD_READ) { + return readcount - 2; + } + + return readcount - 1; } int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t device_address) { //START, 0xB0, 0x00, 0x00, START, 0xB1, xx, yy, zz, ......, STOP - bool bBreak = true; + bool _break = true; uint8_t readcount = 0; // sending @@ -579,10 +618,10 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t if (!I2C_WaitAck()) break; - bBreak = false; + _break = false; } while (false); - if (bBreak) { + if (_break) { I2C_Stop(); if (g_dbglevel > 3) DbpString(I2C_ERROR); return 0; @@ -592,8 +631,9 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t while (len) { int16_t tmp = I2C_ReadByte(); - if (tmp < 0) + if (tmp < 0) { return tmp; + } *data = (uint8_t)tmp & 0xFF; @@ -614,40 +654,47 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t bool I2C_WriteFW(const uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t device_address) { //START, 0xB0, 0x00, 0x00, xx, yy, zz, ......, STOP - bool bBreak = true; + bool _break = true; do { - if (!I2C_Start()) + if (I2C_Start() == false) { return false; + } // 0xB0 == i2c write I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(msb); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(lsb); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } while (len) { I2C_SendByte(*data); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; - + } len--; data++; } - if (len == 0) - bBreak = false; + if (len == 0) { + _break = false; + } + } while (false); I2C_Stop(); - if (bBreak) { + + if (_break) { if (g_dbglevel > 3) DbpString(I2C_ERROR); return false; } @@ -656,10 +703,11 @@ bool I2C_WriteFW(const uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uin void I2C_print_status(void) { DbpString(_CYAN_("Smart card module (ISO 7816)")); - uint8_t maj, min; - if (I2C_get_version(&maj, &min) == PM3_SUCCESS) { - Dbprintf(" version................. " _YELLOW_("v%x.%02d"), maj, min); - if (maj < 4) { + + uint8_t major, minor; + if (I2C_get_version(&major, &minor) == PM3_SUCCESS) { + Dbprintf(" version................. " _YELLOW_("v%x.%02d"), major, minor); + if (major < 4) { DbpString(" " _RED_("Outdated firmware.") " Please upgrade to v4.x or above."); } } else { @@ -667,13 +715,13 @@ void I2C_print_status(void) { } } -int I2C_get_version(uint8_t *maj, uint8_t *min) { +int I2C_get_version(uint8_t *major, uint8_t *minor) { uint8_t resp[] = {0, 0, 0, 0}; I2C_Reset_EnterMainProgram(); uint8_t len = I2C_BufferRead(resp, sizeof(resp), I2C_DEVICE_CMD_GETVERSION, I2C_DEVICE_ADDRESS_MAIN); if (len > 0) { - *maj = resp[0]; - *min = resp[1]; + *major = resp[0]; + *minor = resp[1]; return PM3_SUCCESS; } return PM3_EDEVNOTSUPP; @@ -682,7 +730,7 @@ int I2C_get_version(uint8_t *maj, uint8_t *min) { // Will read response from smart card module, retries 3 times to get the data. bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { - uint8_t i = 5; + uint8_t i = 10; int16_t len = 0; while (i--) { @@ -701,9 +749,9 @@ bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { } } - // after three - if (len <= 1) + if (len < 1) { return false; + } *destlen = len; return true; @@ -711,8 +759,9 @@ bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { - if (card_ptr == NULL) + if (card_ptr == NULL) { return false; + } card_ptr->atr_len = 0; @@ -724,13 +773,15 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { //wait for sim card to answer. // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. - if (I2C_WaitForSim(SIM_WAIT_DELAY) == false) + if (I2C_WaitForSim(SIM_WAIT_DELAY) == false) { return false; + } // read bytes from module uint16_t len = sizeof(card_ptr->atr); - if (sc_rx_bytes(card_ptr->atr, &len, SIM_WAIT_DELAY) == false) + if (sc_rx_bytes(card_ptr->atr, &len, SIM_WAIT_DELAY) == false) { return false; + } if (len > sizeof(card_ptr->atr)) { len = sizeof(card_ptr->atr); From e2f78edd8c64b33bb1e3fc09c117e0e3383645b4 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Mon, 18 Sep 2023 09:06:39 +0200 Subject: [PATCH 014/278] recover_pk.py: more MFP EV1 samples --- tools/recover_pk.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/recover_pk.py b/tools/recover_pk.py index 7ef149ceb..f4a78dda7 100755 --- a/tools/recover_pk.py +++ b/tools/recover_pk.py @@ -126,8 +126,9 @@ def selftests(): 'pk': "041DB46C145D0A36539C6544BD6D9B0AA62FF91EC48CBC6ABAE36E0089A46F0D08C8A715EA40A63313B92E90DDC1730230E0458A33276FB743"}, {'name': "Mifare Plus EV1", - # TODO one more Mifare Plus EV1... - 'samples': ["042A2B221C5080", "BAC40CD88E9193C58ADA5055350C4F648EB5A7AEC4FCF9BD4CDD7B1C558DE5F59C6636F26286ED48622AAA2331D4DF1CEE23B57B94BDA631"], + 'samples': ["042A2B221C5080", "BAC40CD88E9193C58ADA5055350C4F648EB5A7AEC4FCF9BD4CDD7B1C558DE5F59C6636F26286ED48622AAA2331D4DF1CEE23B57B94BDA631", + "04505082346B80", "78B2FCF6769F60B165F5BDEB3A6D0C26967BB165E65A3B400A01C711356FF0A0807AB1A2706FCA419702AC67211287E31D71927BA25AB235", + "12817C48", "3351979A3449CACD9EE113A75B862917F03EFAE68DA399C06342BF8583C88DFE769DF49754A96F7C28B57189FB05B9C10E2305D41423A6EB"], 'pk': "044409ADC42F91A8394066BA83D872FB1D16803734E911170412DDF8BAD1A4DADFD0416291AFE1C748253925DA39A5F39A1C557FFACD34C62E"}, {'name': "NTAG413DNA", From ec7406a40a28b10c395efe639972d72b9587997c Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 18 Sep 2023 19:03:46 +0200 Subject: [PATCH 015/278] added datasheet for sim module --- CHANGELOG.md | 1 + doc/datasheets/DS_N76E003_EN_Rev1.09.pdf | Bin 0 -> 3810685 bytes 2 files changed, 1 insertion(+) create mode 100644 doc/datasheets/DS_N76E003_EN_Rev1.09.pdf diff --git a/CHANGELOG.md b/CHANGELOG.md index bd279eca9..c4e7a51d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added datasheet for sim module (@iceman1001) - Changed `smart raw --timeout` - allows for a custom timeout (@iceman1001) - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) - Fixed `utils.lua` library function "convertdectohex" wasn't working (@iceman1001) diff --git a/doc/datasheets/DS_N76E003_EN_Rev1.09.pdf b/doc/datasheets/DS_N76E003_EN_Rev1.09.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0fae083acfa13cbf50ba7fd4d66a5b99f08b2683 GIT binary patch literal 3810685 zcmY!laBw0|Wh#%7RpV|D>$ol3Y8x;*z4 Usk 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

sJ^WlHSQ#yiKuRUG?2eER4oWRqR%da8>_ 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 z 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

>>1+5~SYwKq<9e%?sqB@0!2Ho+iB84a{=deL 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

pLOGGig9MikAJN9 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�bpZ(SEya(WncFr2ac^dqkC2~Tsud}D&fF+o)&j|U!+{x=lYN5h1IJo%p?u8cqD2Qh7aA+a&iMJN znAu*BkK*SMNB5?v>aUm!>zX_x#FS(-eVoG9o8R_ssvcIOgtERf2W%>MS0ubb&NzFtoDYn-g=+9Gx5OpFTC6a|?x%c^uI z`!q~UsVtqX8FaDxDvNM9%ZkTg%j{lVGMRh)C)euD7f*WJKR0XoWTCSG4eHUaAD);l zH&5@CPxPvTQVbSJMmszvuGEeA*UA1>@GV>JNu|ThI%zW7y~I-Qhl#!^+O+1?iFGLw z%wo)3M(EZbJO=@bgR7W!Tc{?1u(fzEfHuL%=@A}YpJm>6WS4z!jE zc%Sxk{rybXT~7S**3KKrosQQ|6@0v0TKH7)_1-RvPmL0+h4<$zZLZCe+Hn5LBY~tp z=PI%kRBl!VmZk?i_w`oMui*VY;eqUdZ#+BZI`jL!W!Sf8ZLP)rfa7M0nOALAei3Jr z^3vWp;dE)1*?LA?D*J|o~}-x zEvTW_bE217?|DL1A6@3dr1I4Hx=a_Jif z%bNVdxpQ&`_x&y@_xGvWe%1PJ z^B_Dzbi>iV@iKhSzSUc#IdREl{TY`uooM<%j5eFk?^-aS+UMBfJ#WHo=B`~a>CVAi z79rD&HP^PxFS*mcEk(tf``_tR_LFWgn(mfat-K=OdBCyP4>wIYD5`2$E6#GlPoi_X z!J^U~Q(rGyy<)SJcl?u1ew$An=S7|et6i&owVubo$9BsL*-3`%ap&AMeRcMQ-fB)_ ztUZ1A{({+jOskR@*bo29Px?ARzS=r`&gnxZL;?j zYRX!8@iq5Gg=ahLxcX+7&TC)}E1H=#rE%$@GyP{g&gx&x?9!RDU#KwMDJr)hYt4tN zPP5e*%b0r|e|shepK}a8E}uI6<5aWNe7dF{`F~5dKT|rnNvV%dHC_$fuT$?9Ov6gt|szJZZh7uL~RGRiQ&F% z8Ji^xg7$f7m-!w_zLt9SNc|{>;Py4Y?y1H~*+z=ac$$38_D|<|FQ)pEt1-GlVe)%s z_;iLaTYlcZR4US@nVa!luZ-yI?&P|&+rktg?j+Qqq>y4(eudFMZJG1k2tI5^7BC6WL ztKOJ<+uTz+l`u2>l5|$m1b?B`I?E#a>r&p{+Tp3Sc>aWA9rGrpZ{pimD^=S5eMSq< z4YTt`OJ!}#)t)3=J^g3e?vF~vs~^nms7j6VxvBL)YwER-<_mi#u}iHu>3#l(%Ttrs z6CTgz87}$yYfpzqqDo#PAaZ{C>o|O@a~R;X<3u*;k zm2<&o`R4ge>YTGy1TWorrRrqeG|Tc;${W5kq^;-XNM@GqXjR0yX}mzA#(8^p%)r?vX=hUaXAoG|ck~J96a@+uwGfh*@hA zg#P^R_X*s-{2-rA-J0U_&u`pvj;>yPQaXC7jK|S(-MFwm#<_DkPI(r;X|}Dnk$L`4 z|G8gTPJTF=nZ%r0iL%n$2)q^n=Oj!fUzclMOaqP}j%U(PlE zO5`k!yz0I~EbVSW?&gnt|Bk$!epdW^`iTc2CU-^Ng{J2+oRM0k5o2EH+kBHX`R+T3 zQjdcR)yrL48dhA%w!IrH{fL*d{_ulUFBzXJ^lQKNh_E;{efw+AkF{mei&b9xa#(4m zR8ClD-SbL%$_9=L>Y?iuFHMeKm+rjar#tJf#?^vmFCQxCrg-n!b0<|g_IS_cvb9$y zSQIgDximrS&b-3SUcxpDbkk}b-=FNh;J#zU8C7vM_gL1CJ4^dwyVXYSMVl;tin1n%Y%PQ9EJ#^9>)T-~2W4Ubbv&Y{raFUp`!z9F?23mnZ0_<8>ijY(5ncv^QPrmk8sjHF0|H zoubTJq~untiF@>0Tez|J`E0%3pHXS=k3MdGx^Imj?*qNshg0j$FK%FZ?6j#Pk2fKC z;Tvi9w1u(awo|fPCT#2el2kwKQ}MlqE&Thl)*jzE>Ah;MnDHh#XIA&^-3zwApA=r~ z<@jN@Ti4{8Ma+A3Zgy<-^O&_h`B=sxMFkdC4sOQ3>z*B4^Ya(aC$_e2z1c=;Emu~X zIc(H_yf^BN`l75nxvB1#nQlGamoaVUr&a=vT?rn1-spP(?wIVZIg`;&zkOddxFrS>!E!U zO)KJ3+<0V|9FM$U6cIc-d#ZHF`cx@t>_yvDlRg;fMP@g0xjW z&CT0!{mZ8Ld-4x4x8x?-pS=;cboB|JmkB>!F&=uy8FsV3;a>4x%iJ`bmc$^9=jDxQ zA1?n%;Vh7vvFEGQ??b!dEj4d1+_LjhNfB>&xQ9nBE5qz>UxkEwxHhxyE$L3J*7Ekw z>-m&FolE%k;*tu-@jxE`e0%6 zD{(*9zKCxO8za+tR~ghkJ1(jJg>BA^6EE)BKFoKu`m{So`_smFM;FHp@jADsWiOlH zEc$^pB9;H;xA#gyYckLWiOt7b>n|@@LjX6_vIy%ZwSYq4!8P# zi}B`~P+k5Mx$HTM+ob~1vUn(|b> zAIps z(9Iivk_*>Az5U+iORxH?Z{=RK@8kOx3GA+LUi`Vl_xX$uGjSBVrld~t5I8J&Q_hyM zr%KnBUwJWk$1@>=>7{aZ`Tu2qtag6xGe>uS^luL5N^OC6_r7{e-zqNIrP;J{Ub>hU z=i9i=TMkynbFU6HGFzdnoGUf)y>y*oWxLka6TIrtHZ5I`tj;CYjF>n&o8teYg})+jLlXo)kEeqlEEb5rE`oF>`*>|KFY3)V!otc`5zn~^eYrPJIkY%XHUtS(R^&`LtBnZMSJF* zTYcN~iLlq&n`P-U=3c(V;`VOawmzi#ETayRswT7zji4!FW+Yn zb-*X%Y+&k{&r+N0Z+*$zYRcW>tbRJopkdLWTKna*KWtujekT|2w?+9E9gZ#D!?sxX z->d1%wp%ApUblDR9=F9`?@qG%tdO;Dw{hl@@1YIfxxYk6mT4$`anD@9vF2r3g7Txb z>(iEL_a^;GZv1MLARe5h&wew~FmUfWR~sXJE#EiC6!-nPe0SEJlsA4dFAYEc;hl2# zg>Fn)1Ea6=`^Xb{oinz)zqVg;@oV>k_CI*jWsHqqOZlj5oA9CW?S>Mu#ZM)=UY%@k zJ{`YBNF#+yYtfWD>2h0d?8!RF#dz}CZ|?9zTAj0*u6?PPIr-M#kP9N}_iHNe`AyHQ z3tRP+UwT&HJNb#hpLYJW>wAA{sl(RUbt2^%TTU9dG_hscu-~5KaA~t)teC~;wJK{Z zG!MP{>mHx%=dGoAD>Fpc+*a)V+wQr488(01yV;HB3*Q{R@3zXP>hgY>3)`@T?Q}m^ zz##N4OH7r=+G{PpUD2+^9PDLn2NG2iWIp_FFU&}uKjExxe`mz)tIvxWxBg7N@#c-5 z)w$2!vpz=J9*oi3vp|1UWv4;KT{)L!D|U6ZMlEHjm}Jn%)WlKvH#wQj;#JVuii2xI zFSX`WFuQ!M?>ezj)vfaN3ahm<+u#4G+pVhk`s7We&Ec2#uX`F&SbO2yYJ=4>&vLGZ zf1f+ap7TJ^e4+KG$Gdcd_?J)pIHh9xO53mZHy_{PqgL+lm-V)Pyd>AJPqV{4uYctK zv}{Y{1(iM46UycIFBr?+C<(3Ty4)15@cuZb2eWK~P380H90!l3-?0-lb2}0LHXvm8 zzqu!Ny5;&aSR%ikUK30yhl*D8VcXO7HMe7(})q|dMNDXXV4 zPua>Y-MuX=JvHi}y65U+?__V*NdNNAp40eTqhqqUcRl;(*jWaZ%u9JU-+H=B&S}Pd z2I+?ZOWk>d{U)k9Ee!pn`+r)=?RT#x2`#zY^TyvTJpKAbjYrp>E>oDs#ohVsq8e-5 z<0BU@oql`y-{+c{DzndNmu%?mk~WEY`o8GmwbemNb}qZ*Id4uDTJWce`AAaVD$eIq zy(4xXdU$%>rlq>-M>q7v^2O9Gdg*2*!TIW^i{3Z+xl^{4`(K~dntxzY?CJcHSDleh z>?DfVcD&YIrSUbR-{3}#)K8KAl+$XG|E1UN-(rzw6JSyy_HT>0@~ zzjayG+ha?D!?Wvr^@F9@%lDXn5?u2?_D1KUMyBagI2dFX#cfRJ6Fj!&U6Q@g`I_~A z#P8Q|>X^l7KkwJy`rz})MGE!eo4!$Dwl;POj(GtHp2@U5PK)$Ua7Ba*y5fv!s@&2ZYJvwo6tNcb{N|BuoKSzd7!?8rKp zpBFI0a_&R9E&C=KY3tpZw7$4kLNzlmeex}pn_JG_u9xf;?-k>foofE)-O+hZG+Asm z&OIBO&*&mjTK)RtwH1b|&Hw)Ko@zd!vOnfKGhf@|e2)^@U(+PEd6`(3%?#XqK(FnQ z*6C?=Vd@*%gJyVmy1l&@**|G_sFLgbmYJ)sM$cW=xa<5)LGABHTR$nNc5y6x!Q2o( zH&U6c`CjEtJp)~f1Jz$voAi}`*S%%tBAw>6eno&hw777SX)!p>apP zg?d>*qWHqD^mi=TOKsDBeyDly$yx2Mto3x4Who_5qSZH!&wSn9*Vj4g)k+s$>%L8Y zRfUWrWa2jcuf26C&{yxyv+9*ntEATc4!QC8?x*A{e~ljGUuG_IU9z+5#2U>r^QZ4{ zo$l^t?BFN!#-&|ziujk1HBmJy&o#t<*w{R!ro$xg^5K$CJ^z1q|Ma(Yy8HUitwYD| z&5JeBo)gFKy=Fng*-Z_z*6DWn9c1ZZWeez^y*AfL?iKdJsW!DW)% zm#!12kg|4X#`;%mXS$nZ)E*fv-yV1PwBoIsDY= zn)M>L;ey-6!?K(b!&BUd=swv|r2bl@_0EY_qY|%XPcY zswS=DeDzf7OaH|vUU7~~ORv=YVyW41O6J-9@|lW^8|HpuWITWIWMk&ZtZo(WiCHqo z`B|=-pD1K#xSh0^xA*80nY_j3k0&T)?$_0qx$13n%I1x~-mw?I)?LZ0IM(-8C_Hne zbwuqS#+BmhWn+##v);TXbJ6#d>RIc;8=~`F&aG3ZRA^ZnnV1=}YMEJ>#0ycr4RdB~ zp1;kXDWkR4-}&(OFWYPGY#*`a&jg(eE#hO`nR% zwYtO=_(kb2IQzHrXZEy5eUn$5^GN5hJiY(W7x9I2*&Am!b+8|G{(n$t`lBspH@~tu z=RRqA=jHF8<&Qcy+8k2rw^}TE)I8#YPIRx&*$Kvf+-~dKaM%&d<}2X1A@IoqZicMp z+{gg-#2=N`7dwvST+8sk-y^hct>({Fj8+|r^ItokEo2BPu~XP7F=5;P-C+qkWXzs; zN#F1ivH1P6_j1zOwX?U*6;+z}Ov#yRS{Tc$zbh)bCN4W+o>E`%Xxg{ zev3-MPwjSrD{N=C&J9?2*6NY!++_LrNyd@4mbu>1jadHnReh&>qqnQ8=7D|Oy5j9( zzxOxv8^8REquEK^sg}qWk%N2tIM)_!H+BD(zgp(jm+m)$F~L^SD^I2rKZyM!xqqw5 z^XQ2SVhi5ubS&XGy4v8usmy6}SqnmfT_)X{f8JS0w6d{BPySs0=Q#^KUaLsmb_nvJPe1FoONmeMR>;E17wQWgzs+zT1bt@ci9$hV;D|W=# zzr!u~Z%W(KpMmaGlONZ)NeKMEY~mrQsFLYm*Cer^+H!bq`D{Z>B)^0OjzldSWg`HQ|OEL&gE=^PV$am1a_w8lb?@jx9x4e6L)bP0a z@&zvY9j^YHd7yk{_WLJ!nlc7&@8y3s%%=zo=v(jx_H{AdDh<6j0{t6CDNrssx-%3{A zmDAu-FMjG#wqU2_DM92%}E zCzj%^QOVg)Pt@A52Oj%adEw$7sU^!#J&=!lvFfvm$HFYJmuHe@&HTj^#Gf~5by!6p zd!B9Ev(DPYa~~WwJKkBdvQJ{&6tzAhabphFlj@&^r^+d~Nix5fxglqXkI0=3E9Tu) zRjl-T6SevHjw9t;qiw@yoIIN@`sdxTjL0{N)^=^XcUO8^J+piG;P@@;lmFf*dMs@I zBbazb+;!HArX@USCMQ@G4=FJ&vgBjX-7XvBU73~T>+vgp?ejJniCvpT^YR~NtbX^d zb#+>#!{;Ya@237V@oxJsnLTyoo2haauJD#PoSSCTB4=+h;oi*~4KMV?cG+Y`~Rx}FU$SdzA_I1sb1`7 zukzOXxN^y6;T}J|KV1{{3m)-nk$$5p&r)@`dN;nG zr+@YY`>%JJMstq{AN=@szU`AEX99F8E<3Cdy(Gl!`{C5S$+0syy)Lg=c%l1%;e)nE zlBH!`wR7h@UiE&-;hJFHBP@)8onfCV%hc3<30%pkUy_pTbyBY6NY30S`B&L9&h1R? zn{tdl;>ecU6Sprj-Myp#=|3;7<#vglhdM%Y)~sGN=hNcphmSf&|2OW>Hd(8`doqLD zou_B^F#o(UrRqKdV1oCV*YtivmIm0zE)xjnC)kpuo=^Vx%L;cdu9aVo_92--+wZzOvY*QT@d;T9! zuiv{9?{JG(SS0fc=>A{-bBoq0;q9)U^z{ddd;-|l`^20s{d=(Tx6<6(tf!Ane74Xhov&!-@-3;0TD<~O zPNchk6ZiYzvHEiCrAJqnKN9F)v86>?R+a1V6ZNvQGrvz{x48e}yv^P4dxs4rqnQGo zBh@VS$3FV~bFuh@Tjqb4p165&$GgN8W{(UxCLgJ@zF*uDv2d}(&K=HEKnM(5~73eHF9@@_Qt3hp|VtkLFO2p$eW!m5U>~tRaUku2*8mP$9%607a zZ2R=NDx4~x%sKC~mRcR%yee(-oF#T^j826d)E7%$darK#YYX4&-qLfPg)`oqC2=NC zX3E*HWAFcBKOc-|DrV8)wOKuiAgyckO+)$+91tPpeU4db8*eTWhDetwAm8Ci$Bt?_TkPO{HVa^pnd1jWt;NA9qez@Gvl4 zI;_%wsVpkl*2`+0T@qVzFzb2&@Aumi<2Xt-zN~)Kar*8HW4}8m*nXZbml2W@;q;TO z^{`BNt=0ANv|Z7U?42{OwDCzU>`0oxozhtO@JZ<9%+7&ApeCI5$1t8QT>qeZRJA zU%;O=9c)GtXZsHao`|??Dz|*~f7?G+FIpsJRn|1+Id*!^O8 zou|H>#+=*fpOWrX!kzzELD=1Kb=Rkx2b@2I%jZjYPId2lW&P#o4Smm}9=w%XECpRk zKP5O=SRGDV@O97I9a9$vUvBxLar*Wp->vgscEuH5X89Qw{i9`zlb_qY)mh~yE?A1k zwywRNjH8)I%&C#6lS1Gn=r|{ZRQGEqoz}c^hp+S1@fx%50k=+??tA*l(PWaua$#TJ z{a@Se)J)iGS?6I@C+}{`uk>c--PE_m;YS5;?b)?GY<_D{kMg?N>O1x4)HlzrJ1k%| zs zd&R4t*38G9|0u9pv*NJn@y7X*CmzPnwNEvD(YQfTW^Pp7-ZxGB1+5ztPPOhgGKyUN z)yPlxp6ml91@7prh06~sI5cuaD&*Pyn)sus{hn*xf$0xVJ>q_-wseIk+pL=j{U^Sj zxgYS7|KE#e>)QHOhBzlox%6?@7X2kV=B0e-Et|z;`djvp`V;NRi_Yf%{dk4ftSg^w zO7py3k~Qlp1#UlxzP8DlU);0y@!j7G#AB3P*eCr+FVwO5_t~^F%}R(>Dqr^Wd$PgVV(F@!x1r~n_v(1pPCgnKCuSOE{_^JLGpu{3*c3b3 zpWnvj8+yroZkT#n`RC2!7123|w_H3sscXd*7U7LQk{z~% z9QI+l#dN}l{rtMmk;N@C`L<3q^Tc<&KC$S#)~b$ckqld3c6+TnEq!XkSDB@&U4D1! zINm<8o#V`dmQ|vQ72fFm*%1&`v|@t5WX02;Ci0zdud4cHdP(nHt!GMxFxUla#_0E_+wq*wl8mMo-f}e zGOKo{d(+{@RU9gAftQ%N0=eET5s_OLI?ZpNZO%TSN9)Y)^y<5PEZ10ZooAVX)`{RH z52Wn^E);n*onE()cTIdX?{tYH0l)V@`@L^bmf`YB-rK(qx+ zSIoI+a*yLlpHqOwXj;|%>M|B2fs^t`=!+3d-Yd;jvrH%5{Y{&pD5$l(B1G zly6vf;dxM({?sE}Mejn)F7Bv*vZLhsYvIGoC4cbW&?+<4`M81Sw*cea$I4s*T0*A6 zhc>HrZP=ceo0*Zte<#Us`P8y$j#hsC(v49*PU|*II>7e2Z_mdw^347_e`p3Pm8(gv zm7f*5s`FKYg5=ao9JOlpse5H>Z7zqgS4F+p@3M(WZ;yY_^*_8mlYRf$F^ZebXq98- zm$eC+aGP;j!TlglH}_SqyWBsnpJ(N8%m1lfXP`lz?kvxf0*lQL8m9hLbo5>D;LoRU ziPVCPN9WZQ&p9BSGI1Se+sXKuwI}7=?sa^;E%d8-del~n4Ze@F{LXN8&%UZXdF~wp zjbN#+hMIEk%Kh#}A&WkJ;1r5so}Jx$`$Oo@1~c(wQC*=`Ym$C>#%}xI!QHC8*yzgz z2}Z-d1>y&mmE0|IUElxC{pe#et-trVq)QhI&EEJ(})EvTWsA#rR&S~Kbm)7PLh7{VcCoc|FaKGWS;M( z6aT(twQ^DFq!qjJ_so)ZzOZZY`#0uBhahnh6UQc0Khq-?`Cr*49(sH`g65 zj#~TBaqbT3HJikI%mkf#ixs@3?aqXC3e5em|JV0tlU8&(tm8j(tM5~=)w=YRv5B*F z_7rYZ-=}$CsY68EROyqO-j`k3@OkgQZp+W#`Ij*=pPp?U9Ct=JK-5L|Qg^_HV_D9v zO^NSLJecmd>E+rp*9t{4_p;tvc~%{l0(P&NI*!z$sh?>>o#F8rDL zu9?R@qw8+EZb#X@Z>$Ed&Q{u5s_}=#Ck&d>F^qpP5j0Lxx{uETtZ4x^*yyt^) z&%GPh)vB9%HeM_8QPjO3b^OSIRJKudRt%GIQd|SrH3c zTZ?wHWybt7J=Pzw;zO0b)3JrgL6c{HoKvUrsd72Lg`?GO{YPrXo&plDWSSlq?);E< zW1;DsTP-C{?{=Qu-_I$(>)+CPpE z&~bTFT%Wx#?th2^qw2+{*JOA?c{6Vn6da!68RyJ>{*l;i7jD&pj&{2R0@GzLMl3kf zo1FWza?>%De2%6P^`t3E6&Ysk{CTTmyro6AP5*Ro$GXe!XRCKhj5&Jq#XAHg&#sHz z{b)nVwX%Dzg14C0xNWT3dgP(KRdQzNb>vw~p$SyzE|@ zr(R8XdFEz8)|qtSP}a`*+O{#9V-AQMx|;N{YE8;=7O$O63o2vmW=LFIep~fMWMf!u z*O{E41(Utla^0BYv^qp5Z}?i1W0 zm*uQ@PwQX*q`Pm8j(cd1$;^+e%rh81&8pCQ$FtqQDY8Y)qjZP9mg6$Zf^LQnf|>6% z0ygb_^Y663Ei2plh5p%hO*s{JA58E}^IIL1yy5p5wbZgZ*+I&liHZK7v^bK(U(Sy# z_jq}xYr{_NJ#Y799hdm`?Z5%9wrbJLwhQLBzwDOII=}U^t(sO5Q}U`bjTdU~Wj!iC z%Yd-0TfA78D8FMD?Wt`=Ki~~CL9C_Qc^B0NP{|n*%dZVfR zD@RhBy~CWQ$k);PmPpntl$jf>5INa2V^?ZZ@nfX`GyQ0jd#@7%?0aSe?>;S)lDfCy zVg`eMZ$^*my%j<%cg>44G-C?w@14y^<*Ld4cgQqu?%SC%-Ig4Ye)m4#wU{71^<;5z zLdgUkXS+4653cL<-iVKGxch6H=1OLp+jBlHl<_}v$ftgq!J4{HXC1?r801_naw+`v zs((q?#G;P3=k$ZpD}s$bl$?M5{6ou`%Li_iT=~*hsHff0VRB3@dHXw7r^UYN^TkRT zor_vae?BvjIN-Y}aDQ52;?`rgUYa(uukASB+Y`xJvREQ({lj;MV^Yq?Sp8spm%eUm z>}oe-bq!CMI=>fv7Ty9GDlW$Rm?ji;*RSaP_`4Mb5^8U=IpG|YGR6a?_F5D7lvOD*@Oh#_t=dUTt$wbbPd;ngSQvc`Uz_!tVZn*OgYpZ76)J>`+)^Uz|8Q-8 zbnRJ^rtj<425qGnRxSQnVL4{z69e)qe;?W+r7ikd>veZYjIgSGTCcsp=7i8$Z};cy zP~GIs(D~q&irk#ljkj+lXjklXjGdWP_xGmqq@OZ;dk=A%Gdc1v&_3~JpL@{S*zMaH zlXP<*91dbF6nB(s>#TaT=hJNsGd}M9GAZ+{PPr(pc-ZD$mCmobCv^YXy9FvzxrW>Tbjk}MGYtYZ=Uweu3ww4=o==%Eps+Z;i)_O?@d9G%cP60*<0}c z|Mtj0w6krm$NsJw(U`lf0xTjn{;b!w-8!}J+ZCxhf3>zd`kmO#zNabLGS4?>sUSy< zVb5~|Ro8R;MY-l*W0G#&;<#IF(H52L{=JjMqoMg^#{q*0>~3@VbA`Wd?`BL);g+9b z&p2(4X1rd-W~aVur=u5>fXm|0|qPG`x z)^6c+S=2P~zoP!`^WDepg*zuavzj(t{{8A;@sj_E3>6&b{gf=vYPDALFER}*s=77l zaqDB%r6-Oq;s|sV4X{aAcEMC&U&0#M`%hRdzWlZ(!g@xi8{c_NQNLFX-E$ef6+G^- zZ=Vu-GkbzS#8S)RoeU3CWW-z^Jy3BedblsRJFZ#f=Axso%BL;)UA~}T$KGjYE))(ic(Uc|W#+GO)+<` z2;aKf$EK;w@AV(=zFkHZF>#x0rz&wA)QlZC|B9LeuwyCsXVeFtw=K-1Oi5_s~4PvbM0|$M?$u3q)ZQ`1xn+|-L;H@UIT`WYz*kN(OjU&8$PG6$CCkS6SEO06H zv!aTv=Zt+kk#Z(l29M-g9V@;?y|MGRG&9|B;BNU@(@Ax=A8%t-wdPe>s?QPlrOryNUr_b0?YJJTyx7n)$}5d1OBgV|%rZ`~T~@p6UY~zao;{);ZtV<+EUaZ+^Vf@IKc@O1_yf%w-O1 zXlRJ#WI_4%o%M0ITRD{^e{J`*Tl(kHj>p=YUpaZZCts_*u=)D&`D@?1UtD@{yIjVG z8C83juO|e1d+h%F_Oa(1rjq|&J5p+<)o#me(||wji))Un3YM=_?~k6{Bg<-bdkJIY zOK&q-@e6(P&YyjrzVwiRBEviG>R1j=houS0ju+}?+?koe6<&5q^l?aeZQHWbOLMth1~2$|_!LFV0!u@L=LPts8dEH#zwW+6qE6d7c}6N_wC4ht*J9 zUVfUmsx-oF&wi!yC8$xAP zzu|P&sh=9RJz8uYznf;{f|*y>cFri6^6`AYC5LM5sjnZ@PIJ_cs|ZoLk!#JZI8kKT z?-R=nqVATSx#lJPt>uhUai_&m=AvbXH?NauPkfp5;=$4bm(rszi@tU)lX~vC_RdR= zUHf_dGuF0vTFCh%eKKK+TrBbabD7Kcg#J5ATmvLurF{Efy6?P84SR;Q?lQ~T+mlR9 zjyx|~uAmvesLf~5K9}p(VSfK7bx+zMeVa4JULf*i{!d%YHBaM?^wt^lOuBLQd-NU7 z>q|1kTNp+kDWY)I?^Z$j!88eivL87S%2Ef?iZNs7&_|7di-)gWd=&C@R{-Y;BnW!=ku@ek9DHP${m>AwBo z()61Pe$8UI$_SJgR>lrl_nKkRa1%dBZVs#DKdUbxlyiK#ospT|3) z!mH@p{dHRImm&`(ek*>pc+0ZNjQ*7dg5nAVYTf$tnp2K`WSF+eP(ZQr_ZJs7*W2B< z`WLi)Rk^r(t%*Kc%ndD}NgJ0NPRx#NG(U4LW`oYc=?x4Ie@%EC8q~Re#ZS+l`wKp- ze6(#{md{p!^YYrq?6Yj5XGuKqzqE#GMW(A~?AJJd+A=;NqTtcr9Wb^pI=r%3o1?-xU zn;1`Qzftl!tYNb_`^=nOR^l^C?XI(JnR!yRnzwki<=@Bs2aiM?`@NLu;fD$_7L)(! zyH;G-p)RbI{YhSvsUuNGO7!DuZH@%NZ6(5ozJ|@=>z%74ylmlS$9bJqE3VlG-e{Z| zemeZR)tL{s<)1l8U&?2MdhY25kk%C$7>t!?htbIjed?;WtA0$Lw>0<6 zaiSNpCgGawAl-$Yq^Y2A=w!xfl zRXG+JuQ~4=6aM&RrRlLVK1B}yF8`R>1vqcB?+$&)1*v~Dxz~P7a^WGK_`AHm> zZ}xwikf3sQs@KZb$K=-shunM9WE*w)a{Wx<=tGyU$xE8Q^;MEvzeyy*`Q^GLi`#kD zE-w4OGRZ}>{bEAq-Adny%yAcY-)u1CslS|Xaq;?FcWRa_UH|zT)7yhfqE>yKc;`@b zt9kctkC_wPw59gh+4`$3lyu_IzqMG)pJ&pWznq1^SImr82P;nDY3fc%X}Fyg`OwDH z--E^ZVewxrzMCr_UwpJiOLrD;_|d3z-|8GQg@C-J3a2!-Ey@pCkQ?Bn#(Umqmz3q# zyKwlNY__--j`cjvY)doExwx1?F-{Mk^Ag4#EnZ0&6w zQ5WRuG+n&kYk1%Id`7@QtoDw<%U5EBWhbwG{cu?6c1{6%aoa>6)~m{0GZUU{jM<~H zwUzzjmbJTA9q_(;iS=bz$2Z^hv(Cw_v*>ec7LhrWq?i<@<$ zuX9pPN;mUQu?LDTv)Z07PE|KEUY^CdgF}n=;x?1ci|@8~Fi1?l_o=B&N0g<^gW($I z#&1s+^#pPq-J;(fo^Gdeb_*NhnU#G3vvZ<*ug#i!EwFb=yk7K$ zsTaJ2rp}$4J3U~|Lg6WHiJN#NwtQXoy|4Wrx3b8E%Zp3fq%t0_6Ww9xzn;A;r$)g0 zqpZ;CpDH#frq*32mal)iX_xMjk~wY?@6RoJmz#NHVTiRo&&D^ZT-ny|j~Kn*Qgwa$ z|7otx_glr6{bT;w_r+uP_0FFw?I+IulXLJ`?dM&&V1c%`o4MQ^{$gy4-&Uz z_V6nCuZ*>cFG#xd!b>M()8DRQPb0>-8}Y|B?q-w=5!dsTm*2l@+xa~k4$bfDlk&NI z{TAEK`^&kin?5kQ@N)5azk6)8X5|yzY4$$bUfi+#ByfjOS4``8VM_m1oySFf%1i4M zsswib-($6E)`PpVPu-2l-sxxj`QW6P$~THW+`IaBrmp&|DM^tL>;7eL`{EQ-e(CrZ z^_a#-Pdjy9U$hq%zc|U=Eidc1aJT4DeKmp06#{?7K7{hWUNP@g@e|+N>eaRWiu-sE zXv|df6Z~HL&M&w@Pc5G1`|BSG-5xFm-ygkk48E(9I8SAI@baxkd*(R5&{$PAYrpub z+Nv(LkQLFnLK?N{ORCQXT|YJdfs?;bh64xxgV=MX_itvou}#&lu*<%jD$9TC1J_NT zNvppmwuyc?Jvsi<49{KH)pnIB{r(w$XCB{v*=N-OlOMV=xP|^mnOu||!0Bw1yP@85 z%FfK3c%5fAo@M?%XH+KoLW*^dc$vYC{SxLLyOKUzywl76SuDM2)ki@~OZM74`4uPl zUurJ;=~@5y*v2-!>$ipURPOJ*cj=L3;BVRezE@wr&Hj?3z}@yx>SNLg>uc{LHM1`z zzhE~?IC5)AUEJ=BtBiCg^Z=Y|H0dC}|enowYtqT$6F- z1)H~wRtx5Mh#0Y6%e31%Db?5cN$|PfD;Jk0T>QQFdz#CW#}ASgPj{CvNnx2d!@XhV zr|t?SzQ!NISGD%;znivYsc5up=Iyyp&DbRS?%vL>k#q7*D&6pt^P7sEY`4?VU&G(J2?tNd;8+&JG?mo603&(D`C8<0+_^MY)q%CcFxmwSC?jdgX>#MIA zzRNCc5Y3#RY?%2&DAw-MC9}>V2bY~ix(B6u_eMqeB=bEsd2r?K`AZvmU6=pQec870 z-|+y;?McEv7RQxuv^jZV{p}Xh%5#&K)Ck46;dQ~YJ@@J4BkNr}Z2s<=$x;zF`_;2$v3m0~Z!cF;Y^*guR{B{v)rD`#^}aUC zpmshHqf?LLqgQo(V=OIOsQ78ZeD?XDRhM_lz16$lD!*exOzesC%sVyBDir7Zdwbxq zYIeFaW8m9&b!Bd=dku@q9|ymi?NdDDi!p0D#*r?bRN>)*knV%F=CbWLZy$cMvySMzU)|1REM ze8~NUao*Xb6W;c3(*GEpbZBSj?;x&~&t2?$N|Fw=lrfcFZ_N4hz}#j+eV20A_?E zv$beWely?KK_$|qzx-*jg$9M`L4RjV zi%+(z*iqH;JA1KMlab`boUB0Uk59T>uV;TSTVb8{yg{_^2Zzc8v8l`0c@};uZdt5< z(@fmHJZ;_Ty3NyHEwsvcvA6!zfv`Xch6Ihk?ibotS+({rOW#jD=wtfc@9vAa`Z=3s zEzrHhe|@14?}DXKGOergqbv_kf!bNA+b&KE+L zWgc3=`C0kf=~Y_Vf`aZFR7A3?9;%$2qgrhHzn0VJ@m^kM*^QDjjDCnLzr3Q=qOec- z^-IY*=382GrhfU+x#aS@MOLYjoS$DWk5c^Fef9GDZ}R)2@2ek;NmZCSvF-QM=BuX# zXRF;a*?y4i#$Us~Nv^iK>sJ2F+7-W0zsU95_QUE^^P4}O^1b=?pVa>N#gF>hzNd31 z1hehC{q~XZ?2BJ&-lyy>b28FUV&cetSz3$tja*9!Cb^{P3nMn{Vx09u?o9U_y+5aO zyhUvJy=GWm^YC1ElgaMpeb&Dh<7Q4Toa4MOa_;_ZnQPmVKlpJd%=zwd{H(~AE*Age zlD%_#I*iOG*{_{{LVMW~Wj*%j_5cUVnLlI-HqElj?<)NL(M*aleuw$8Il(${#qyJO zua=KZJGfEvs}kG6W}ayraSyLr#rVy$Di=+kEuj%_x%Q`ao$s%od0G{x_~#y7{UdnQ zy}(W0lP9U&EULY8sHn{0-iI%{Ri3WRJeqDTQqhvO_1|uN&lR68>V-_<>-1>!=dQ8i zEj8m)!oQCAL^NQPvY2{qxMhs{G`fj zX^SNf8SFc@l0|S$>yCKgHSF;|N}(c24cv3Z{aP^w` zJIp-N^~K__<L2H!eDPKG@>s zw&~mUEiW^sUEOuH>U*iz7WXZZQJYf3Ui05`td&}4s%!iD{0oI+Mz5x_AJ&`uaRywo^1zqGx5Az{@k8Xc$VJ2ij`8Qj(oC9Y+EN-uaTC( zYQrw`nPOSf#Uf)9k+jMxLo(-&fmRD9*Jb!a{GC0R*S*JC#%-JXP!R zN`Y5w75~jguHQoEm9zc=zsLw z`K9bTljvQ?1H0ZumZ_U-+|9o7Ol|WljYaBlAAc?6;@Y@>ae8d(=@+4L&xMxXKPEN1 z?!&DK-n@rh1lH7lo4>+oX`6Un>0etu7#;Y>S2t7W+~j$Goj$oI?PahMzS+Ia zTQ+<7tc$FlV+^9)4*XoWarKtD1|@CR%kF5&-raWnWNKEwQXg05?sxO0Zo18jm>Iq$ zL-*3|D<>NMNU%Q5b?gr@dZr@dohuZ->y2tnGWU`b%Wh3SR~Xc@a@KTb2BpJ$dR(F( zmdz5h;5{&H`NQj}_a|O`G{<_fI5Q{^l9$N~_s1OJA?ap8M;`w4Ng&E?>JJgl2Rs+qLaovU7K@`GmKb znHrTAPLm^JQcc$>cU!74i7r{w9=|oa{K(uRvh^8t@6sOLsdE!F;?VpcAHF4ld5(;+ zaJl?4Ny$fIOnJJmlBCXkW{XVNSmiz?Ap5}PjbEIrIh$^6UD~lar(3|-eznZ9O;dav zm8LMSKQTl8vF5g>N5|UlAAi5q{czxwulX0k&)F(1s%N-jYG?bf+ixm&hDX4*4Oea! z%Ex|L%CDL5#Wt)_h3TS}YT%co=R88XRccqXtuu&0({`)5ZM^wo zxrdbXWM8NB`N2{e32kw|4lO&IQ{O9jGtckszfWgs=B<3)`NC_@#i@5(JiRmHPQ@>0 zZs|__9=!3oyNThW%C~Ghh9|w^??|0YPK=nNr5j*fCgSN<$+z74Q1wpnH>E16CEK4W zXPXw?IOZze%doVHT`R^IC6Ysvg zFfB~+%WK|_rWA#lb65P1u3J~c9Vm6l+Qk#@M+Hut_4~)+(+exa`0S5f3@V*8vy54NlI;|mWA7F+ADzKC zTr0v-@)i;nQB7Pma)J&Ow2Mi*YcIZxvIbx{3mifw|RR>#hnFSq| z@z`uWD`B3h+0XKI{fW6!$2NAad1lYudcg4|e@G^0=ElGSKbFc~s#ZL{Q+&qa5V_c= zs?L9BxTr9REnhiI9YFE^y_0aC71O zm)2U5%Wp4c+f%g6ko)63!~EUP%1*F`?Va%|;>M4%Fm7}2{AVnR9I=TXcs|BIe{Cja zrlqIwR3g~;Qo=6&eXVcb`6aDCaOU2sC)vC2X;|iXq`WY6K2_v#_I~U1{Wn*c@v59m z?YcDY?L>=6_09hs^zy$?shP0A{K)Pi2??Gr=S-F`Tr}~KoGX|)$K`d=)-%(WE3$-2 z?ptv==6=&7K0EPFqsSv0JtUUROHGDUJW(xkKXlY4>QqR^7Uw0&;u+7EL|(c3 z;p?QPm}M20<}}s#+{qU;+LX=owzt@EqxQxH@2?9Ud#D?FbjGCj3OBQ@Rtr6disro? zdooW~c;10knx7Y*F=kb~6*BwWq3soWQ~!8KUiUbeXBBWqzHATQjY;y&l3%9pe9%+> zS>^v!TSkfdLD}9LmRDVv zcl-XP^KwzDmrmGbdxh+{CAqCtvlLnXi~pR=BV~W%=tZrp={nv9J~u6VF38rmEYs2L ze|YzGyt38%?4xzs-}0IZa=(@+O_(&rywB7w%WiX~;F5otO+}aXzpf7C6S-2_y!~72 z^egczJ_Xe_ZFqX4;B1s*$=0aiO#9Qfnx?&yU8?u|mY?{E(=|z79NW~j|7UPpCY2|a zK0UfU>A}Vontcx*Uc3L2D`Ebwx&K;jGhMGcG)wT2`xCu+#~fcw*_jdZx@*6Fc~aL6 zp#??$w>Iyc9MwL3y<@JSkFPtcW$G0@yS(}A+?$1%C;h(H`{iZe?#QiSjVui>1z0}R zx28X143M^tv|?O+W|okvN`4!2&gIvwujX+CFT1ehX^o}s^h~|ng?AP>S!{nN@?7<6 zS%kb>&)R2Od}ix3{#x*$WP!lm04WW3vt6@Se${^ZZNX8FhE*|}Hfj|yZmXDo=KH?A zB|ER4dGcZXf%cr0vxJnspAlNtHS?9x?fn}svneYXPEl6bm^|%r)r33ic9~Nv zJlFEp@fZJYzMSZ?puh6+lLgjlLEo+!Z+!IULORorqzcud-F%u30atq0NEON+m6-j- zY=y|%UtU7RN0>R)S6yeW;ywGIBl7*p1i8j1Pv3+%JjnDbYj|{zDfEr5R`T+_3r;QR zooiuVa_Hu{l)U-R0uG8?TmN6+!{TrMH^j^`_!V@}_5Y6AU-L>$!uCX{@SDHgxj$#~ zVrz!W751`4=l)H&x-=_MRsY(Lr7g{8rA6YW*YtlqdN%H(?e3E&zIJP{+J*}?zT^7) zzsLTstz%GRh4PLJNv9hE>#Ky{@IF1=vEuD!skpT5k(`S~w5KO{EL^zml@R-+-ER8M zx}HXBPk+s4>|t>@Td|G7#x>RQ+6$eM2VX`1M{J9)aNE8kd12!R(c>DYAKUJFazaAu z^ZGPruG62^EWdNoX;#ekp9_`i6O~&kijUsm__E>70(r5&P0NmoAFi5E5gIJO%q_Lu zboO=L-!I?IZhy`gbVYyO$qiX)8L#@x4}?G5a=2>$wXXLrta8WM6a|Y#%P#-WI>h$r z3Ckw8Z?WerZT053Ub0S~b%R^y%B8}f#R6xwU)`(H{ULw0CxD5G^T_;&p7rmK@@{x6 zFu{g9EMiXa73q7PiIYwHW@ygU{yFmiL)R3g7K;a$-D(!9&e)j1_buJG!T5`)XWCnz zee(-5^iB6h?Y838>{nfT?)=~HCj}?|J*0WJB8%&9JA)ZVwDR<8&ue@|FFLD*7q9r< z%{=dfEXR`&i>Z4S8;L4}XZ-Fk{_Oo@s~TtKiCJ^c-CvZlZmw!(d+=)pW@&Bjx;H2O zOyl3WHPk{h>*7?;e(qyY2Yg&+@BaKB2~_Vs>@^)`~KwB>S?2e>r6;ScrtiuK`X#?| z%9%|i2kMo=CPZCNJJy^#vnNozdx~M;4E?F?GbSYb+PUaI>*u)JD;Hib6Wen1R6;hh zZ(rlE8LU&J@J2TV6KG6wHtzO_X;>T`jk9)_w-kP zp{%H{SSUX^LY5!;#2f&Yhb@Uw^*T#QTfw zasO@gte;C*_kTG5?vbvz^1yEXq<^h*7$J#E{hxRhFQ+c+k_p7mqdoQeCMEpj|KY~ z2D@KP=8}x`<7%rv#dF?R5Xp9af!aBVtJVxvWe&Wt6Mld3TC(VQUGjX{FTUY?c8`?u zTLaaD4w$v=&Wz8mJGizd!DiuH5r0cli62ROuEwvOdj0#|i#O~q8!S0~Ib%Qjd-=-- zCujW$DycukbZ4bT^oPwtpF;jm^?#EoH2o_ltNz^+(u*fMZ;~_EFY&#xsgy^dWW(`~ zO}qb}UGDnw!q!h(Jh|)^mzvkj%<4NNGo$@K_n`t?3&u#!l{t2|@BS9?VtI8s@N^u* z)3%nt0-por7oMouIM+{EP}cf|HLxUQLH&aNAGgf4pE^nYSp3ANIv3ajn6K^a6tVui z=l9~HmPyS4Z&vRPEbXuScS`f%mn%gkPlc?@z8vSh9h>Q!{PBqTM!7!q=MT@W*I2;G zE|GsXXneVVJU-;dH8DG9m@|k#L%bnUEX?DgP zwzw%hl(< z=6kYE_DpQ7)c=O#Gee_ZTlRc}BeEOtt*7xq2_v_C~&*V|E;hFsEn!#%L zdV-Gewx>rnoz52kuG9?AOX)7wru5y2CZx?D^ z@qHc3C-#5KlnppL{GyMitekjk!R*~VSFA5y;8>hpR=j-D73ZSFzmbdIo?E>8vGqc= zRkJ^rCU*8E=)9V->d~nqYb1CgZMvi9olKE+{CMrHvByCl<3r9%qZNgNy?OP*YYm#1 zCPn=DGC3gKXWx{!EsL|b6HPZ6=cQUa%D=q!d^6t$!NdfyXYV6o=P?OBw14<~&(VuB z7U)-;`l!%mWUEjv&a>i8{K~6^`>wrO$+Vnv`82^x>^yJ76)y32?5OJq7dcb^&(-sW zm~QT&i_v!`|4>|b+J9R66N#l$ZY^(#T{0=CxMSM6E$mC>1490-SaeN5>efUhgO)`% zkFly|f4Rz_&k|m3^l_!z>ZOd`-x!sP0v}w-N)owHv+nc9-`fh>v$ z;jv<)RnlP>p6z?g3U=?e`KjSkcIBuzhkE~ynqLZ0F0)$-)@+*J(eY%;s&||xcf4d- zGSUI=F-5G{dnuD}R=*KAG2fk)QE?v#FTMB&$t-kIW2Y3*x%>ZQZ9G9omkv zJN`!gOPHW}dT9ZReA!AFu^IObFHBBbyMEfSlK6Ql?8nn~RXZIv-M&>qvUj;`@Op8+ zoczSP*9+7`TGy?(+<$vX;e%NX>fL*PP0Cz5E%3WxKik)q4KvrN#?DAxc<3>6#o`Y! zb*u7pr)7y8G8Inf*LW9h{M2E|=byJN%N=sDQV`}9hOeS%56 zHV*Y$8=nU-CP(J2QoYQrQn!4U@rVCy3+?sfq#0-L>-qZeZ|svBX@1#0YW!zcJux>p ze`v8#^U|gy6^n~o`GiiT#GL%TozwoFcE~chp2EeG)n>^T_=axJikhl?*|x@eiLKuu zewS-go|Kp`jyYAdcxA}Tok9-#nbzOhQuWK#%x}liD{0f5x!&>Jedd4TfMZfg&W2gV zmoIJNXgj%X)zi7^jw=h6NK8Ih&8u2)jqSGLsxOh*ADHxn3?A>C&!!coeXnHE@3v~i zR~oCkU1|=u7}`By56M`*#Am*VZSwA4#p}PUukbaJo@o5`if&SXQP7@k>v_I?xv8?E zDqO>a!E^UP##EyT3lB|O^u%s!+u<7%T}=6-BAMdbx+c{n41o&^eX z%U?P9*66%?(t2fmlh!TEbT--MyQV3NcsBlQskydSq;u1I#Z_` z2Wo8DzausF${CN<_T^?3t3y3bb|wAab3f+D&Oaxv?49vNaE`IXB-bbhP2aiJuXkgP2fHP)w( z#-0EE$<*P*hiNg{0h^>!AEmu!GO#+B^J9g_yp0PbET-JGGAlDuabLDtWs0iBBNz9h zMfLIZf11wSy>cgPaf{fk6V8FtE-OU$z4LuqS$%3F$MxCgVZ-MpuREDw5IRy}>Je!k{z?|aL4 zys|y;u30liaIf(Hq<`~T>SzBBT=3_e$n<%8m#q7xD4=w!K=A58rN?_}JhXdPZOVU~ zdDdm;zRGp#J+mg&bFx0)`mf3V)cPM=s(n>+tvpmFO^dmwt0P)-X3gR4VSlV{`yJho z__1N;#&(+?ZY}8(9g#Bv7%D-%lW)dFHeiu znYMn*p>4MP8r>&5wie7aky<)s%0r%*hqj4->-F5V~32+rn=!i@II;nAP-In&~ zvYj32b6)y7?>SxcV7o}uBj%6m#6^2P2yp1GO(~l7`ymI}oO#6ikIFCfynZ056(|?gGbBy7yS;6OS?{A9go=Yc9ITpHLk=r5fGLLT` zcqR2W=Ew+kcYj{4ENA*HKjD>A>#PaUV&ZL4XT{r+#8exbe;xVox#8q;<)*~K@DHkt zlL8wT`Fl3?8Q3ax?2r6(_PNT$Z0-3m1p&EUzA~YU=gzTN(X#nBcYpcXY0M5Bk9N!a zerYGtv#~#dlY3=qgsN=lBiqdL9GFY_{paist>MTV zL5-d2EvJ7)Z4KOh!DB7sx*tb`zU$6Zvo5(k`SqfWe|a0ir{pibeOSs}+qSdy{sv}k z-tE1iaeJp)Z2D@~#5}o${aRb}J-fVFvGczlnPR_h@tv5ByWBSzZ+XpK^zW?QtQBE1 zH&qw0Os`+!vemHb$P|wUb)oW)*E_TciKMJ<2}r3w!Kbh{W}4T>ZEWcU!S6OE_zG4S ziHTk+p8ep5cF){f+S=K3g)%3oFHFrlTz*0LUx@X->r%IhV`pp0%;lE$R=CP}eOKmz zH71_=FYoP_>R|A8b31GH;Nz2@eMUj)@>3YI4(!?x%=IKkf#(xjhVc1WwiVNKR4WV{ zTbGBJ#MX&{flh~xh7iYIrKjVIV*;n~=`lSsg-$XyEDq^LcU&<)e0-HpC)52i?K}40_h_GHqouE~M$P}k?#hBcXXbsc%@XtZ!?&a` zxjtpV?^xldk3+dnEe`$GctfjU%^Z$x4}}y!2Yg{ zUN!&L%;lWMkyO%AnXvTnjnuU%)++4U@oqJ`yMM|YRkS>6(suaTx6cctJgcl{<4lH`Vc&~+ zGB5e?_Z(^cadiFuIdQ2eyRNSL7kJd_oVma%xtc}a-k+3qP`SCstb5V1liyz#JS;t6 z=xrKzM)5kAnRsx(mRi@@0hyNzR)jxpy~$IY@3fieyo2+u`+5npUzIS;SJ``T^5Ux| z+|?(886JK8nlaB%tHzX-<(87;-++5{a+{pF``5U>^9(-Z8g8k&e7=t>+bVs^PZ~S4K7Zc3`HH|o`~7yOcdp!%!TsptgiP%_J)sK@{cgYHvRC}b;avv$tAAG9aF^INz5twPzoT=<8*1aX%Km?soiiEKb+8*4HGD zuANt2wuAMhqiT%aZ2T*koprZ3|F;tD;#NaOgW(zeNyd0o@>w_^0wQ0_XxyyA0w%JYn^Z{#mV{Nnd=30%qO z-ZXc@>yGX2>=g&D9%H+6(8}}Dq1k-u z_vBl(DR551(I3k^wr6)Yo+|W>HMiIpyhZd6$ChbJuNGfE*`{zkZ~4Xf@(%=9GnnlA z_pzxM`mTB^AA8E}hEG{-k;Th^^ADaf_+8r^{GenD`;!_OS>9y=6SAwE<*J`*82mj2y?Dj|6d#eU-vU+Bq7$}< zS~lHvo4e((;~FWe$4_2|zx{r0#jmqB^zXX;<1SQ5s(yYzmOtR|g%|nRdrOxsxOO_| ze1fJ-Ti2`|>kAx%wz)}Pd2q}|+k5%V^L|GjW-@Q_3til?^h)kNk5y+lv$uHNnD4rM zb+;=iqGp3(JM<-~Y1> zpYgW;l;75^1=EX8O{i1rny{Y{iE3&Nq7);cU z+o~LSKmE<__VkV?``l;fKRD>PyHB;y;a^#@ZRI-{GZa7Qcu6XbLiJxDJi&Ar71+Lbo%WL z#qW=;jD8y1cG>I!qm8)GpJQvpsx!~(C0tjX`NW}~iK$6<%dcmQ->PC48vcK&wqw_# z**ag|U7KNSU$c2fhx>uQ{SWq9-F}?C&8z!hL2h)AM4iXVlYA2MRMW054UTLG<5hlS zw?^0g@D;|lchc&-4(NEF+UiuhBlul)m+Vxw^zZhcPb>^xwA$&w!tZLbA%>Z}M*B+SA`L^GqS@$?KLguO(!qzHrEUt&w%T zJ20cYXxF(D8~<+zDSOHO-g}k1_2mZT>5p|3#OLnWXXJY6$IE4bC02eehd1_ooiTIo z|GSnG%hQBPop&@(xph6_?VCF*FP+W4pS5G%nblWf7u--NoyxRVI5*^Z^fs+aY)Pj# z81Y?WF*58sVP3jVelkmH_&bgeG1r7wwk!pkeO%Ulay)&jqlG`_YGPWtuGhI6^=r>M z_k0)Sm&iK#aee9DX(#T?67l;t{t4{vm`L2+$o=Z3=$}+y``HEA8 z_ajSH_cSu>-za}fU4DD1iLyG}?j!VCp=Qb2 zg8AXcxNlGM%9<@v$Kz1;=ll5`_d+IWU$}8E{eOn@L6J{I%)9H;0}e2L5i_q8{=**H zw19DSNM`@dSs#UsmMMIbx$yg_!KMWh8PEAXdY`qoM71)QZAVMCi{wU)JJ+R)-lfOi=6qYQl}~hI;QO8WJrBeDU!7!e zz1gHT>qKwge-oyn1-kp{|4;e&E@;(7lcE~}7T4YGaZNi}d&nkpOTRn2`&`aTFOExS z@P_^6x+472^y`d!t`$3sZm8~Vd|Tbe7%pd?uj(CFXfY$_Z)=l#(S76K*lBCbm-5-( zNew!%@aV3@`rXU=YWwr@xR0(sUpFr?ktL$~;_TA0lb_OE6|~xvt_L)UUzy$dIlaNe z_EU$$QPGkw?^{Z~u5wM8w6H9fYt@0+%=Wtqc`lb~KfZJqT)i(!xS{OVb?XboDw&(l z+&m=zsZQ(6wAo9Gt}IpvICIt_mG?8h8RzZALGmY))xLf^ku%r#-^QoMHN5r9jF&RZ zWBWM&ZRM4(hZdULQE1rZ9{X*J*4OVjihDegx2jf5=X+W7Yu`iJ$qJt>^BtD_DD`H2 zlp>(Iy18SANzeQ4%-HSUm!0gYefGfM<PgGsFIyd#<4gH5_bU%pONKbuLbMefL zBYQL-tXr1wZdUE#d7Q_%9oo3loE*E?)I9q+ZI_XB`Ypb7j25X)&(19GS`p`F<6f65 z(D3O6_f_{hPgHh?_StSMH+bGE7duZ}d7j3N^)jbgwHs@^&OLQ8+3Cb_Wm4#yB{S-H z^7pR`%Gc6Mt=h8nV$6Ljv!6Yj=iZ*I{k4Qk&}eID|0$WjyL>-PU|ar1@kK%UJRA8X zKfIIG5`NWG{{Gu)%-fLodFBgm9`|JT+*AG6j5Y6gXuNrqC-y1zQZ7%xgBqzz%L{Hk zUU6H~!ez#rec5758=Tl(o<{gQY&da&wc~*mr_Z-jFaEvsjy$(Wa`hDfuqUpCp z7YBRJOY&$JJ|cc>-;3vM4+9w8ZZjM@vu#diDbFj-3bDA2b~d4hLikkjrr#|59=Cjt z!IBvUAE)WE?(Vpys=4IQ8upKKCI^)sy=P*#VDADS(X%}N9~4|Hi{Q;JyFFcc;)(Ce z&V;REW%#q$eOK3UjqAN9uNL@hJ)WD$@9CS=5)`OiPU}*I%_b=6<~OH#pW}j=Jo(GJcM3~nU)#6pUi8_6 zYOP`)*9P-%Xe~WndG8v-8KE>U$+pRBn0BobeY#DNck!%6xeumpYJ4xf#$(>UIf`-i zRoavOM|kB{CuTYvng8gK|DnmTd+x9Kbymz!s?Ph|42ua}LJ#F6f0#B0r1^wMC+OaN z$~CQ9rDIc9sG0lOq-U3S_BWsZzUjH$Wy3d>jQ`!{W&TXnw`@v1_woNuf%xB6+9A%$ ztE?7g6yDmp#Z|N8(Ay8|%i6uR3m@A4>rC9c{t`Rt>V5Z=ow_~n>&(`fFQu*&r zI~-8ZoiKf>#o{u?;>%gWbIvigR8`jLv93{*+qF+^mFUk*##zBC`Y-ETom!nfn|-LO zt9WOcaA&q6gnvCdtTuDp?TP$x&8u!3 z@3-HR!h(!s?ii|nW4Tp)OI+sCRQbYF%8RCf-~E`D6X*G+%kXh zGnbEBj)c75efD+#k)6UTgDzI^bKaG%WAhW}`Yl!dPimL6e`xlfnBF;|9KHwlh)O+4 zE4;JdUHy`yE@j=(%7%5DN>w|E~X|@6*@DzB!>E*;ppYUpR54 z=k4Oj8(JRUO{stAA+7E;QTy!^&e#&KG**`g4&`IKY_8&&>t_locO=ibdBOijllR%T zOV{>kdpnxEyuR%9bM>70CNFKH_a!A8zAy4B^JZv&-xHYhvt;%v2e#{{qR(yDdJ)OU_zcuG)X?JYUUhO9SHpK-siwb|7 z^=l}+b+-BMDaihk4sKuwfJq( z6YjHwWM?S;z8AR2aAE2*P0PpeDjtHjS#LNjE}Z;0>ac32X6{DoaDB`V$jn$2!pVfkj5)c$J4ww5hoJMY;)RpPiP$Y{Rp`O*Da0gKLj zfA3hM&Sc*mTkh>7JN^0^6JE|kCX5*;E~NJ!WaQ@E&&T{tZV4sVC%-y{h3p=mL~CQ@lKy{>PJe}$CHoO zJg$B8%VBxHwzy>8pR~xD=O*o0>3OSrHol2V?_d;p^ziyS>!%5|O-uj0{xeTtld(qS zq~Cq=uS~fZkM9mVQEa}TS3cFHcikN~T}#IwFB|>y*Ua(P#U8(ecxoe;u}@d)4G!{9P!&dHreTpyaDd^b=j)Tzt6j@BVGK<&7dvv+rFy|NpIS^q~s&=I>uFA5q=>YE#p$*`2el@Awtj{o>xe zj1ZRNWoJ(EF~&dIGa)u%lIGigb1Rmo{W-Gn*~Gqtc_#6!E4Td)_`6GOmb>K1RbH>H zZ%k?t%j{Syp17g&$#kY8Cl)Q88teQ{IlU?~wN7!~MsGie#*NbfB^WO)H|Jd$nx4pydcSP>4>_ZMrPgIkvrf$3D zH9O<1)0HdHbG<~)vewOtyj-}uWY;NuMZxy6eJ9olHajpeecqo_*&Hf%BD8qLcY|d; zy*o^|etyT%#}kpc;NJ3XnQdw!-t%7n5sG+p|9Mo3%v!?(!3!UroKf-S*@S)#6PR+n)Wcn3-&$wC##B`<*Y1jGLW=a@W@~N58sf zYLGBto6L(I^FPvpN4@l$&-pd4xE6Nw&x^dO{h~@u3R)=!VV`cy-uk38gv<94@4=U@ z*8irhH&?2ic&Y58((l#gZ88app~V-4EMCdfZx7XOE&QD^Q9xW=Mu0=kSTXF%qm@rs z?zT@7`|j-$$1Jz*pjU`dWX_tYOI;isDj$`6&)e5_JZw^Hb4$hUHrbud>smtQ9AP-) zJax{N9mYFXpU&!LR2MU!ZvS#tr2YE`u@}UWU-iBWY;-VF*p>Y7amd%78E%SZ*E=TTCIFiX!5y7T0f)Jk8WJIDd^Ox%qY$0TesJ9a!usZ zwVM0#-G08*c@2eAzfCQzWuKocviREv)n5-TMm*9#F>$qkq~?KtZ*&xmCRgVz+_HC* zZU%$TUQz91-upd|=KP;D^~_n(D5EJgOJ8ZuX{^ZWSr8t|@Nee#;^j9=CBJzvZVJ?0 z(_KD)pRvWP-&2BrEYx2YC2(b0MTB{+iKcH?=XagQ4-b9~zEpDN*%2Yjk{NS;y-e6T z$wW8e@L#6=%k=8CCjL4V%G&(qmvlFeU8Rwk^MA9+{3;e6TXbxn-~1{Ry0c@K!!jY` zNpW}nJ(o87(BbYAa_sr{Wv+YlrB82k+{3YDbBn#qwu8+Idg~n{g#EO?%iW#E_~>~$ z$1S(Yrj2XtoYD;^AH2=?*=4?q^U|eCr-W9@zvMVB&vf5;k3qh>sNvJaX%bgHD$0q! zSJ~GvDXFS=;q#LpjoZF!ndPjieS0%h{`-_2iLGk!;e~=*8GSXwx7j`BK2yMPP;ZZjMNkfB7ej=|k8zp_cDm{wCa)RoC&}p8=dEpITe_c zE-g*}D=+d!;nD76VF9lLzT3|V+3vC=;Mz2Er6Z4Iv`QkbEdQ%NE$7o4%SHCz)n-h& zo_LJ=Cc^_KXTv9k6Dk)AKPmqBw|BDR>=W@TxtFe+#l1p&{?cnUF+O4&r{A(MyvBBu z+vDn$y591#MUEn~TW2pgR3<3dG3UU!v^AYGA{L5=1pnE$KKIzo&9?ULtrJaxF5GuG z<(smGkzq-$UVYd1+tn^peN``Cx#Rw79l!I}x075F%$j#rEx&Q0$ZfCu>{k}-^LIUw zc@f2DT(W>k^mPK~@~1vY(S?Av`{SX z$>WEmkz23zE<1HpN$YIf*}|UV%DSH|5*Dm-)8mvj`p(I=JyZS0@{Lklx2sq$9KU^c zTJq_sn=iFbo)%kR@I^B3!oMRD4Q2{ZErQ}t=}_NPr4C2Pkf4p!^PjnqCZ&A>w`)N$CsGb|TeXV?q>g@p0qAzNkA7Ab;RIFv5cy@<= zMw2{Oe(y@VzH@pfa`=vzHmi`!Ma4D%GXeaTFemU$m5^w@dnt&mCGTMu9V$1|bjdC#M( znLIaQcbDExcU?R+Bz=|M6R++KS^}$h1+Uc?PiWnF;_`}@M&`V$rTxqebb5EKxYr+_ zz&6?T|E?K~<<2PqPDwHbJYS=`R5>{fo@X6LpI`3$z?@06ujkaoKP>LfA6H+NIwIDy&Pa}{NVUR`B{3#tf=QZ}!Ix^! zgyROGe|uAosW2`}G5-C;a6#|FO~&6}J!NK8%`N|ExVB<(WT5qWm2Vx>t4`N#UQo{U zRVvUaeoK#%l3q zi~q&se|;|xwu;HTh;2Q4vt!>1chj>0vtDewQc}!$ux`f`z0yxy4D-rUFTKfR{QqP1 zWU=iWsdZZdJ}$ZM-E(qk**wXBm%*8hD}5&Y^iq8ovwTZXVbm|LlXK1g$j!V}a7)Re zZ|#(hJGwEMWjv;}bFPIZeCvI-;rWKSr=Gc-+OJl`(po>^nnp)0RG$f)Gi zEOaYo|Iv3`Ud=h`+JuT@TkY^%ZYx^L!uO)vx<0esN;@ z%f;Fu^Uvg)o{$l6t7Y9J!56-35(C5L+-*15P_`4+8u{=mz2qMLaAafv0X zC8qc9eO36sR(5m8xrzI(G&Z`vC|6H+q`AJS_dQ=|sc&+!|GL-2gLmCd|8$f2S)0=@qr2v}__@n-xaTk|V|sBtrJHHr zoEuALdF(NE&l1n(C{3t%+Wy&a#>@WcUmsWh3<};@JEM1bqDocN!Nb$8Cu=R^HR-J+UZKagRAzJh&hTlJhNJwF(>>+`=3O|XEPXz zc=Mm@@;Yf~PMpUP->xszFj?4)f%iD~^B;@LKK(e5Hr{pJ-HH*`pv&XJF*b!RyD zUT>qEp!E6Fub0kx^hWl`efGV!K3;Ff+U>%>+l|F0cAqy55i!_k{V!ts;#+%9nRg^@ zzZdhcSS{Puga5sx`7^h9(ihHsYJWUw*9O0n4kGg!*uQ(4L~WH^x^CGr&O-Ym9+T{^ zzPRA<;o6d|8e1B{RCC%^uFBV+r6Pp2+QpP#aA`5+WUz2LiZ2m8=;I>-*{Dr$N7ZyIcAb+XSjdz`7nMLH?kgn)eOH+a*Kcud@ zziEN!zniJ~X16jwJh!@j<>GJc^W6I04yW%Ha%diN%3ZDR6@P-|?Av2|8$ZNG%$yl> zl7a0|{tw+gmWScptM?mzSv5=PkjRu(r_cR3(DN6}{B{g`*#Uq*)K8}mhGKGj`6SLoND$dE4w<5T3)?>OgJelA?~GStzK zVb+S}i*(gmZvPi-KEc@NS!nF%G~-;AWNB+;#x>25w{^RY{XO<^!8=aoohL=yZqB|m zG2Tx4?Pc~59@UaFnF8_^3{6Kp!Wuk-dm?}3y!w9pU`*iA^G`$M3O)$U;Bk~T;Xb7< zc{%c6dH2c-+TTiF@0K}r;bX$1gxS^Kr5l%Ki{$RGkg@aC+^O(!?d=U8^+j*zM%8`S zZ26~?nrs%SyK%xq?_(DWPcAr>F{dT;A>W6fM;sBhFTy&zJbM}SJ-r_;?)oa3S7&?H zY0W$5dtujExPF}Vdb(6fHtJ%+J?=mC%NE^HePw4*zvWwu(goY+%RIPdhhJ(B+Ism{ zgX4UTt-J2>C?9kQ)-FHWvb4V8y7HA1OBM(J@?7G#!)lA-!HwCk&z*jHBWhn`+@G&) z#TWEur}NA(JAG^S8N1p38Jg0k_CDV_wdu+2{8Jw~_*-~Qm}E+)jR!GNgM_JvuizJ^zR|5k2O!@THNVQAw284ZsXD#lfCTxb%&1zJiWV1LwapZ($_To{fxK&X7j#3sc=o@XBk)h>~l2-qd3It z%AZ&ho4N3f15vL!(_fHhQsaKBf_^> z8d*0sFgYukV;z$|U3$A5Kp6lee^)wM)+Hw?WT?6y7K1ceUR?7t}90%Xg3S>6BSg zrF`?BakL2YnlMl8pZ!9-zf0sz=<6x$=SxmaoEX)y&tme3O`+M{Z{(z zWX}H0J74adm~dV@Svv35HAep<&R-eiryrQ6BKRn-sGZrT#v`}=Yuky8?UGgUkCo-_ zdD&06tSx)4D#7mV#F^ixmf0TtxPPU`nn0(nI@h2ow;~}+=R<~9D_t3XUkQ+2$SRxA zzPhQYI&Wtm&-qf@Sg!?}!hcm?(fy$_OBk!UFc)H-20vTp=l?-72RL8 zhO6YebmWxknzxDn55BsvUEst~iNlc&GPz6>jjEiFZa4X)VAFE=S_9*MJ)?KB52TL2 zXRkE*-n{b8g1L{{mmKWa9-kXBQGkUb#_-Pm6egXEH@hx4)h`W8aCe#%UCPK;`{Ejd zdhI@+hhG;7NXznjsX88hSiU^9ZA+AI+)I=0tkuD1HOeYi7v`N!7D~8~-efEv8$W~d z$90Fhb3*gae-f;mynps5O~>`?YM;H^Y++GW>*2^R>(ev$U{LKPCQISXtGpc#g!`Y= zUDPz;eHO!Mfs6^9aaY2fFaA4I9Npw~ZLP?uwTa&^-;uu2QS|Ol{g-7o7Ix$vc2sf5 zlAL_L!$7I=!TL{YKWm=9(aG$?wQTQ`uWlJH{>JQI_~nvrTw1d9pSfES!gf2hZ_%0F zEAor;!-2^!B3FyDgaqbVnJTPcVr~Bwx$O0lk77xpNm-%W9@-z9!|^eS|6$UaRol`m zwm$4DO$`rcnR4yqmmNAKG8Wz2lOFgLUF!by|M|!IMSmZ-TPa4yx>)31`|BFKXPM#Q z^A+;f4zgREF4`!?y8e)HVVsh9gQ62lV&}>0O|RCm*_ZOJ?mh8EIBvm}z!jexj^A<3 z4-ANQzRn@oD_OVUMwR=2rSB^QT2)@iW*#}7lD+=dFNHNsh2=NZJN`TT6id2m@@ndD zo31z+5B%HjYNW#T!!VVk6N_IGBfmxb-> z!QO_Gk6Tv6_**D6-L-S5T(alpg9nip?Swdw+wdM0E!PvA@u9Lb>!X#3(&W~FX^RRJ zrk?jyy8O4auV04$RYbkf@9S?L>A#TZw#(WdZ1S}0qw?a_mKZ9emThP z{f!;|;$g=FPnmwcKF2-V)tArp`SM+9^ErO*Qe~}O7&SXxn#J*A(>8n7m0myYB9Ld#6~6y-|zj#;Y```fYzc?73i*sB+}UpRIrOH?Dog zCCI#NugpJD?cX9f*QNgayXSlF$Cl>Vh6|#W`G!brebS%t%V4wP&dz^rzRADuud-s@ zulMKM&Wf&jCPvPk-Knn8VT$p|Ey~L+dL-M<3%{7vGiAEu_rm3qcK@){*)xT6`_Gr^ zr>qa3FF$*3%KPJ=&V=c$JEfIsdLg}c$Gd-Xlk%tQRQfd+^|m&MH*G6Ec-Xk<*Ytaj z)Qx(7IX}?!Syrd_=fy>hoBvs*YEH(4J$m@#NbA&O4n@Vg&S8zwr^=^Hj#+)KMX)@$ zwRZFOrxSl#Y^^xTy^oF4jm<0a-`6tZ$yZ`NMDv_jJM)jBfcP$re66h0%lyCbiB0iX zug$yT$bJ2dlD7nVYAxg+Wyu-H2pUbXxGte)bt)uHK(C+OKisPSV!;+SDY=f_k&7=I z$g{Eb=`Y=IdYXOa(%qLH?U}L9%fekc_uA5D&3m^OMrhlATvKJ7+}m>V)~SoE25S~< z+n@fa%WXx?Iq`-CA(CDPpRSfYW}04m>DnnlU4^qh8l1M|95a#FqoQfL#pJfpA+Or? zh0E7k6&rada&q=ebZg%K{px>(SFTH==hrXxENKZ2zj;lguQGV+2c74yj>|Fg?EIW9 zpBz#At#3=AOTdoWb><4k?^QANhG@T{srNVOH20JC`(GD}2=6Yp`+s8or+5Xy z+S@^$@BU{^e2^%8&8w?_m$5+3gFC9TtO|KIHX5vJ`XXGjs4&t0jNbXV`ntPWj65uJ zC3bJ*iD!Ksmj5p0_Z_EdwML2hF4I+=i~oNvU-eknB#9?zn#9zr%OBlryYqFG?-RFZ z1_70;^}c!n?nast={MKh?x|o96;Ss{O>n&2+x& zn&x(1#l!9qyp7jG%>PW>`s;U9=q3w~Uk}{mULTFK{P%8g?#4*-pYgr76aD1geQh_E zJCm}o;N&(9|8mvmAxs-95>=O|ndhyT@ACQR=jFd5W`Fr!o|kO1K0!X(L}7x#J7ops zmnG4Uer?cuKb5h1%Vo1EPI(S9VrPCT-%;g#iR;||i4HGsR|?hI)@*a$B6v^iirky4 zhJkx#>=g@knXg{>$R*Tr?P5Q_C+>^6;-a*wdM`JLnoM1~u<4&yxbNS-xqe&PAFsLT zWs!X9=|9_Zq1}b9%zwPBr?!Q&!#V_~IF>*HwO4 z=@W3*XnN9jX4}`%@_&-AZ<(TS!%F>IpP1h6pEuM^O_$EUw)afnY8#7>U-z%rXAmQ0 z@Z2XbNBMr9pv13a1M%sS>&5q$p89aGu>I+pY(e?Zo9nV=PVK4rYM+-UeYLzJujNqA z!N_}$YfOnr;2HT!bXU}x_P3{dnv-|@8W$}NPp4Jp-3cnL~G6{af z|EZ+WD#BcEf5kS>qfz(#XMANSDS6$q=+IoBqb$WTpE#>*=TB~!*!(7g{R&6Gca``T z+;4?8L@@BW-#&9(I^n9_1CLfY^;b)7?PLzR&}^=plav0Q$+L3Rg|=<%zi&=2oX4^= zf^Bo-#f!@ite<}?<~inYhy8=GZ(*0SRH7{kS$wKM(O zjQA_dZ0F1rk+CzW42cOmp6V#S%5-;s-&YHzDVv|CJ>R^{ra_pZ|j_mu&a)zTC%kI=Udy zWAU!-%{pnp^Ox^%e>j&x^QuSZmIB`Bmy5p5UisjM)x7&1^QTvth%T8^StX?JecfV* z!Lo>HZ!bP^zp~hF`wXs-HLQ$=5^ABr+^cICC9~IQtlC?kET}$f?xM-rTc@^~_+DA_ zM7VD5*&mD(cYRgn_#XABEpT!DJ(hEiG>WW3I;V5*OA`Hm;qs1kLf#I|r&MJwP8Bz~ zrI*fs`%`1VFXh8pdquW=(UIk@eSEGc?4XL4P^Om0)0V7@GcE-FirM{S*Gi|%y9y3( z6_gkJs@poJ;o!!DufI-PEjac2cD}!T*LscTtx=qAYZ+qpx%W!eTA8DF-+q)kqV;3n zB*$0NCwI&Z{Fq(w;oI&qVXpj$o&PQ0vaw3Ozmha^Y6h z13L`EjvD=6dhJU2>+kcv8!=7jTXm`R!Q6l|t$B`;%f``#;a_2u=RaytKfV)-yP$zn^i$_$(L`sG@# ze&*U=AB31In(b*jVEK{j`p5h89-Ti@D04fpBmPIsfn(F=yY9|z<5&5nd|0|Cy3I4J zcRkl3;l7oes`1_T@&s(&UQ_(YJ~?BGQAis@pjemgBaXX|uX{dwf4WA3m)%gd+Sb19 z!?y)q_e_enwmNPzygjSwc;A}O$23;%|F#X>dCy*hr1 zMO`z+U*(iCdi=GEcNa6e`(AlRsZaMhmW}W4-|(`rZj09PGgFyLPJ_#(kGFV|Blf!=&oqy+pHTH)%u;>f#y1;h zWldsZ zT9SfFlXg4pn5rJ}=Av@ZF{RgT3g^8p>2urZE%)4hGkvT64@bGh;*w29a!=3CV4t&H zbZO!FmkD_mTmNroC?tE#@j+^T*{#vzOc-g`XEK1I5Ln?>L^}(9}z^ z+-Rk6b%6%tXB0Xf-Tk_Mi_97AG9`9vqx@@2MfhhH zzPip>v}~sDA;_b>dRvHewKS`Hc$2R@9iDimwlSF=yy-S`{R3=992b*yw90)kiSty zYuDD!kFD3{|40*JWe>XYdjG0dGLx=;(&{t$b+#X8&d8h~8GH2Y zwy8^|IkwFAXg2r)Hnuc*J98;*NFMDTmK5kFw40n4EWa@#-18i@0_cCF?aE zOpGkQ`a-ei!z10>FRSOh6VY7tBlciXyWO_?DRP}{-+bD=4)63^c&vN&iKUs*hZeOf zvP8_5I38s=(eU6mn^~(^OT5!d9USs2(q$@JPwsItblGq5^wstGXKTGLT@TMpw%<0h z^zP*cH)AAHIk(C_U+}}|rqGo~Kc2kZKE*C&XNCRgTc=eM5|%vsUSWHE!q#=)1a2Mk zj1qd6VEAq7rQ(Bj)#s|t8%y7dautc0bGC3XkC}c!>7rgfl~4Z5Uh+I}e6Bh{{MzTO zZ4-N}HvExHQ*3^AXX*NA8G}R5k6zPzd+lkH+r~FfT%TyvuWgOC@D`Ce@W$@w{mF|< ztj;;h9$tE{Mo+rw)sm8Qk?q?;H@z`oxbuVfQY%Y5(Y{qFlv^{@hdlCkI!pGdw$g!roNV>4*5|p1&kfE?1;) z;#lVM>csJffBKDAoO>O7bye3j^E@_9o`p*tBOc32E5~d* zSo|nJr#iB(^-k9GP0CAt$=uZG{T1<^RiL=;veOrnrCC{%G+lWIQAiNE=a!oR}qnnJqIR#u1^ zma=g!`jnKuuf-+fi2H}xy}K-eCeK+lXU)%KHHV2+YfkZ;JH7n)Chzsz3^PyM7E{{v zeqnCJtLJxD`C6PelZ}_ZDUw|Ad>@n5=T~<;I2AIs>9-!9F#X=MV`|M|=BLDutgv}_ z?MRc)dZR|>TNlN&LxrohT+e%15c~UR3D$LTCd90hGdD3Zv9p6-n$C6je&}MR4LPEs zm4BSf3|Fx2&t4bs?{>-wgV~qn#on52@#o!5`IGh!|J&?0xfe0-ltI`IYq0=@w@2jv zKmB7H99C~?UCmzaerdkjb@4}8@85S%)|8y=B@*}S~=% z-tWrm4S(-Zj{EBWj#FXc`V`F_X&lYVcKT;TM%|eD?{3vqeveNo8$a;4*+hBSSFKXy zzE|C_!`yU+NkyTs&rcO8dzSM(p#o}R+dL*1S%1;L?Hc}7X|t!c^@PQ-5zOCH9gBW0 zTac{!_}N_!0pI^?xBfm}JDIz|al@M}Ta9K(HH1j)ln7sCp|Y!`2hC(>A{1XJjsD{#(MIG|O-MN`pDC zet1n><;Zj0XUmz-eb?H)DE|rgbfj|1BGuy?13$^%h<%p9=DgBG?c~w;TS?I`JM>t5 zZaM}n-xXu&{8*G*#L7DP_}ObsS0A=LU#Wa1u-#qok)b@pHMz@Q1bzq~+n*S};9kv# zrLRvVn5!I{>7|kEdNiIb)T$}0@!zcdwLId-5&Z-eWXu*l^StV=%c5p!tQ(qDb~ zes!ye$->oNcJ6*~H%oTQ@~FC1+v2<)aem!U`K*Y0<+p2LuDc&<2(9kQ>{|3_>S@lS zlhn4gemcBX-f!WK1$-N>dz8*ucX>&?VJ{@W^%7=lA==6 zmt}qD^h;-~eKF^&(NY=KeP8&5y;qmrH4sv@U$aB=yYqtysmo(|TIXnZ8M)@{G0G1p zN`5nem6d&|PVb{DH!B)uooAFf_~7B**XcUkb$|Ce-ClN6WX_S@T8z`S%$cV9UN%5p z^_-V)i}k%@i-aa58TQxzt*dsZU6$|d?Q;2coa@EE+n%@YN*39@-jsbZvr^4DM%@da zt~&@YHLpFh>ipwF)c~0{3)PLa560l=^kP#`$KUpVsmExhRV&y*f_b>h!)-2`Yf8&!oQv6AC_-@_Tbu5r;>;ZRmQO%DThQa_C22*sT8e{z0pwSVpMSH!tdEL z(^+>IZ*1E!YtELq+5695=T>ggmvVQx>0xrm^?K-M=REEQ&G)!({J$%)$~b(=&c~8^2^6f3^bLM;4W~=y=Zfw$FpIC3ba%-+_tM;k#P2~<2cTYW( z`?%LYq<-y&eAzS2eRJ2$u%ELn!t>Cl=}H%@Hs4-!Bm05;OX;v5Gqq=a$l+?Se);V1 z>ns1ZE_Xf|8+G{Y9jS$KRmv=ti_T5B@hbZG-q~GsJAH5SrK?Pwc(kr!Q%gmj?K$x< z?GDYI4Aaj?Wazr<D*PRHFNzj4*AntWsO(7Oh4bYcyW}@M)#AizcMB=XY6gZ z$#X4i>Uy5pV z?W{7ltVi$4k+Zu!9Sv-6RPr$Wv1=AEUUkYXM?>@E z^zMt&MlH#O!HXl_dA9ZFb570)NY{Sm{(JSQBgeLT3&=b<({$5rf!g2C!OM3W{`(?( zZOOU+7rVM6lAmqbdC%|T+kJ9pZeBCIB=2^6j=!GI!L6)wm;HXIWxvG!QGxi&f1Xp; zSsUMbyw2rP{tSX3cbFB^Ud3n`aa-wx2xqaLMDQp3ls6+jH-4)Y5o%RW({wX6||S1{SN5 z_s?wwjY0(cGUIE@_b`aGs>R;Fb2}}uH`XOtUg~De^BqFde4n2bDmeQ5s*f{&Tkerl zp;s?(U>XC_UO@P6mYUTpbeb{faw?YsguccN-r z*I4%1JF+joy8P1R9drLU+I0HL&zo(x_t93*>o3kPed4=E^y+i-)zPc>?zDZbZSgUD zl1bk&hAysu|6XwTI6do$*uZbD%+bPhZvJ%livCA#dAp6L&HcdI-g|X>(@EEbdnX8V zEHmX~ej|8@|A@-i_TQw(h zwzr4z+{X*dru*i<+RJ-k>BK7A6TNOh#o`S?CspP#*nNNM#%aBB`5%jW7nYiRD!o*A z>)8ciRhgz{?yVP#H4| zR>8<{zVbuK(>GIh*u9J62G|JisJ6MG+CVI-vT)%JaXZN*1v;AB)|DN&aZCYoh`}y5Frld)JIs8(9cOtL$ zTCom&b^&oA&$myrA`V`3a!P($Whar;E1f!b<#$F&3-!(iTFk51Cv88?^L)W`XQL;P z$Bw>I=*muF+tpvIG3&=);d87JEj6|?+m^&;o=Uo*WVd(gIrqecANKyV-OIE((zPeM zbkas)Ehd#)yCN27U9}Z|6D6|w-n`t0_No84<(EdSOT4ybmj0&|OQ%V!5!-%XrNWK2 zx!m>VecdEO6Xg>* zjEi>(Y4kTA=(zvr-^6df?m3-XC~MXt^+sv>uFCAxe(#E0cR$r>%^K9X6*m(nli`j&oV&8!REoqSUD9;XreRKt(+k8l1uZ^=uw zSdJ5Vc{2AESHHP3o5k^g_fh*(ossIDy~n#f=NWCDdtfK`CixAg?$2H#qqxoaXIY<; z$F|v4RYvVEBn;h|^_zouge9s1<{WbL*qimh&F5OU;$Dybo1yL=Prun;kxGr(HQ|hm zOm)8{i`5*5ec3m94F6wRn&95kbuduD{~!bVyS|Mbss=R z)4i_GzxT22p}1Ks`NfYeH@zq^dg5RmGV5i)J-hGk<$Wsu?CNu~xWDZ4bEegAb~4{x z#@r$M+$v$YTa(jP1LnE}W$CP%|I5Y7o5i%H>cSOPY+J3{~Zxnd`9TPB|Gp%Cv z*@X`l*L}RM?|5ZW==U8~oeAp;x2i<`TrIY=$@r3#)j6g+jB~FB9PYj9Io+eGBD>wv zNA%s48kWyL7yq|<&SKd!vw7m*y_>K4E!8@a-+N%nncGUd91C9D=n7tOv-CsFJT1eo zwQPGH_-1v8eXdE9eqp|~_h!6dmb;8Y)6r&=Rdsd-S7ZMPTHRMqiDNGgs1&)*_0%Ex z^0FY8&#iu+RhawVd4BKRx~e7Rs9bjsr@}|xGgH<-dLU5FtjP9E^l@uejY-_ygAa=J z%Z^;siYLN1uvvxmldqm3yWcUrpRh{$fI`ugM}B*Fuq@RJ3q5T{%^n( z#kcB$tr8JY zOLV<7YWA<*{$ozMVr*+XSGV2tb6Q&rHqQS0Atzqs=#q`sJX9}8Pc56Zq2%ea$zl9^ z`wBO!l^53UnRvhZQMP}JSKQz8fAY^~O0}}p%AW1rYWQPz$oGl)-w%J7&d7h+{@Nc?9xd5FW8nrC>nZpC8HJUc`IY%KoBewEa$9AV;g;=XfJ(=IS+605lL=l?aU`=ze#$mIPvS4>E7z4WDdd;iCO-u<`a zzMSNVIBWmqx87#H(wwP!&5?f*qjXmsyR-T9X{ptQA9PkGzEC5Gf4oBA##xnSujooav1E7|9k^G~vC;h&u8_4tm@)zf{3 zfy_a#A{4e6g&O~TR#nu|#%phWe39?BsjYymwA+ zS|X#tdh`Be&vd`m#wS5Pqun=bWt&wKzTxUa!-L%Z4+IsaNFUO8|6FrXNO4@~{W)Dd z%O9LoZ@6;)>ik?cnRl52ocmm?87jAZIqA=z`}La5(r$fCzPtNRZQPkCaH-tU^YHXb z@25R<-uk-qY48z-&EKsZ|GgBe`S(l7zE*ejy3aQPudbO~raEQi30=8m#ii%Wb(2k2 zST5hF@%a3+#Hfs$=1-$o-bl(WU3cSr?78&l_lb++^yXg(cyew13f9D5X(rrZ?a!`B zZ|B?<=v-_Yd^L4CgSu3%9MACglo>Z^3p)(rMEJ(bGLs@Wt}T0zUAUae^YPOf>#GG2U@i!%I~??Cn3-r zA@^z7DecU854k5r-mH=EO|Xy4EiRI^lG&KO(jouS{MlSmtkI#qstspuojlZj=3C_L zTjr_dnL4lToiZvY5}3T+!|k_f2CJU-N8Y3pB$d)(HI z)LJu5bkcg}6L-amzFoXGE7`j#YEFZAS=roDhYf#Ru4Ya1irg*~;pn~S-uAwO5)1$N z+)?WLW zD%HIq`-ImeMMtFJPV6DK^DDl-D&MKS=%Ur!h)s)LoNu^tS>w4>TjSq?y!@8yN7g5H ziBI?yYU{Z0w`8Nu4VHa83O@y2&b=^UwX}t?kxhlhzu&!=B5jLy7EkP5G-XoPgyy>a z2c%{%vB>@0KBup6q9=Fn3nQmRscnY}{yN3J+qAhdyz&o+TGxHcnZJc%r*AxQVT$df zEbcF&4!^YiSj~9hE%Mu3&ot`MG_%x#xNYB6Z&)}-rj#sy$Dka#?*EE5-P*64<}1Go zk9>UOP4}`BZFje3xif`sv&iY);rZb3AD+Vt=Vl1=n6ZAaX}aF4^SF8PQ_0%5yMJ46 zG*5gQ@_RqW=iSUFcQB|=VZS5#b@I$fD^}?RMmyMAm5G}^N*|l}XQSk|Wor(GH*uC+KYp_D zz~-`ad(Q<2w$46#BXjPLYwfoz1q__NALM@&|7CB!&ZnIlEF!nQ5#%^ot{Bs)di)We)>7x(hWa+=KkZE zYniIIdwO|X+Hvm9p|X!2|9JbBJ1qFE)hCznsM(62eYwBF*~_4a+zTjCM{rT;E+$ru+Hd`Xal#2?o5ZJuSUTyZ3otxu5-1RUm}LJkasg zb~m@_p1I32ml_xCKQujUR+#scH7zHen{paf`h99Sn>1@-rR+nm%;V)bMUxn}xYbV< zkCH60@V$CUVav&?y;Bkn=Sj@&ygy-&@U|Cq7uIDi)@IS$!BOzVV)=v{ZePU8g&pip zPmPwks$b+3))Tt;kNQpBh?}lESno-xS>33)B`3Q2co=t9`p+Z8UFE#>DPI z;H&?sjMKowWygoW)Yq~Hs#LgieK=45m+_Q6{df)c9lfb0-A;~T<~tQv2p`|;xI(Zk zXt}s*-EVOXvm}F_F8d$)4L3OEE43U8WKz3%S;tcA^z2zOw;V0`9_#EqroNtk*{c}8 z`}T_#hI^V#Sy?&B@?p4$p3ZZImRq&klq4Dy48MMNo3=7tc+NykZ9Q}OujV(H1dG>w z+3k7!NTgPjY|2|1(Jwt~wE32>Eb%JxkUwVn<8aaxt$wpOetD(u2cEt+K80KF)i3T=%f3V|jDs z_WLJyF>vhKw_+Ku+4^r4KL6Tx1y%O5aX+$XRA3Dcs`h@geYv3YvoJo!Bk9x5>a3FD z{=DFsXQP+8=PzrqB|4V(j{RBq@4Z&yo#ZtKyew7NZ%tS(!0csnWo1r>^H!{=S0%IPmDsxA|x9xMGNn= zvalCTIOVc(O^ze)$%Aq%2P+@WfAn1b+Kwgrj{Q};6Q2HCf4x|qz6c5L&#i%GUEBN=5xEbW9F`ta zd6#rVE=hT=+03(NuCRXddsBJ;ePvtqom+{gTb=AJEF+Wa!`xoVPiCn3p{ewzL+G8G z+xEhz&TBZ-6&8MJIH)qGuqzoLUwi*_aBWU*GqGxZBM^8*nfXfMf~0K>o_b` z$~ODV)@O`kD*e5os)f7Yui3Q!Yjs4g%w4KrBT8mm2L;mKF-mWyh3$T_xVNL{3aJz_vg(&Z{PNw|Mpasy%}L~awSaH z%UQ%Vc5TTmTQ9L;iMB+uQn~K;eA9aOXBkhQElK-0>#f%2 z^%whnb)En6zj(?&UFA)R>EwH}{%D9D^j*NHn6Wz2@fnkpk6+Y|bN8O@U0`#4YpKZI zwtD6L%SCz8A1cRATkm3cf5Z8A4qN+-9#-0NJiMpe6npdcf{uhuPKjHd@+&rb$Q-^< zA+u9eVMX5QeYg3i?D=wVzwRY}=6Lm2^UO=F!Y+8-&b-sn?Yt+nYvW_36KD4wmtv|( zUvaH=QTOj$mrd_4cIM|FiMX`Twt0ViuHnIu*H-Rc&+G%;!d6(D74PzG-*MK{>TTG6 z&fsQNO@`y2E5+G2%NKrn#`h`PI#Q`Q$+Mv8Ggoc%`La(^#y`GqZZbJLtyb+*BkS^Y zTk`YU%9gC_TFJ4AW$*Jo(I1znBzvtp+>&#UTL~AYPt-PMUcf!}&)4v%Ott!6v z@#z;XE~A-mxUR^kt<0~q)SaVv!t!Dl+r~8!*NVGz+T-u=Xg=7~!m;UO)5~dZ8PoaJ zOnqmtL&M>QZl=V>&pJ;``Cd9KE1c!KaLwMV2Y0mtzMR@6YB$?lGfgpM>uTQ}staDW zL@AbDo$$DA_Ses^i~ZKAtdp5~)u1#-@&=3Zr2i%P#qy~O@?UJNbrFo5F+Z#^pxP~> zm~}?u{M%>h4jkg~5k0WKgPD6?`sV!~YR)`U%;Oe%#hP0EL^=M5XYq|M(Fq&G=Zi7% z*{HtTc;4`dheuZN1bOwwI4;v=A>K1Wn4CWq7qhe}` zX7D~&)gEQORIep(^Plo%f1BsoRiBD=9@PRdkLp;QoSIjnU}<2g?^u=|o|#gTp8J;Ze*eFk_u6#Yh-8uI-4ZDSi#sx-z`6{#K|eYB3jqX%v1p+r(k4Y zU;xq)3zqat%uUtzNX;orEy+wy1Pg^j3^g$@(Dy7!%*jl4%uCNnRWQ)^Nli@2%u81= zHrDq|tbjPg$jr=CKe!|{H%!6AL_egmAQfx|$TdZo1ts}K`Vmk^8kri{+3}|4rGSo6 zF*7iLdNA6|z)-%Dg+1ThiB^IZG{D9;{XHS>l%HopLT+h6;d<8QDBam)= zXHS=qe0NV5-^2oa&y>`>lFX7yeV1?rLjwZ?G#4qD85o201eYe2fE?`X=>oC?N@|Tl+>ckymXDP{GKryp)%k77w+9!77(k{m>rY1&*d>2 z!(T6#|9vO;CmU(%2c@QG7MB!NYN&SZ4ZQXAx0X!&QT_k-n)~uwb)%p5S0^vNv-a(? zO{@u;`oX0I1v#m?pjbx;@v-iPA-5wDn& zUzI!;HGNvP-v8w5gsP{0N9G;ldHg%zf`(&m@5Npb?d4&t4)SL=oza(=qudbP6maaQ z*c(%gJ&R>o#h8E3csA_=>*Ql6F4ikE_-x3Ms5|{F&6&BNMP}R1#%ad?g}&Zn>h@IS z*Paj)P$qVJn_A86pV#%L%D8VaIl*l&@xn95)F$tLRzP=P#gDTZ-={V)@2Cq@;L^KN z{9aYFf1dR&?&Bh__denNP*{~z`1aA<_A1|lm;dK^3m!X|a`K;#@9y*4blBKd>cuFQ zuC?53vnRUCUzT&vy82LVrp+bmvh=N2>7Je@GO`pDHH{IEjofThGTrb}7<$}O974d&pc4Ql@ zN^Fm+C{?yzFL&!FNBp*;8$MfZU%H<1rX=OQO;^dhEl2v~cNpi}@&qKj&q{vDT%oq` zZSdmwRiEn*v3*qav(n`Hy5*b$UoNN794)IzjZBUm6ODgF?Qdx@d>9bQo5z`_cCa^A zwpq33owtmbdbfV$uG8N7uPkP6i*3+bD6j1t@U=d5&PSHOpL=u{i!Myrl(EusjS|yh zTc5Wbh3W^I4HTyTZ}7G1=Xd^b?&~z`X_`B4CVRIoYv6O%m(s4B zc;L;od78H)pPz2=E_YeBMn}8g`PnbLZ%%dCIJ9q{*L~&Af6d3gCx?H3YCdUwmXzCW z@tI9)E@`Gq%~|rLG-i*hc4g(Co+itMM*rLe=Wb|>*yi(~DoWzjKUbHF-+ikYn|Asa zROW2Y=-(ilv(7B@?;QW$`Lkzp>6G4;348zMM1{Lc)wWU@&4VAlZJs(sywooDzU4V< z#vj~*O8=bwuRBj|lK%Z*u69u1)tWy{zjh>jp7U6{U_ST8NA62=D_!DsXIr?tYbI?z z%(7%9x8}sSWjy|0++S(^Kl0}u?<}FJ4|{r*3@$8K|4!oFwcyGPUmiV})OqGDk9==L z7oWoaJxAZ%xDooNA-rL6YELNR&&m8Xx*fS4`wx^&6WR2EO(WsXIlTw7W>x7#^{=8muqPOeAl#*KL*a>=kRn-rLmYy7I+`P0ePq{Cvns zV0QG8OY2fpb7x&&IB_EDmm4KA=IKH#%Avb$r`fKHYIF_lj`mgaP&y*oCi3K*nOd>$ zxvlPj@nSD!O?0X(AO9|k&1Sf=Y2N|{uPwIax;I_dYA#;lba%VmheJJLTprvS3)(_< z%Gnk_a{Tk-zhyrU^SccX_cuRhnW-glW|Q+aMnk^j{XQS+PrPlY`>3$ITE}-&P<|}HVbmTsIw5Pu}c0MZE zE~fcOedEOWKSb)*)t*14wkzn&8djx}H;W?`Ik|I|O%C0?_fylyn-^!w{66CMRHS*Y z^2)AXY5$LXnYCgilc?33joN&wmtO5SRlfM`o$^mVu2%VOa_EcI-On8NWlaeEg` zi>?S@U+Em?=Dc0(vchg{k9OwCU6b^_7i`(oS~okKt(Z|-#d^X0q|GI*wn6J&&xw7y z?b|wTna}qBvom=3q_%M|1$=n(D}7Ib%eMSA+!Gv+RYp7TTngKpy?#{(%k2V=pGWVA z%jqoIo%U_Xin;8Lk7pj8Ja6U)-apUFH_f#yx@P09y?a_4_ff4);@vN7T*9Vx%>1_R zYOrc|>KEt9#cQuzUBN4)dS#bQuGhY0?-w66_u03+|IyTYrf&P^ew43hunsUebMoNZ z&F`uOn$Gy$I?{A=-S$5__U;mzHtq4yv(; z=`P}$ufb6ehVvt}}O+*K6) z?YK@}_`zK+ea2g_E0^_XJWxAqyJ&#`^W*KiMb=w>mN8V`zDVoEiMNX$+&uDH;o@bv zM-O|Q54U_!`{em6M@#GIw$Q4RGXu=K`s@uFxe7hQ8jo*^-z=AW^ZsJ1oG;eX0@G*3 z9G`Aw`0r;^v$oWYlZ>8kMLo}~xN=|Wo3}tojL_R_Ob0TnbKILg>XpBJ{CJb#{^C^E ziISyHW!M94+NWl0&~lgg)~wT7_)F7kW#qmR5!Lz&i(2N2>Dd|HGu>lM)q|HO$J7ab=t+->f4AA{kyO#Ht1;fsE}V_MDiiSgZOeI{rr9n> z__D6tkn(@BetM?B3aj-N&x}}d>hW8%m~Op~+b0=# zFF&W7IMr_EyPO%!bNi+yUcAgU?`*oE1$)BwpS#|sT}``HpT_>t$!GRgmLv1h?yxO- z<$flogFBu3+O&{eWrC7s2hU|mXU;eAtmAg^{k1#o(&hgbS(f}#RsVP?IEepuS=o<< zg()3tvI3YRVnS+t-Z!+Y+hXr8ty!O2zi(&3>@^{IEvj)-Vua6jFL`iM^tjDmt`nBm zmp%Bg;Iqc|39VPleZ6W^*RB2@r^%Q0*{Dp0yWc&+`}mIgff9?IewFv%7HM86dbZk8 zMc`N3nK>ToUiV)yIj8<3=u(BlspQp+bI#3OWa7x2@T+XqWl4ntCf{#!3h006lufb8 ztCU-4y17^*z-hNDqf&0{g{j*Mk5|95xomm5`f*~^!M2WFS0AfM_WYHt5STpkZQSl& zGexhQ81~y!r?~&L6+XfDk@4Fk=692(LhFqg46Fh6gjVzCC#z^3`ZooW|yFJ0kC7F=T73c`mbHWyB)q#1`IjPZ{+N z>Pg$i+veTB;B|M7Fdu_>0poCK|PK7rQtQKyc_J_s)#Bb#V zQ4wsLmId}qKPLAqpx3rxPleJ=@3rsGOuMzCJm7Tt-<^VQ{0lrv6kV+%?`~ZEvG&Ey zZ(h51z0~$hn)$_T`uf91nYx+TBK40leSNPUmwWD&!%yF}x3Wz=!xnvJm)iBQV%?g` zPSb<)EFT>xE#B$5L?&_bhjS7guk_^pCV4tF&3~h0Sdz)Q(E4&ynoR4xS`Sr&Jejo> z%a3hLIoMa-FrTw-y8Dvsy49TavL*5*Qd4{1)!MENoxG#_muxt%v%rE6dryfSV0@&> zJ;!HL_S>RWS65cddH(ppt4rDoH!f>w-t(e?)1qx&e87P>^3~g(o=|>sSW0zM&lDxm zu*%Isxxw0RGkH(OU+GnR^RwQPMccU~Z%h9CzP5)4v*&!tI`<;r;IT`O4(GY;6uC5Y zdatVZw6s9~gx^u1iulL~_=?;ZA8j^S2<39QO=9I^ZIdXrE zH=437JbiwhE;K zRg?YY^qbP6-}mo1yJ6vqZ4E9GoogxsLvO!2aQ#wD%DT&-#_%YZzMUn(dv!0 zC);v<0#o^OCsch=t`xsgY(Oj{b6r-kIzt6&Y5*{@|C%cp?S9#e%U#}xm5JxkI3ipM$>+F zTA%GXaa?3&?a4#oJ*`J{S~@CDY~abuo$2{@f6(tYTP@SWlcx6Tf7Vx6@n7ZcnJtzJ z-2Zhi+*;zbCgx2?uk6Bq>t^y-qy#lrpRoR({5yAf6i?pO3tL`BW_DP-=E+tI)ONme zJ$=jVdq=O$IPCImclGO>ptqt|ugQM+&2@*h+FGe;dF`rWcjcz86fMl!_l?VFscLfB zi#xHwLXT#$FnCoabanhGyVv&8Hpwq!^sbm|Ij230-qCdPnQO|1e{z=1 z+AAMvuHuzX(MyRnkS@Nt`u0?|H5$|AZmJjhu}qX{)s%$I?3+Zc^q%MPWZ-nXXk*&C zUH{LKbbW<4vt?9;F8I&&uP6+?y&?W^)0wl2g}?NE-k$pAgpK_-UmpdHf4#vzA-+F+ zD_^`>71V8X!gRr{grzcd(`SoqSUTa9U1xI5hp=f!Vtq0mIIM|OinW|3c4Yb1)8>C( zdaf;4ec1P6-4^|(yv>3+GP|~h$w)5!SY*Y-Rn4dP@K*f2u&uuGlJy&Sy#Ew!c+ls5 zIHSpIjYM@ou@4RuW?y^n&g6daelrhi z{YkCY-x?dvKJa~IIpIR#UY7k%KZJhl2%q;Vf9V4@4U4oFO*TDZ$MgF00#yB^C$D;5 z9&zjTuAjvnlUIMXQFSeHHJ{mR#8k{Q;onuF%ipRoTVA~Cf<$*t(3)hqudW<-ByVm~izsW^oT~N8 z`^goHmMX6|ue(z`a#!7JPY_d^wJA*D(X`il4`s|gq@@6RfzEj1s!^xe*ER!cc#)W)}%7U2Oid6C^u2pagpJa3px24?4R-c-*C_L zkyX&Sg~=YzPOUV)pcXg#7Kdu4W$joLvydZ-yyru4y?jH9pHRm>;U1zWM;qb+x0+ES~%le=Wre@Bhv8 zToNFBS7Y_r-S@O^#l~)BGIp6Bf9+9+ex}F${KmQmKLd9)8U?dvRrT}uEWRsJw5)UE zE#b3g+1LBXa_ewT`0KFb^>zt0%~$8oRXEPC)Oh~j(B?m84RJL|DgX9bakS|rDX>l2 zJwf#zuSCm~?=ROJa?n4hzB%vGF&-OF6XhfGuJflG*ljV%ef(ST`1K|$oydbl{}#I> zJ~*xx!hC+xdZuOF!K>t!K2cfUrgv)BU!9g8HtQDIHP1=6C^r_fUKeEbSo47U_S(~0 z{hHIO3)XR-_%h=`Usy**;7MaSZlw*|lMh)hO$@Z3t)(L~v+rbwi>S|(Rm^E@lVU3` zy>|L9wOCVbN{wIgDdnT>E9Y0)c~3Er5xQEZYHWV))`o;~`#&aLzMmBIpI%?fl()h2 zOB-+2p4Lk91mTx|4$DpNKcH34&ssED<@WsG@;0wEiadsOzGat{ws$r;X6~-pu0By- zqv_^!_H)%2J0I-M+1q#U>Q5$~3BA9?@AV4pwJWa{e;J?{&Nr(#G1w%u?2F>^>sRK~ zb=S|mViU|8x+gwgP$W~9>F`Uo2`ce{?NiEDwq&V^O5R{RCh9RcKQ}@-@_M3uzi4n( z(XBOQ`3h=$i{n;bwBdWrF()mAr*CTdK8MO zOOo|(;oODdg(=rXRgYOmDs#bC#@o<)|ogd5KBhktsrK`Q3)-(PQ;|DG%plr4NBf2?`( z+0V=mJ&%0ilq$(zu+ihFOl>09spEg1%JJOs-@A50|L+3}ZS&`6{he;XAJv*XL0w#f zQ}J$YuHd5oS6@`Eng5${jdA?tCsS?Xju>Q? zDsbjs0bILVigw9e~o@A)4>uV!Br;me6>{r6O!XNq~|&v3i?&nLd?FT_?oo z7Pi%5+owONC66L@ZffnX{IxZAWxs1Ax9>Eb%X?(6@t7ZezSw@*&)2hyU&^oN(W)!` z#~(W_r0r|U)erA0&MxTGj6Iyu${o10e}#8&vHLn5mS6V%pPtTajh~Zsxw%DjdHF%c zj^wlsUpDQa`xgR}Gr(3>!_&EBu_$uA4^AD_Th+WOS zSHs=s$CaI1k9S_{Ss8I&x_`2|PBFt>zLk;%wM%>s>fO-|J=~Bvm(OpnjC{qb!?oX* z_s^Xk>_DslU(|5F<}c^xclTZI~~ADQ(jDfHK!-a89JW+Z;Coz2?l_I1gr z)XJ)#HO^b6tx4>RKKnmD`mWlAJw^$C7Wo`eFTYy&l=ZRGmI!{Aq5#qCr+YmXs?I#| zLv}mgb?w#%RgKK?UoR~X+JFDH?)6u;KW#Kz>>jl7o=yAc5N)jgLYbdE`SFE$Z=N$; zI@0sr>5*CMX`AMR`WsAYRiETooDvuQPyI93JnyGjZ%00F^PAKE#0B@Rx?^bhbrxU7 zq^jdAmmIg|Ox8Kfy5iIZ%e9a0pUZ8GeUK0y?6tS&)9U?=N?V_=?3tkPewEpYr|$*6 zY3IoOmWj3tyBDIXH0KIix9r|kw(tNf_qV^#e{e(n z`}oN$(~O?KVC4GNJ154EN1?@bN=#+dmIXUgCmug!w(IHYcH?^&?QM#}tJLo7y88dv zgqB$6s)o4f@vFLi8d@4&pK{^N?R&AZ5-UE{U**3w_iIoxM|kx{EHij!2By#nF1$Ae zm>U@)&09?5n%JuW9)HKqn?m+2V}W6&{14Swd4i--U_`%#PnNZSC7jYKA=d73=>zjLr*F z{kLR(dt<;3rfr%pr!0PYG$^U+VNGeEnA4;aF&ar{VrSf$qpayHtpDqm*p}L}i{EU$ zbvXZ@#h)M7wzs!*pK;f>oVB>Y{P46h&WEzro|C;XtCqR^eVAHK;*;p)t^;@VoBCXX zJiQx!6}<26$}_f|)$%E1y$#zm)%4mLhuAZ|zm)YNxQqiod_wGuKUA zS#)6O%A3Z~$98N#!z8tFL)d?&1$*nxTDm_r)Dz@9bMN)+s(m?W#yTuk_j_)&m=+40 z*4bLz`9kHxi7=&eyB>;i1ur$&wCwuo%f+&P`<{m7cAcHkx21d1-V47J(>!AvCcD3~ zl<8q*cHQ{5b7~=vrFq2R6Jllti%*<8;ysuB+%cJ?y*J$sGMI_lX{>*-$F-pLRYqOU zx@|9*nwFfpXZB5e$M@+KCk{{DC2%+3+;Jwe!Ud<^%)3+{7x( zdUa8HU%k7;XP>tr8oCe89GrcqsAkG8`vpH&Y}LLmw{mG4$6G7Cy|?$<{i`|+Ykik}AA1$#o9$jVY2_QU`JpF0f8MfN{rpVux4&~- zoh{P4qvjkr+Gt*;UlCCE?wi&pfeROGirkM(d%xk6((;Y#kD46h?H0T&W_C`Jr=hp) z?e}eJqTWuW6TU_Y3s(r%mu@V-v)in-G0xw&~V?m(CK< zGU(b_Y!EMTy82(>eGOfIzM04Fd<&cYp;jbJulVDyUF)7TTJ9H2|1{TIZFlSZOy{FZ zdJn%_C-m#wQ~q$t@~{hCtD?@#KM;G8 zZyK_vB*k6|mg&fEU!*qWaBW!Ra?Kl;?}aDvoD{n zdhN1CE5|(ML11Nw!H06Y5*eLk(jp@4M)z-B@NfUH>YaU^tdDYQLs{weN>lBqRbL*i zC~>-Jee=hOiT#J{^(zva1$sYCcp19(?i@RJ zjqHFm&U$-jH?9zR^UzIx z^{jUv%4~bG)=hZ)?7F)b2j^LPmYU=Ssf__%k{Yd9(lSzBZc4W67Hhx#@}=sYPN8?B z_fnO)JvP0o_J26gxV5h<(=AVL(b|r3N z!j6q)Z10qR)!nKKZ2I=*f88JBtByO_J$J3r{5XBN>$Rm9=H2huq^=uX(RUub(G*QJyR0nAyV{6<^hRH~&~~ zX0T%2`p=y%((M1b6&WSCU$&TiyE2_ECH%64%xyy#%}Hyt%)6vlv&P*~SsB0o_qvp; znuTXeZz;3;3Rg?9USV7+dg$1SiTf?eo5GB~USa8$oW0`t?3~UDDaC7A@1F!DELe5u z+;`ph_X;XoHa2AxZn!A-ZgFBXeG@HWc6Yya-^=aVW*Zs#xP{k2I*@&c<->f*-Y zB&*-Sk<-*py^>w)0=WAn6?cVPCZTg#IKEk3iLmaTSK^uiY7 z=(^cHde02B+V{qsZONGWY+Xu%s#a{1P7!m!rfV^AT6J$+T<+hxB5%}rt@~u|v-U?* zH~(Y%GP`GkK+jygqsKlL&Xt&RcDe&!dh~wPm>gfx8&BUEW^65gaiT_TLT}EKlUC}U z?N=&aeKN{A$#}@e_G5|2jGk9gQW=cVz2#yD%Gd1IJTT$eZ_k>ElLG$M<+nLZmc9AL zZ~er17yog;f1^3G^#AwQ>khv+ejS@|n)!Aq`fXNY;BacHK6cxu3m7(*QcLH%yC35mP< zPZm9Qekm8(YsP%;{iV~3l6JViRy#9$2gmw(+$DWlZ&WTu=u{Mcoz1t(D3iI^r=INroB7&)>2!I`;6U+&s02ruarJ@dF64z zf9orp-@e|-CDd7LIb&bz_PN(*Pn6uO{cxSxU6r%h+8ZZ%acfB~`^00?^t~{)-0GQ9 z>_a_ij?Yu#ez;!z8ogzTeAVlZZO^`FEjCS=ai_7s zuOeXXviG^>nuQ$ek9+L)owH$+4*y~3}3nS;O~=_C4al0BVr zhRTZ<%WUR+QLgFTy~=QU^={kCrv1K}U!Lx|d@5f4>&Da@-%7%=x4r8BH!pHt(1%sm zxGu}bH0k8-ylilyef^OqiARI)%_`D4e@kP>%gmE2eS)jv52YVoo~*idQb+cb6GDsT zGKFzn_On{N?oPy#IDK(8_0`>9JtuFg4eZ{*~LBoFBgny5Vs6r+?^5Kj!+b{27Vd^6>{eg+6VyQ)_!?W6p3=JeYd9DUsG>K>c0#6@XGZfQ6?_Dn|oS4s#y|#+P!brg>&}~h%|H`@k-eH_)yT+`YqP{0(Nj!UB$-P=3!-HG(cXrR4l3Di4lOxvq^|zB7=XGDICwpsQ^C4C*+$!!~Mul>VtKw6v%?nWLOc zH#WO{ShAv1$ZN{prrp=na_^<;-^pL>ZrwB#f-5pxCh`(4&joX#4z z-E8;!be+eJp-b$}`l#N&H*w82_T|&J_@1qh^|*MS?`1|>te#zXMT`OpYN&?%`~g7vrj{H`<)g`ilf_?*$hH;;kP3 z+kB?|;BLjmhO4g6s9owZeZ835QJ&`I@y1=k5x4i4|2ZX*%Xj10wUmtH+3gcfYIhkk z1z$Pa{lD+!tWCm+4H1|8zy4sKonm2r!0H!^#mVbz$3E7a+SGG;Z_MwEciTB9yG5?g zT;Ml-*WDY-P3I>nN3&%=35 zO7_j)Z7jWQW~lj|vYgb#VV?|?G*j2c&k*=0n_U}m`>R}SPt_ePswYDc;?Pl5LQZu)(YTMe6R(qo6cttZfXgpY-W&K{$-FKzr zG?s?RS-}SFxppV@Zb{!g@NM-&=Av^ohi1(UUe|eY-kd8rb&Ga+Sw?itls~xj?V7^w zwedUEc9fl3?48WF;HTe$|KVTw#a5Oqb9o#oUpr4c&Em-3UG2%9lRbC%{+XrFG<&~6 zaU|=CJ_n`~p=Wj++-}_dkWKK+K^9&E**m>0|4Z{NyxZ}h*s=Uvm6hj8(y`_18tIc7H*HqCap#K{x8q3+%HFEQ6H zzpnmeDBb*Rtvz>o?|-F70&SJ2KW^`G{ybGXQ03{<$U9H(7hRZC`bH~gyH(_s(i^Sb zChae@x{tXZ%`VVRUr?#|wt3b|g+~?|8A|O(nvdlkT(>n>a^Gczc~_mM)nC#Sv%)Y&->a6Yc=obHT z?vw3VWfSk46xXPW?CZ|F_Mn{O(86tXo(xZ~oMv`*+x`3O*Le-~zj8y| zT=nC2udZ*|d*j+YvwxeZ4k`8D1uQL|PT#wpJg4tKvV z@6h=3c}d+X{`(W^WkUl_>Rq48^L|-w>jr@=WrN@%TV3-oXI;_QN0vIxj75=*AEs^; z{9-QP&K3N>NV#qD;*ZTjk+MoR+?LE+-R`^M$RdXc-*Ppx0~KcZe7x=-9TZ}mrS(LR zGa`QO@6^yDyPI2GuBIH+mtA%CJm-ZakFGx!aTh&wZ)cG;*Ex&NQuZIat9A=Wr%B07 z-1&0R_a`}Z?YD}|mi!UYT0HeM-wC-3q7r-94$Ex*oT4;i+1>E2NnIz39~-6bY(7%% zm-u+a19vOSid6@m{eHQw-s{T&)o-t5yXPFX(eBJ=XcW8eGM`I9wB=TC_7A^D#%0FI zWu9l#o~=FQw(rwURd?yzXEi5IJOAK=!p0p(PY4vBxoy@W{O6nMm0ugp{3aTo5^3A^ znRC^WUsJyv_&RN;v;El(IX86`d(w;D_@1R%XKg&`w*O;#U7{}U2ANl@-knw1SX6T8 zkyKx5JDbXK!>^|oE{psx`BUJd;9g}3|A5N^j*Nzt6SF1@$bXrrDPSg{I;EsI-oK`=v!3;s##N&E;p+`-m(!TRNfb=*0z>mRL0NY4LA& zUiW6neB+f%0@CVKInDh8cAhcycJlqUP;5tq@5fF?pL?OAhpxx$zo7r-MeTm0)r&r@ zwak?LIVH56<(Omdj~kn>eRsR~--vN#t>syVOIkZL8n|CQ7nI4{*c>ezm?7)el)KAf zLSd}ZX9?d`zZpDUhY9xFJX*!TqL|5X^!2iT6ThBw-6SHE$eTQ8-toPHH#ht3nzZBD zjHkJKPIhJ6m2SW4R-DuIxnI#{Qm{b2l>a9zVu@MP2%WbXywEZT|7y#ytMi!@)WWF0p?OQ#{*Q zdg|-suSxQ$YqthGmk~%ySSb{e?f4|R-&s zf}+WCXD@2~ntMNe&X(PB_ctu5Uf<`kCPMUEX)yO`My;7b3=P4bIA-5}r5CWiN!?>g z{@pZowWIg*-)vmFhWGGdCI>ht!Js( zwdar5UE#dpC0^R(=zV?qtgJ`E-xb#Dax^|nkaEZh2;wWA_IqYdrs8#lc8l_^l&N}B zq6=r#ymyn`%F8(2SKt7vg2zS&A@Afn_bRHN?Y^Bi@%X|+PZ$;*D_6=mtI8%CTJ5+j1_D%LJ;x@3KO)fd4i=G0%w>x-WBO#P}^`FH8jjO{f>qMial zHg`_OOY!9-Yx)H6-4#oJaH33@agB%V!|=)J({>p(oO*G6-Qy&E&agF-{2${kteN)X zDzBux*qUGe%c4v+*qpj{z$-{KEn@O1pIO&eIaST|U4KVv{@mzE9@e_A^xOkte9j#S znbQ{dXt#>WwhR%iEv=%yY$0>mebTi*XZ;qhvSc~B``Yz8sv^g}>dNPo)_5Gd&r@rv zEGo^az92`$DXCX3WXIo|i)6TGAG4IpF7!4ne4K5+Y4S~5{VuRO&!wg;uJTlKfJ^V=)_r0V!Iv6o`yADu&AuG(1iW~syU{95ZDf0pl7 z+{gJtaHXec_T61g7aE^Wzq`0chtc%5f3qduyM+!4lWrhQ>KdO~AoOZ)7}_g-X)ys_8Ol?^p=dav+q%Q?}QPRr#XR`IL9 zn&h8iEBqLBZt~CLJDiUg<*mM5b8&9=+65NR`X8`qT;KDhaeYW#boBvac~_&~+-2Jz zYgKQZb^hDA3yiYUe(ktotfQHzDgR8dMCqpcd&8e|j9hlwxC^b;vOE-iG;0E1OIfnl zf_W>Zd=xR+z3=^=N$a{d-g^`DG-vv^?wr{b(ymO2*OS(-c`u@JG)-4C#sq~) zH(J71?hWRDbZbs|hUvP$R!7alYgwk9Kc2k#Q6z(Z$dS1fO*4eWFVDR^)BUscx8TMD z8wx*!YN_3+KkmE6H&Z7mCRTNuk?)I~oGYxmrnS6SK9SemBJgtcAsv_Ce6GxsArw}#%ybMrOu5@v-hz}aBIs*PnDgr?{nPzWe1I-bPKh zI&Sj`i?0;U?PvX8(yg=eq{-Cfo7zpB6EE=iDwuO|ZIAU~x}l`|_rTlpigT-u6o2`( z=z0FC6EaJa=5lB2u43HS!6(lAuHE715x%O)(QW>QkCs3Bb>AV2zh&wJ2>~asrkR=c zAH7@eU2QkZ^@?5=yXx{{{WqJh?U;I{?_|${zp1MQSwu5-{|%FWmoB--ZF%tv@ul|- zmdlyRy$JsIWyL`$wTs?XU%5<8S3iuc2zql)cSXSa6K;YlEe<4wpQte4YTPk-t-+d> zAAjr4$)-)vy~{eY+b)|BFDU6POaKCWHD{Jwz0yr95eLw8G*{7&oio{hE%*O#|$ zJ#+EpthL71Ex$0V@+*C2D@*?y`>LUtg*6N;INNzg54yhkR`eyYugUbQa|A~Bg@J4|JtK7l@F(-Y}h4v zjOS*|ovlZzGWXj?L^0Xl_>;8HM%>}7?I{ae1~-F}RSWMr8n{(A%;m_v%$d^n-(GT7 zN}K+i56fTvo?N;(kelOPTk>JMGUiFEqV)>j?(yT*IHKnJWuw5Rs?J*)nSz3XHQDj+ z_~ga!Haf}kDHmOQqN={if9rYW%<3Q0A8(wsLRWb9Uk}6YC6R}Y|7&6kJz-;N<^K0- z!SBg>?sYqp#SbMl9u=P-qF$c;h-t+_v+KLcUd?e|Ph zi=8Iv_k^j>IGECK@uoDl@#VZ9ijrZAL#L+K1#Ug|MZa2pZM;j~gynBHnD+9>INFw~ zEt_Hc$ZN&#XTMJ}KUCVUz|m9oXZ}mQyn02!@@ot2WjPz8eeb9U%*#?tV}8)4$H2D9 zNoCTFy=?Zq%?}e5U%#y^IwA1Z>;0TlFPpH=JDMTp9l<;Q3=|9$%nbA_%@vF+V)b!f zUT$P+rth0rQj}Q{ZK!8xVPL5M(rKh;YHkSHf@Kh^ACy|0Us{x$T5MyZ?^;pf9$b=G zl4@h4?;dPyY^DIh1`0uTcHr$|pjl5d1rtLBu#ladelT>iom+lUE@YEkgnv?2YH|r; z+g4xE&WXiePFjEdt9h$7==HB>KWDn>BuGn%&rs{$q3|NRUY-^k0uv>ic)6gzsTy zuSNfR+3_t8b@mR%8lC2d=)@g&W|l@4h;aP$GJ4;eWBCjBosUn@Ey}F?dhM*HhxbBF zo2Or=>Q1}9+a&J9{rv|@%!;CWB}67R1&1z~a_f+Hmuh0T$=|rMu{suU@7O%H$M5Ax z(k$Ay&$A-q;E`Ed#BZKd<9xPr+G*v;nu6VZ&nmdm?)LPZogZtTsr~&(ai{!he}kg- zQ}cel?5Yy1Ez;B6VWnQ}Q-_^kWc3pX;#-GzpK3j81 z$%WVMMpH8TKl8PR&#OP1)#0!8cYSB-L!&sx^2uvb7CxW$Z=AxwUq>0@u>Qo~7xD@!w`wRBv40z2?;3K$EgS#a^rL&a-u%x_O_O@vr$r z$ErgmufmGE_a@c`$orUAmk7R|+V}0(Ijd_1RgaA7xDsPJ1O- z@2h_Qo!XTXAB#E6le&@$3*Y3)Yc|BV6tbTF`$~Vq2fniB!kP^R7c-Bk=XP&B?_S5U z=#gUcRWI4Pi<&zF&}Cp`K8Cd9B)hhOVaFFSqU2k6e3pi*u2WV^<)oz>lYu?2Rer%gCe^tfqyuy^6(|aVo1S|KL8;j@G zDt}0m$=@Z{%yjm-+=Ts=zXEejOYK8tzCFFNDqH>#)4v?wZ`!P?_VLtPZ#O77*g1S@;k_-= zy-oC8K$Fm;2T!G6?QEWumTS?@u;RhK^M9-JSZXuhFdmRdcG z3P)exWwSA~E2^Y3KkeViNLAA*#}EFPG{02NUu^z^-l^9P@4itb^5kos&fHCVTzfsF z9~UhDU-tfkg~Eo#?>?Px^|gPVrP?k1zA-&_o2-SAh2%+%x|eq?w``1!T=?+v6r&~Y zq~E=T;q2RtHH-6N!05}s~2{vQ)=bRpqxWzZ}Zf=U&68V_Sv3WNf&4Ls=P^AQnXlM=i&M8 zDwb*M^I271^0E6?cc=Jo@NemzRp%9BviZXkrFa&pZSkoO^1eUN3vFvW_wbFAl2YLx zmfedEs-CLnPhI`})GEjP{cF74c=+Wi`wni|QvEA!rq7$pxfiP^aO$b;NvM91|0pHT zI{l^C?2kep8^RAR+|fKQ+jrhBflRM}!=?LdU-bIzoSz_PKciHuXK$rRaLWSSTItLN z(|ZZ*Cc&3pik@GPc6w&Om&lwbtwf`YH%(JdWQwi2Q`~4L{PF7BFLD3)?XBE%_E`yK zy_=Y~`eCP1L#mNc;~u7MMjC1nxD`|w*yDX*>Cq-N=c(9Pyfa#Cw;+bTkt z^XHT+X7GwPmgXmiP5;Qa>FVbH0dD;lR*0|P_HC)!ozMHsSGLXhx8N?H`qO3x<$HR} zs!n%yEdIvy@75Mur*&B}_U9knm6|e7;Ir-t151|6C%^2um!7L!{E;I<_1w&P&B{CH zvfL6>I(9MO=;Vz@pZ)aXJo~A9zum6>6Tgx})V!mg=+qqg`0T30q^H=3|#LKoLhbD0I8$IG%7tG1% zx5MFl*0)9PTFq0JN(i(*=M*;ln!dVsfyMOV0}VCbPs~c;T+{4ySdf8lf3<_+1ku&& zr)vM^v@tj^>9T@zkD^!N+;b;7(hj>m4}B1Jq1buyx|nS&F2>xp+S8|`aWG|Jf!_hr`6SQg`q_>P zJ<$8}YtJk_?u&j)@02HZ9?RsrA$M}k+q&H|tGYHAnW!ZnT4}&-~Rf1&{ zC+cd;Tb3*FJ!jdP_w%}ic=RuogoO*gd^3E@=j#*Fb9v?Tl9$E(fzx=T@*ILz99x@g ze#I<-nMeBOl$NZWHJ!oYa|2X)??(uHEorxI{@up1;Pdj9kgE@p=4mr9otmPpzDw_a zl!|aU&$QcNj=JxnKlRskth+ho`~=axYa`oub}mUvy8qwb=`D}-sb9UWeiG@km;ZjS zs_)y$SkD6OW476*2ia%0*_F3kyS;YpFU36JIlJ#%zUObsao;&n`{-X#F{ zNg8%-_-j5{USsd#yRX)1J^9td8a|;eOvS7C_L7AijGZ?)%9&z$=ic5MXu~w6X4&1= z{1UJ5bH4YsdcIw&!f^Uib>Gq;>winOYnmUnc{p>WPJHe3ldG;qukBQRCeNo`@IA88 z?%jE&)cneI8orxVrwaK@{Oz}T??t0yENPvW*p4v>zi!;1U%C6_yUllRILy8uuzW$v z=_7nI3KMLNpBS$yyef6}dxPis$G7SVwk0fIka1XL>nF$R3CG?_%vx!7tMS+0Tn&T% zon<8*UZ(q7J>CAeoMO#O*7_o#bSTYp&v~xRt*w`Re3RXrGrWGZPf3zFIqz`NRQ5Y1 z2j3}~b>8scyW+M;d*wflyz+xjxm-U9I9(U}pi{V|+QoKzeAo*XKUv*XH}#*V{*9Qw z`GUgNjKj`~Pd{9<`R7$KPfH-jv-8bsTOFfa0*aru7gb~*zwBbC&uiE4ompnl!@HK8 zvT9lzcr0(mpGsY#{3k1|_}(0i)CnuEe4NL4xijTDzgbju)OYdf5Z+zum)mr{-T!=- zSPk<``KNcTb*|WbvGG^qfm_dopUDZX`SWJJg6jFB8GM#8@3T(4c)`8)UE_q{JWK6* zi8Cv&d(MxXc+H#ZuH@=h2f}1SYAlrQ=i+oXc9#~31t+&S zFS@egWwKQnYpci$$0t7zU#mEm&9Z&ZiK@OudTx(&q)rt|bKlA0E8dwo&*)!vg!xHN z4uPx{e5Vr?W6qxtm3gto(AukIveO^6qZ}Q3SZy|Vbj5d-*=H*)Sr%Nlrle%2(1sHA zYn6=)U&R#k&EVe35Z|d-KlAnVQ;w#Y6-!L=){C57b-3@{q|O`9m%j{{m#?!X&*9T~ zVL_|rOKq{2u1ua%qTF6|Vau({aknNWDAh{sOx~#PnI!b?rNe*aC$fIUMK87ot6i-~ z6e-nv=gF|ZGx)lM@OQmv)_&F5`=tMgprI-aoIS+l7kW`TTG?dn6eLF^}eeI^$xw*Ei)Lk(~sR<@4tIOLq)XUjLe46 z_*FKhM-mDHJ}zXRVas?hcKXXdM#<~;tqECn=Vq!|R`XHL+kNZqZcSBu;ph9FZ}l7L z^w*72)-Tpi&tGtGV$tE^K*1+J;zib^RfnHcEoJxU_{zO)LdLAsoZJODKMy{zsPCT= zvez%w=h(7}%lbR_*0l<+Sw4MHDc2HixB8zhLi^(01@=^3T_mhpx~Y5WUH5>eUys#q zx;1^n6yxwPsdHv;&%KhG7x|Y%Y{vcSNj$-Z@!#%$c%+s3^W>aMF*cKr{@&$r^xL+S ziRWZ*&xjOoH3~@xC}3MMvs7XIEq6|Xds7y(h)s-jJveEh@%{^GYTO&W*ToeV&!2sI zE#DmkmfE z3x722-DSSX)3qir?0quz)Mc?_Vh(>ZGpr7OZ`dTD#VygnF?n|J`Pzg}mF5@s-YPEf zUCQ)z^B0w?JtzJ-&y!VO8T9v-s>SZP+f9})Z)9#0I+dbyXw~J4JDZf6lg^5*v$$yL zSroaUt6cU}{H>sie?AAyYc7ia_VwZXr^|GmwECM0rtK71tKa{5QYm{Q|CcuhSn1z6%wCQvtp%0FU>!3(fa4R|CSRgk4@Zc_Nvn$$MZtncUkr` zw;5LZypA$h>i$nAWZs^K%XV(ORkd8@#k~oA-;>)~KH9QBms45kbdrB_&;hGbo#^I2 zK3%RqCz*3j+rk(kzrlxJe0%)tC;JZ=XYictI6TqRHD&vI`zi9X{z!#0OS*iI>UzyvHuMAfx=(YHhbm%C92MznhlZ=-(S8zqNeb z_r=?1iOWu|RnNFlCY;o^WB-9*`T5LD%OZ4xLuS^R`#X4crR0VzSX_H%?_X_0^D9$1 z`$S|-mY7m~HkSnCQ24 z9?Qdumk!$wOs}0*_lLXb-jkq2v> z{xcV>h!2mk-P14pRax73y@&D1-|>g`A6vc7P|r>2_OwHNV&9Da?>k&sBD6)|*~InS zcUBu~S=1LtZT@ExBqSf{_&eJ=sF$5dC0fhz{k=2GA9k1OGVfobuD2yX#PVJCU$aYjV3#oH6s>7fs>EU&|J|o4*Nnw_jM_K2tu_ zw}_d|GrVj6R{td%o*ZuRZZlpOGI`mu2t`Q^F@>)QQ+pTA#Avd9f@{jGJff!CfBL^3VU+@oGin)MH7z3T=Jf#rK%%-xkjl z+FJg5c2@J!^j4SY*By>;-SbN1lZU$1UHdJ&7PYEuGnU!${MzyP&FrVI>3lk8G3VKh zkj~=Yfme^{WwB{+dv&C^L}}<*%($zWaj!HYg?*#P`w1NX&u6Je9_Dc>+wiK#^_sa^ z;peX0Uk`+Dw*4qLIAi8M-A?B9CRsJ{``N$kSbVGSBzYLnpn^%W^^Xim8I3uLZb58ELf@iCF zwBh>Cl17fl7oRUZYQ4I`#es3<*GHQ~Vq_xX6vJnmXddU2e4zXOvb2lwf_MJqCNsQD zd(xsT%Ve)9JPGW2yK%p3{?x+_y(QOnE_;2q+GpRl@NYTtjj6#O{$DA7^=5%n=;r$l zU%4J}K9&sKD%w1^(_KVj@v-+imuoJ*P{r3XUBBg_tCqj!U1P&l4bNLMmvpYbw)lTm zSkc;K&40&UYD~zS%d4SnR(36bm;Kz{*fKS%A7!kz9i@E&nz0wkQbZy=vmHlmr6L>q` z{hGb-M`;|xkLLYv|K62)mGkt4N6`PN`!%{I?7z|M7XL~0UWM$99aBW~wv>DI<{gR_ zvtRm6X#P>_dakY?U#@i*W((c$chFM~2;P?(O48CLnXn{l09#?_7&OMs7X9n zWc2XtY|nOa-dT#vJ95$)w=+pkJ)w0Va9Z|629q1FeJ8xD_;cFQu>IvRyV&T=W;OwF ziFMs~Jd@wunRNYsUh>vs!Maa2XIJ}_sHLq<(ayIx(i426K!t1RyxdQ0$2VN(YP`H7 zFulHd{aK6oZAaRJJ3SKAqNiCV#htO~Romk%!FtwrX5%BTL$mgsJ^!oil;o^w+HZI4 zP|XUAd1r8*-@R?V_KMV^Z-R-d{$F&z8Ex17HuIF91Vf~ar|G6&x8g&;aZYBx>v<#J zx@oOu{cAAJ8NEWWSCV_A3W=U&Y|ouD6-QFdd? z!L5FWS0|fyF8phnzqRyWyyK6{G zPP-}(wb{*IEphus-70GQCZVV#x+DB}>)&U2jo%iBzc;+<$#&$pO4sDl4a|bV`)_RIsO2&J(YE8q zYT@&evmU#1y}lm0gRMZOUZU~hGgjHn%)T z`X=L4pV0hO0o>~qJUCZh)l(32(rdjiZ<;rYg3z_nyr&N}ZJJ~?#7o~F+@WxYsw`YAd*NSJejP~5{d+4ifb@I+){)1Kvm^(ckl~%93F)^C0MuAsF zux@Hz*6)aSI|HxYdDyv5B;?#ib|+b5ZDPMGW>x{IS|b@kp^|J*cgPP1Fl@b#v$5 zD0@y9**rdB=AD%eQVKWy(i_UFdd_^}Rl5Bl<^ECItE<;+J;^KI`sYXJ@jKG`VS)Nj zjNaA8=d11G&|sUi{p;+_J)$KWIFGK8{r=fo#(>4>)IE{?IrgWbZp_=VbED<1?;8Zd zW_;A!^!TVKlmEhvdWu4#wRalzs>F{T;Qr0QzhHgvoE5o|mO^VS6s{kX(%o`tLf?-~ z=KDQ2Y};c|_;udY%bVl$j|%Ckc}-F{yXbp4%cS$Wc3sY0blO2@QTiFPbB@8gE2{!I=mtWcA!koj-3X`(-?e^^S zSg}Ry(#_=;7qZQNI8%jh(?c~ECOL2aT)7V)#5I=eJh$lDwV=!oE7Xqb&)U-88^t-< zm;D60&q)g%=_T7YD6xJ1Hr=@`B;|rw_@orMbDwj5D%XauJn=XE{F$P-=Zh>a7-F4Q zvmk0-%>sFQW^X&6f5)eU^L1-xN*evT`>gTvv9gZZ^8RMVgpiQqf5et3hwN0%&r*Kq z_wCrsiA%Sx^UoG%+x15OQ)m8W)ia^Ne>L|_{E@lp)S|Y$q7WPASL?0vZ30w3{Jgfa z)IKom@x-$KSt?uJoy;%~&G*?lbyJ&iILqUjePXJNA{Ruru$**XU!C8Wq_zC@rp0nQ zuFspu8_SY-M53|s(!VR8Wqzi+<$9Egs$5;>qyK7M^p36Uu8Wh?45ssc`5bawm7`c< z=e=)_ymv58u3F2MuETu0rb-M!>acx+)80vx#ABU^A)@$pC8tKNI9laXX&Z) z@uw&@R(*S)l?nfZP8Vtdn1T*vO-GQa&Sw=(lq)fs1rqdLx84;(QK{E@rj+$YvV zH|-GiAFJ+O)7qSv{AY@jW_Ix`YyFF*2~{!8{qYK>F^@i#->>29TDR4HvA@7JhcGqX zm#Ny@CwjkAdvzg4=SSlvzZKO{36kNg?~?yNPd8>{>y3G|xNzzJHxq24l6U1^D|`7t zd-jHTPYsrQ`7t%PhHuriBN6X*{19r}8y{->ws6kkdm&lb``>I&-7<-B;?t9x%-Uqm zDg5YMt$$`p-h&^-|Jo+bC~GV}wR_XezQxJ0?;6TvCQ9_N%B5f8o_6Gm!z4Se_eoWn_G4ofl>|Au3Y2VA)K~Ib&3k-%lD6W`4vX7ZRIPt zsI-7lCFy0Oj%3Qp{`$y=o%yOVck(|a78O0-?9nhgQz#?i?}}&P<^Ptfaj`3D&*w{b zd6=2KWKQ+FXz{>l#&xBYSM>GXe>tyh8glzheOcYxX)_D^H8)wev{Bh*nbT6^BGJWPTo(w()nj9r0R|1UMMp*fh9^<-Dhv5A_y zdcyxT)&J5;(rwSa$Lh)cvRX{M^}F-5D&Ml^J*Im%m*}M>zj(jyhjL%jx#Wxbf{g}J z771Fcu1lWXH#v0PDnIwT?C$d|K_7YU#>cH{KVem^y#9pMv6_>sJl0n{f0(<%Qp@ij zk5Be?+vxPDz<(di51Taj#ol}RJ?%sJp|D%a4{W+C{9%tx?yFu4hvn}rOJ*>hpTwtD zy|Lo6k;5*JMysvzEB2VW>*?J7f3S6r%sGC&o&WsXa;|?!ay@gOW$qOw=@~Vtl}yX_ zPxO@yIFoX}r}6DtpR-$M>im4Nbl=y1(u)tICA>SlhTr$g2?eb=6PGSp!nfwwYcsE3 z+#ZD{tDYUQ_!R#sT+?!G;cZKnN}C;7fy)z@iRjKgHgV_w?j4K<8XI2jiJr$2XU9<0 z!@rl0Es;-V-akRBfW4a!o|oFgZzy-)$D#6bmq2e)RHu?w#-9?|mcNGWja}C4#vj+e zWqviq{ZNAY-V3hFcd!Lb(_w0Up8VFjw%>Jc-{pB4#9@`So9Qlwp@{BKc$gX!w zPpsV96Y)62?)%46tWzEawppk@+w+U}HA6j9-6_2V20p)b3U7RO;?CikrAcBLzmGr4 zV-a4xrnx3@yUC@@%FwT31{_gBdKcFVKl>bAI|djCW0yw?-u>uW{64Ant*={ZN9MA)zVMBbat!51=Vbr7 z-#ov4>h%crNXeLL+uLHs)jbbv{4;`13hiFnw7qEe$89q`L zW}DTDuDoqtcDE!Xr}EpktoL1$9yCr*V0>nrFzsL3ipR1oxGHUz0O`xbLY}yeQbaz_Bq+16+EMyL5@RYuj7bN7f_wU{h1zIX+^ruaff9X)%l2hr^;{Wl= zyIpHEguR#9G<}PovFOL5C5p`zXZVk_gguy`@MzW=!?&_cB?335?EGN(MoL@U?_R51 zE7Q9xg~`k(GyIH2s`V;0f8JrsFy%^bUXtK7WBpVV`1+bkc6BIe)usiSP z!j~$YU1y%#1~RGM>AG|K#(F+wf+*3`T(0*>t^Tiz* z-RG8GF4g~#Dzxn%U!dZ|le5?!e$Ekn6S$_)fZLEy@KS`wI{$*D66-N=XK;{pUH~u??W=n6lI_=Ab4!f|Rg=(+A*M#$(`IW32(a?OcDdk}D zbFR8#H|1Fxs@d0%7Eb;D<==yc4_mxGtRH;pJ+7@v zeZq@8??Z8qG9#SiPnJJ_t~@m=_;iKGQ(fWf{PFrXu1%dL7SX=JHYIQZOUAiB55C6D zIJ9Wp2a~Y&8u#a#i`ENN_dn4+)$7V(9Fb(CaZUYi%9HHB+xBzws5KN=z25VD#UtZO zYSM?bGbh*VG3))ebU+G(ziFg#jty+`|0+&@3}#IQJ^=__(&J|K6T<=czCGDp&aK?=D<4_06Yu9(h62rr&zC zT4CykOOwv0GaJ9=XmaabzCK{W%wI9BYn=KxcbmsMn5TX8&*DE{c=dN>@XUk4ySaq+ z8)q_z?dyyU={*~LDY4*$*sWue`8yrv&r9B4aqyj{=%Ka$?;9Ot-{+kDOl---kIc$b zoZmWy%e`89oL$Q1jkCr5{q1up>bKMEa#(G?Z^Gq+b<`U&60nS zD)rC4uPQfq@}v###HUnkt)1d-taMOGpQXB1VF^cqn1zwxM%H%S6;s?3_Ov(tX_@+T z&WoS^GV6}N`*k{iXOpl-uwb^G+N{R=I`S)~KaN|;om7*RZuWOZ;#Aco^8ylc1g6%u zvNY)5ki1(j>+F)L*5S9CyU^EerZlrt;<4LTCA9*s$F6tny|SW|bHW$@nTG|ul-F#C zD^^Z-bB+0XF@SGJUH_TbJ6uzDELOd7Y&C1!m30@MNJ|=P$n_-hB}w#RoxO~&R-MzZ}D#y?fi&l znXEGgc?Y`J7yJ&WG)sK+jc>|ywxwdr1Rtrr3WoRl4ey7iSq zU-m4q?HBO0KN)w;KOlMcbAyzrKKe>dGIeWaysb&ezog3X#myw_*B`Ymxs|1Qk@5RP z_Fr7(a?(7oO#0N>Gye;CWs^<+tNE;4!+P8~^!uK;_p(pq81DUEe(0T^TZq>4?~+gQ zL?)Ejgjb8C$W^?OJw4sZ(3AaqfzuCLly~~htBZCL6^C}MGb#RScsC|(=CV|a9|yt`78r=0$p76Ue0cq(s^_~V z1sm7!PF=C^q{m4Sn}s)J#bZCnB!4?ns;X(BGkf=zP>n~badD0P3yv=NUz%{S^TWhQ zH3^ou?EQOK0^%#w%TFx+khfz_VDRTYnU+?ICrejY#onCN*0Vrz_m3m{_BiEFVmtfm z>-%U8Y2#m0&TuJ-Eh>=zc{ISzXq*4JAg4dK7{4@CUVgq+$0c*I`mKX^)Pq*Ovwg3q zF=0z?^w$1VscCF+k3$Xr{9mJdt6^hi((PAEPH%fysHfR?Va>kdAxC~UcuZWhDZ{=b z`h&>1#`!U`6M461JY1L)s^=iSS|U^~xa_9tJA-eXNp7Ec>SWoqj(xxC{Z{3^NWNCK zqe1gi1Ewv%;~t#*oOa+}pa^@aiT$Pa^jimY`umnBomwJtSj&21D$~U&zQu`hC(AD| zy;$lp-R$DzN5&hIx2(S|_=)}3thZBx{w>X4^4Z)~yrAtCd&XPdr019B88-b{a6m_) zFF@?s?EC&R*5&gHtHmvit##Jnbx^CYo=~!Jv*;z);2X~T)z$V6{*$vc{m&oy*=#r| z=|bDV(NWa9-~i^T6S`r<3Z%X|J=bqF%iz+wPd} zm>M&E=Im{)VwM6OpQq&NJKmgl_|Uq(Lbvyk-TcdLve)(8^Sltw!YB69*(G(y6U9k) z3q2)QHfih&s<#XOmbS&|+BL`94u$q-J?j5&Te@|l?e6)#YnPu8y?D$#`o$a_i+`W2 zozov&j?~^zmm8p{e%e^!bKKh-OCPP9b}V}7xuq#u%LMXDCkvI9m2Nq<>DIeFaV(xv zEAJUp?aOlCdU!$R#&gmPrF&1O+F84-xpu-Oo?H6Izfh_9T<&ag>+2qyRq_g4lvK{) zx7@e;d!*34G?%$H5m_pGwnyxIy0+=a-F0sl`}~Y7oB3Z{b7le0>C@Kd&fM3zWP8vq ze3_x}eY2%&1oCBV)$i_dy?&;WgX7R^JBhp|^_bFEn(ot;gkLpBy=q+|$9H;NgyZ6- zLnpoGf9{UGdX@Q^%U;&oTbH)2-+k`Wa+ic@z5i!~GzoE*-F+A{>)x6w@7eccHM+|E zoBVccP5a#W|E|dNvgaOJ=T_Uyso%cH{-_eSddJ7eb!_UXj$V^D1m9n|BjDXsR#TB+ zgI}wh&RK2Bi24<~?3~=rrJB2wuKvtYn9N>Tpc!EK*i?9v7oUOI)qk-+^A$GvOF2G} zifu~ixMz`Lpc%o#d?CsFJG)qM_jC1Cnw(Sg{wwe?xYgL;@iL#wt*YJy_isxu$WX3a{rK>jQrI`v$)a~AB@=%Cd;e4Q%{XyZQ zK8_N#J`UNY>yx7x=4fwt%zA=#Mv&vn_v5Cm_K{bFelMFA zzFkpbEi>=wzj-QY<`xG#PZXY z+3x0gr?2lnlY98OPHc?U$%|LT58jB%snLyzH`wVeZM$N2k}~5?>qDg#Hr=yVzg@_n za=ZJ;JHxUXx40e4rf@#VGdD8JFfq5ze(bR|W;eG(d6!jFpZUnFWPhdmvU$$WaJJ`;#|;iIn{;uV&Dv8_lr~7HJA`hl+ij^Tzh8xfl0T z6G42~hg~oqHpZK1yyq>x>`b<5ayHaeyqUvWH z6E~_YQ4L*}*=tvNrEA*h=glj*U7r2bb4zqJef_&4Y`?eD;fme&6&`S`UYGBZYNUDe z&9;AeI%m!9z7`2dy)7*C*3GjbruS#LNL$|Df16exsBZVlj&Z*_KT0Rt{YF54y0_Ci zufWR(uFc6&ZGUUJynW*gt?rQP?HgW9{qQ+%mzqJBO5g;$&6~{+-ri`k{m0X=F5mqH zPbJUFtyR|VnP}>@z%ArTlSjXd{v$*5@U0})kwf! zLU-d$8|%!JGjie$I}%McTr;1pP$kwszn*FRjoaa8O4vWH<+|nD)Z-*EZ*q@}J)hFq zCDD~hK1aGF+1uEJ*KIh#(qGlG;KSvm+q{4)=R(x!cfyNo{KTBKg)$q3b-aYe>yi-6E6D z%6RM_x9VSur!~R44F0QrtNNUJX7%mk_L?(!#qSae=J$y_|HcwCQ{?EBk~_jJ>7tG4 z9j_PN-)DH~;p+`LT1wxpJ&2PH`|;$coP5ri338dqDO)F-)P-MBtXH~buyw6eXv^z8 zyL^wmxV-7_nY)28$JrJMx?We8Qk;Lt>iz}Gt=h%&Ug%v;IIgSqg5w6O;1`2gnuS5U*Xd%+|**QobLe^)oIuvtIVooDu=e+QR6 zJy-877QZXwiSV{hxys%3Ic#4GX9s-R;BeKg``A{F!#`#e$C;U5{{A~&)o-iYZ96{0 zhx%2IueCAobKg0tC6OB!dyaX*J3ST;oi`8q)pM^mvngcfCAELnS~)p1tN!r83G*A) zxv{=`>aAF|!FMOetiVMky&sxpWmYLFom{8jtSh;;^1q-zbU zA~A-XcYn>2Oq|d13slW@J5c#->HWt?-Xyuo^9tNPI9t5+!=mjrH|Ixs*C)3;`fjqj zcB3n!`D-=fO$r=!te#H_dFQr?ow51CW8f0|f!ke7Y?@B;QvE5*L( zg+aK(^_#V>?+!0yd9d*wlbf4@gmG-gZS7Zwy)+%VSvOwtOuWt<`n1J0WkJ-1Kj%B! z{L34`~@SFd=*40#)``zAG?n`v`R!8bD+ZK>`IFhZseD@{J;D5>82i3Kd zEJOW``S0Hk{PyrjoJQof_>8biW&Z_OZY-KH(dkfhVou*#UyY;b+qPA8zW#Xge?_IS zyw9~In;Vn@{aByI`P?+Q-r6B>;@p&94-WUnh;9GlEMaQqZ=*7WbA3SIzD>U#&YL#j z=czYS+rC)HhMBm;McZzOk-FO59JYK~+h-vgrPi4n(xoh-lU$xEe+pJ~dwMx*y2{_E zvS$K+N|sz@eWm66@oiCGX`y4tZe8|Yj9;3UhRs|0eriJMXIHhp124_bcd8au1sxX; zFp6NVTd?$~Zh*$OgMv#UcsCu@zL<9P^VOf-?=S9n!pf?AEh|W&waWXU-0ol{w-i6a ziQbmiPTyU!dCrGGxv=l+inrWaaW^r%{r3U&VDZdT{azPjc3FG9tx#FEat+f@*8ANhbDywZ%A#Bj=DAN^{QU2M^^ITUWSvGq%$Z6 zzMp%~+`Q0LI`4jy{gFxRElNlD8*cXgus!f?H^a}9!f(n zX%id|xv46wJlfRxN$v#0d6sVn_Ie#PZe=&!q;W&o?Uc9uo5yLcCtkg@T=ey(?1U(G zRrw8>iVPm7ex@J4uy3xuyVZB467d_S8a@9e7bsO#PYSd8Sb9=9S$4**XDj!#un1cB z6&B9)o~*sPm$7{R7ltew+Y2lc7tVader%0VT$;e%lua|(IP4#_PW``pmHeN&efGkK zZEB+hG93?JvbR1U&ndX|d8p!9p`V&J)<5k!Qoq~$w!@zOHLST-Z(Q|$8cVE6OK(Uj z|L|}2{nhJyUMWBNC$`;g(fs%Of?Ss;#%3lix8ElzHH*#k?2EVtKUQaTITkwBG6Q zZKmcjUs08XY+GUrZe8pC^wKcXxWGzw?OHE^GCc+gfzam=(>L4{!VATvJ1~s&o=))X?5(h=|UIddr^-xr)@f% zV;H3;&~P`P;(Cmg@SKAOUpYLryS*o^$k*n$bV?x_;30r6d3fb%vnbfy_bPFXx52mf^S4kL;!gB|I#&UC{gcR`|o8yLn196#nbZ znGtOeWBD`Wir6xdZ3Si%?)hYdq$*#C;4HN;VQBZO`S)Xk#Fg0H+3B{?Z$+mzJiqWu z?bqr{ySoK_zwh<9RO}bvG`FrS*Xq;6!+V{WPoK*2t}$}C(0Fb?|BkgccZz*9HMRK> zTd#Nj7A^!!_eqwf5RxyE`X7`X6z0LmY$Y(cf{e67^i}X08cT ze6#uA`cSR89yR|NH~-%(6(QIESMJWoH}g6atAB{t9FQYwz((sp@oZ}ogv;iq*6ud=;qF=*mfsY_ONN`3XRTsztDx>Q<< zZrGs~!7XC11RgmFC%f6uYQw?8@UfslFPYbKM^&sefJ?))eg z+4}q0yWIch?-}kiC|7yCS5fkImHgsAr@dVl=AY&$=vw$*=&0%EQyizNnAF!@&B{s4 zyrXdOKYQm(x1LicSLj5m?r5FQ-dgtbHC21nWr};IN9p4Tk!f*N~tdd0$2`}y6e7S zIhtge@PAj;K1KPjYus5UoJ?GLOLoQe=!C`I4$)ftudFnl-(0&?NoZZ1n0t51bGP#= zclR6DRGSr7Z%_(+Szq`$_}HzrrX6mY*0UG=a9IE7aECX~^zFyhcAQneFz4IuFHve- z7d4DD>XzyJX_;-(En|4{-#XhK`Tu8JIWmeWbHh)0oILEn6)5(7kD1}A2F4)o(~EVI zw;9KeZ>EH*U=>>l;vA$J$H;vz;cCubOgk=dmvr3huHv z)%@#Dntmqjzf+avrmmmGRb3%GVPEgweRgPvyyGxMePj1fY=c`W|CfOEd#HL8DGMIgTvEilr{2N*pT`84Y z=OGoEpLwO)*}X6EzPdT1PCyR#bmiBv2hO+u+;x@n{7aX_iW4FIGkzq-J|X+WhS4-JEo}tWyC7;CiC$Dnt*MAcEK!eXDHeO7DYuafxtqJEgOcH%~f%9YGAEngu zuGdmMRxlZ*+&b8KbS4_{hx zSC=At&&k=E&NF{XT)J?1pZ=Q0D%ZpDIV#Q<(<^@4oZa|Chw-Y%6YbbZZf>$K75_yX zek>KbIQxa!;?+`1#GN-U=z7hSB>HGh;n6JBhi}fQ)Tf^0NWTUgHR(~h4mES{25Dp1IF>XN03v|!k)FE>8TW(j;M-uX!-^lX6^uY`Ti z&08}#B~Nn&MM}Bpi=3>j401j0ep`NB$%9kx1nUI56P{1WP3qZnc>U4d6Ix}R3w!dX zUnrS#SS)Gp_bmr_v(33C#<|T|E`FrACwj{x*QkFj$5(5|2kuG_W8^Yh+&Cfd?|S`X zM}OGM9Y0Y!*CpGBarT|HFMmAz$I2M@@uimkKl{&L8lx+%_il5Dox6C=f_d}pjb!70 z-WLds6Ug9`KF^bWWp4H%j<=hc*b^Rjb0p5c9v1zpz~J-=kwbxLF4B)0Z}R=qFZ#Wq z%0*N4)!8?@Ew>wXu2ZVIX!z&SO5FAaL!LM6?O@J@p^(vWIu)le?(9&Ad`K{qEu4^lH_vlfBD3<=6J6PG6NcZT2eR3!ArpSEvy)f9ZU2+M!iJN$2|{4sMG4y>`w2 z0G*2X>$;ma#ERW{U0uH6_2tX0B6?KP*~yNKSgj^GQ~!@cJ@5inKvK2cPRI$9;-eS+AWcHY)bu%ZcBIh) zJA(t$)PG$}40WA){e{)U)}&T(tAGAHk1kB9JH7F${rM%lbGCiZo@f?szTnf9!gr-t z*fwzLg>9I`e?!xxr<*Zx-N+Ol>V~+?4HkxOD|oU6nWCrUMM&%fji2CyDITf zxWx95`<3%t6}7hMR=TL1@pP37lsHfy_5Q(@kNK?sRrq_o9r!YG4~Jh++^i+~Rc@}i z`%+&W{}$&zA&E;@_1(=*zxeWO|5;_kp4DQ?Q`>gVe>+(qhafV+zuHIa{;lQ2J<#!v_ zT@_6)S*m@~{m8WzKUc%qMp;J_xfz(A>uy_pFw>`a_2Z+wD<<4K`NfCzp2*QPw+p>@ z_DZhbQnKyUBF}ur^ukG*C1t&vUFP3E;Jxaqrq-RX5?Q*-6*F>Kd)L*MCdz zxO;^sM)Jm&tFupbzv=v_YoH*>a*Auq5vIs>`bL|p-&n9u=52Ipu6Me${BY@k+x1e6 zJlide%Re4+5^|NhHD&hy%d)bE4$U(AuP7BO71V#)W%0tzVQq=`KWE15mf!N=!1NeH zhBoPE$_WgqPnIl|UA=sJ#^*WLoBi!)PgZcZc%Hf|Ij?m}57)wc*R=Et8Rq^EPi{!x z|ENhQc*_3$M~#-1A7G-m7tH6KZt?FGJb@YPAslMFI2bey7lll{pfH$$shzu(vY zxoOGdF5DNlG-mbEtUHp|r#&w@Jo)T>rm8}oM2Xw0GCN8=MRH&F?~|6<`99*aF3&^3 zGl>`MvSpZAtO7RwT*_xLUu!{`>78{(B}P}x6`tGKN0#ml&7Gd*Bii9I<*;YMuX)@b zawFJxY*=_S(Bpx^$qJ4n%gZNUhc0D`?l~5(lKJj%{THvx#?p88On>t*@_mJZh2ORG ziC?NreoUNO68zrsi_6-Hx)=1h6TdF&D(9Xqw(-##?PZA@56%~E$`tbz@_NX?_~o6t zjIZRZ@Hc^PU#Xm6U@>Hw8=-aiXKs{Jn|Xb=D$X;vUNT)bD(BPo&W5 z!XNir(G%1nn@YZKNx8FUr;OXrh?$$@?x*sc-|w>BBr^Pt(vF1;9|bovxL>GU5XJaz zyCrX}O4JUOZI`W;*T^|H2(RhNzwc?gvTNhL?>`fHQ{47hrE*=mCtVn$P(RnusOCgm zeuT(3&&=skePudN6~x2}xB5*yRUWwReuvcERpM9Q9b9S5@-I?4ROL(P1)e94Yd6Ww z-Qe`3I>C`~=I{N=7j^ffWH`8PJyfhVWzwmq**ObzFW%ycw)ALNIf2hBD`AGXCHa#dRVXVZTx=iFE@LBKi;VH-R!_Yo9|&0&+@Da_}d$~ zMdVF|konr*a|1%ul%-o9EDc`Vz1#2A*LRa&9d)wo)9_E=Kd-u?i*?S&6~+;J48v^q z>C1fg-qR~2*M9i1aE$rme*P(O(xSG~ZFe$K{y(Va%lTQGdiKp*jhoCxVUB%1SH<2b zf0%H0ui4ed8s5iCDl8iAmbC3o*SLJ3dsE8$`)gkroH-nCvL^riYpeQtakbp}U!U0jpCTiiEb5lHJV*2^95 zwkw2PdmgL1UPK`>c;X(Gk`oi=XKKi4Twd0$>t3>CYOkzeW|UmX_l`u5#SFb~ujTHZ z5WS|!Z~sz$Lvf2u0Xrm2)c3>CzD(qF2U{t=s&lyXDKMnC_1tcAMY&+D`9UA;PG zn)CTX>|AfI{BGX9=NH$>T3h9r+Nb|?wNF#kshe?5)?n(v2S4xqWo%`RHu|x}<-;7d zlbh8qHpH_qmU8W7PYhqB?CbpF*3-Yw?e(MmMP{zme9LLA_+f!;g3^H$Rp|!`Yad*8 zUY2t9%rl`)>-JQK6?qr9t(d-YVMwJw9#iOU&zpwwQVUAJ8fQe8%unU7c9c&=b0`aWjOd!6H)KX%U4nq9u@e%P}~ z{@u^wJXtE7rd^q-C%r!>gU{hd*^;NTpI)1HWxubEe%+7U#x44r2Z@@OFt?lT*AdU+vu}HSJ%PIbNUQ;)?4*tbEIxlG-ndl zJ#DXb_Oa&TuwPyaKb`+v|JBl~*X^QcU{)pTZH11eE|Zjv?}X|(4-JM4HaKcBSF>|N)(*2vZuy;d!M!t&5~dvXFpJ^Rg%=N|BV zG*Y4s<@qs$Ih&oyL+F<`cA+6tZj z;WC>y$=u9m(XAZ?$9CEJPte`-`$a_OSALImVwYnMd@PRAI<+AyabM0Jk7w2QHZ0%& zI(+|(RVTLm`}OI@`lH1yl~35$^Vf1b7A@YgbkUce*ZB9iANU#ft^K;@##{f?Q&>xi z5+Ah1-S+HW<6rfL6`5tvRvj>(t1NS8%3|lm53|-xQhIa4 z(EY0Hl~d}uOIuQWZmwAVZ;r0y$Ms4#et6eS_&4W4>|^~?K9eIfcAw3AW+(eNm$b;yd>N^!bZTKTrWj>pa(e6K6BM@Z~nb8V;3weQZ$onScJfAM|D&w$cR$#DrEj#)atIelS^bwR(&N$S4Gn6JXw{NvN!FPJ0RC|Jq%!z0wiQ6_#2KVFl>d)2- zsE**_X%u$66&?IXKjBpByoOc6O4jU!uWe+~z9wz$?~?G|>{Thh^M5{v+ri4F>c5M` zp3cr&AjTFG`f-BYiMO?N_f@MyH~n1D$MJgmcI$7AZ40;yC-lEdI&Ac3`u1Sf*j%^e zDV(gUYTG6Y25wUK-;}j-$IGzw+WFt#)_Sj8S?P6Z5gT`3vUP9M1CHvQ%QItkJxcJi zh;6vOPW@(lrJ)+`SS<^3F3C(Y&hMSO~1^Q3*j86R&yxEt7=B(i?K>HC(Q8k6sBFk9r? z7q#4`EG^5CVg3perNujbtF-=lqOz}BQ}WuG9V{;+FRzO);^~rlWhiwzv{=x&YBpQW zmc9IUuFkqrzM@WQ*QtX=GezS4AE^EmPzzCwj(*<7vZh>J>R{6@6N}!=$th(v+m8LV zeHgJ($RS<+$c`W9FS-A95}DeYD4*^dwf*MYbd7Vd%@e{_Xj^W&7Oc;7Xz5&=^vjp| zJ{WF(H|gFkG41{xot#$AEFpV*<1-v;-o%Q!3SD-+ZF0%6co&PIaOXX)0)2Pk^T&67 z4O=rmu>TlruO{fJpM*DfjQoXbL9cy z%O5fqKdjxz+a06f|7St+ddb^Is??(QzgAebL1&`E)0a z0{;BBe*?RI@|>=2-@;|gR(AcKhv}trbD4erZi;#K`g$Ehfs}{R`ll;*Hbh;B*bp1w zF;66~;8XOjquWA$KE1vEoNjOW#!!KifUu86%@=)6~~ zECLFFn~G1n^r$YhG~@|5SFf7+t5RpV_{#4Aw_n?Pi@$T``|{#T`KIF^5_aD6EBkrW z{Yg{b8t;tyI1|1({r9AO(;J&mwsmE_0Xq!#h_t>$AahQE8S0j_g|rD z@wMz5y@kbWX5Zwl?%Sf9awuc98sZ{T^E!LdqF=cY3CX4;0ZLJJvk6sEcN-Q%9sqQ4A_wt>^!mUPV}xP5;-zR5`UYq*8E|_8k$H!_lvA z+xz9OFJEILbbezoots*|dqfidm9sl%sYb`wnh7<(nOOMoNPVtW!JR}& z{_tzT+myLK^h{cwuawXn*K+6SeoGF9}o)z-3`yE!B_U(E0f$`^cvo9R`{h#lphPsB3RPVuu!YhI%$Y@EOVfmr9;OdnJ z5%V*xaz1`b6Jnk{|Ex5F$%X&P*O&hPc=3kGtKat~tvr3B%Oys;M$fLArTRm^)6WB8 zl5GtUTCp>hzVKss&%AZx>?f*rmsjy$+5KaU&Dpi9-o6Rnlu*sSZKB`yuyqfo-ca)q znVD-Lx!}p^OVeFM_XP>o3B)K}Y6}z-@Qv=9eAWNqj+;xxlH6WR*&e~Pw6Q9$EBfhMAbbDKXgVFAt@xoOTx9xrW$5HuQlIG8jZyFvio|u*wZSiCMF88zV{_r-}Um|nj0X2GGhO;&4e&faxUSa1IQot#envPWke6u91ml;Rr7yc#vAD3y6|?e&&ffl7P-~}uzMap3XB>5jyzUz}hAlL>!}IXD z+t$fj^4mK;v?y{dFB1H-dP#SQ_`O|Kt{!iCV_7Y2Pwg?3QN3vJO18u7X3Mw2_$^*n z9y)*9vUtszV0NDk8xAj2+?7#p{%qdckV?JFS#0KSBGe{r6Z$VZ&GOBS>q1#m&fnN4 zKks#%z{R9BcVZI{8t-{$HBXE2gKPG$r$NE9xX$aURIf4i{nxF1=fTzHbse=;@3)rb zNVlplP^=XZ^#3^PQ~kHU-`|z$=>7TjGQ3-%=a;C^k8LXw|LB=7@_0Yvhwi^UGnX!v zHiZzMhy`{_- z;><4g{g!#R$U5+*@7&-5cfniQP95TTFV4MeE8w5|JIEt1ch~ayC4MJWzj%J@k6Pcf zVCj6PRL5UwRw(quxOa4w_Ym}R>y1v^e zHfqX8V@-pc9s0pjavf*J&DNT^`(wAz&W-cDer~*=uD2}5O(lKtu0In0Y>Js3Ud_Le zv#4G_)596~Io+?Oq&hY%ptre3K zbnK@VmdbW^DZdJy@$H=^ce283w`$R|kKOMCM*CiQvH1Rzi;bo?u3Ob#m2|u;k@c}v z@8##!{Lfy_TN|b8ko-za_-ppgj!kcwRpZotP5=J$*#_xklWYt7SM>>{A6{!D^005; zVaKy&y~f-%f{Y86vFtjrpFg>AUX#4#M%!KIc^o~snHA@(V~+OhOKAN$-Sg(pxb4={ zoC{uPy7wGt-KZor<-!4`Owquf950Tmwneua-|J8Ox%cAV4~DmL1lREBJm$2{@%z;G zs*Axo(X8P6<#?4f&n7sqaBxiX`MioDJ1#`m^SUU<>c?BwmwvtWTd(hFD&uMM#$ys1 z_tvLH`780Jy_eLbcy+r17e&g~9o?)a+kYKt<< zo}F^a6ReUp*z>LYJ9Yd2{c4iB8DRHr}??nUcHXYFspQQ1Ao8h$$nU`*U?_~KE;ZwD2zl_z(t#*7{ zCCj-A54e_zN4$SEFWTH)?r*bGGizt>X~Ams>-);&?v*tiSfIFYM=UVUd#{Klpu4wdMblqSna&NOF!RzOxNpKw0rNBslshn**dyj zKi%NZa^{%)Ypdz~eOFg(o#(cxP=V#3P}zsAnMSKT{onmaf4$&O;E_o61zGa9GD?HY zlkFE|b2~;myo%6vzBTNq%^`*~W6ISkdP#3db|P+CQj@ zmb;$0%TUoe`;!}6vQqGlypt}*1+6z?8KX+Pzb%>GbV2Z=(A=iVhYw;Cwcx!iJI>*8PANkKJc%PLnlr&0LG2P~K=)tmS&f1;QTFzaT&-Ao8 zzcVUZ{Xg5DW6dhkdw=m9!x_(W{yqKunf=kb1+&8|0$HkOep=LXi+@eqzB36yH6;`5 z+&A9XP@?td`#1X=Jm0u}+ZEj4?iVQ3>heo2KU>h*wJyjo^xN*H@G7sj)+hI6&Z=8| zGGW6t8|%X?w)6Fl`EHpt=`{1?Z!b$%Ogvj9seEW#MNObS;|l*-B@g7b@g9)>5UVZs z({WS#I|eoVTNiU)UE3Ag6t?k$(6tKT0}3ZLY!h2!A;-eHzUAn_ss3M;4W#y|*w6aW z^z#(c!_^`(jceH+nMX9svX@)FSoT$R8}F05+qbdUKPa7j@}6e&wO>mn&y!45oZeDv zvekQ6zzUNcm9=q(lO&zjY}C4Z_ixS%sarntA|_ZG$+yp{)w|lR#;5jwVUkys>D|m` z@xR%&Wwpty*6+;TYWqZc%loZ#J{Rxka4Pjp+Hd>TC5~!~?w)p^^5WmQi?(Z9wWHr3 zcGMD#X?=G)VeR55p$#W(J_v4e3HYn?nq8dJ{T*+QTXRa#x3vfF7p^_0|6gzA@#$fV zdlGs}(&TNlWqB@5KA*7ay1jF#j_)i z#4Oh~J>7dTmP7Z~g!gr;lOAe(fA#Xl_NmK^q|Pw6NxM%oGg3bIxu|yGv)u=IW`yig zUfjvMtfAuF8MdRof0AvP79P7Q_8{y=+Ij!HUD6Y#+%h|)=o==fk*7G}_4=}C zklVFW?53pV^Zw)Dun({_}OXOtVmKcSQJV z6VJ8bhfW*Je!p3Z)3Wqia_FS}OMj{#-+5rmu8j-*BNdh(DP5HHGHKVcbDn$moa5n* zS2}V$E9lEcYXjK_*%SWxt2gu{-@0?g>q>m(^{I;{5{I~|CTM^ z%%2+;?9(wg_&K;br7QIw57(KWUaCE(<{8ciYEayjV*UHh@%by9mxmpf4k%k%DtKev z+(4ftHGNwJGhX~!XtG-0d%4iQdF6fg`%<%aGynL%_>Ej><-KDS9Ni2R@wwmkI9`)( z-s_vTwPN#SiHjRwY}g#x_VkQ%r)9~z1!WT?TP`!^&pf)e$ny94HD+ot@ed{~NSp9s zzUQ_@ws$ymUoOcC|FdMB_wCsoY~mSy{L?Hw_8i#zq##<2b@$50dry}9x8i%VhbwnS z<=S15%eGF44;25olPTexP0}ABKD*;ic~8BwjVgC&>7D=ih1vc0an0XM8@1=1{XlY^RF99pnIc-W@5Q0{Wg3rz#Y`6RGgqmI9O+tQQ~b>INmKU*enpV#{vcUjk20zAH@oJ6F%V^^R;R^RA;T#}CV-$uVB& z`e)}O%r*IIC7b)X1Iw6V->tjA6ki;z0}3(=o5qZW{ZY z-+d*LW!s*o^}qA7dRxpz6?Brl|9-sV$&$T)_wiY))(PYX^0s6gR{NSFHq(ynw(6r5 zTsl*~9MV0{_Sd)hQ{raVP@X4WrUq?(e=_9ByVne#Ui3Wtxb&G;p6A}TJG{?@GOXL+ zE^n4o(q^}B7RP(GiJqTJIO_xSzE3OSTyy@jfccxOo0g5AZrqCvOF6dUFw2ITBMXX( z%`5t5gfRHte&KQCs|)$TSgPik8Tp>w0fl8 zS)Q>}JAF6*sDo3jEn0w(s!A8F_ie8tX;uFR$i0ZZ5mt_UiTfwtM8dg_eKa zcKJl7np*1hGC?i2j)gCdeS3U+uEqxKRlXZGMTMp>QJsHT{&;F*xUu2I)}Uzuhf@<) z{}Sq9)R|$Yu%~d1#%;sdS{we_P5PJ}7$&k+-C|bxLCpw}OV>h+`0topc+%l6^me9P zrQOu9mCaL^`nPUxnVm6xuT>F4+QxM6Wu})TUPyhGZ~U`j(yX_opBuI_3C(={c<~P2 z!oA*}HBqnG8w~edzZqa+knDWv!DST>(-&*b89E$$SHt{z?oqKH4mFc4Grp^xoB2;n zPv(0RqvOT>+O?`r-|yc&ef3w@3;c&qwYBsezV@t#MR`|%cN?ewyk8{~e)~z^eDB&8 zB(->t-0?)O4{EP}?pw|IQ{?bpRV~?{iGmH6q#d8`R;zv-%k=M?m4=nV`7DK|cA;-m zrf)tI>phqA_?}Ij?|rseC+n$;yDdl=ub+#?5G`@db|N6FH=GV(=vrG3U z9qtdiDw~jVLpi&AXJunq+_uEOQxwnW?Wla7P`Ybc+u~TCn=Vrmg+6TV(|#4Jeph?z z#dzE<5zc-8&-(d=`| zo&VnM>!@3sus$@@;9YZ^o6g5~R~=J(jpxns`BR*d-{dLqb(Q{2)d!`KCvRJPKc2gn zCyRdu=j%41w`E&*W$*-s>nzG*w~BiGan3QDqaTgmpZ_R2pZ9py>LR)8OXexxcJc_= z^?R-UpARCpD_`5cS%OPxADCKWy5`nGJBA?m^qhmKY%Oq!pYAun}pP%~cOvf^Z#S1qcZjbnB z9CfGk`xp0ZGtTn~d`#QMzi!H8&4=&GJ$TYVr=X6}p6KY05>NJ3TQYTW02&FWkKy;)!~d0oBXt@Hkaf>0DV+^n7BuUeJ>HM^4`see7PnShMddo~@-@ANM#;N!5 z7IV+fxfCAV^?$+TSyOg1&76ArqEJ!ml_nm;zkZE!0-IOziQkM3u1S1vRkXy5SCl8# zu6LSUPR7GRDS`O+Qx9@ov{?UmzWt#LnUm8J86tD;cXISjl{>%dfaf&#S-b%T30IEp zs4#nd{hy?xk5r`S|4Uxsn^bq~>ahNxBB8XWP_V#GY`UEDy~m$+Kik>AlAUeY-1Ob~ zJ~y~HY${}KK9r9yYpl_C+B}W-(>G5;9pP)Ye$6=e;km@}Xck{ypEoW$4#r$4F8j_E&ExIFZR%A7MSmP?*FmgdoCQ43d|xcWv1Mc=dWDY zBI6lov}?<`zArZOC%=<8mVVa6&S>GLq|Ep~=|}q)a(6Hloz`{tdis9r`Nh5ct2Jg; zEdGD(&?K1)7rWKhY}vBY@0RgxeeN4ddR8>SwMZw5ZHFhA&_Qxdjs=^?e=r3a&g7rr~5=B&B?lBD~A@EL2CFZ=st zs@z=hm8U0h)}=pLvi@__pJW*}*7&{m`g!wSzV4cJnAP*u1iw^4tu+&Sul%2%el2c- zWwMuN@eXTy_ZbC>FW;?oo22nt!Ct%aqxD6T+JIvWvNJ=I3m%m06V!;U*&_GQdzayh zP5tvF&2Oxi=Kigg$s*{~Yi7xOWaTv}X)k5}Qx4Yi+G-?fZY|WmHv8wN;LTnV)r@VQ zzDs?y2+tB$yl($YcyUYDswt6zJ=*dwj+c9=WUKMcxOZ!Pz2M0oqAR**emJI4q{3HH zcROH}`7?pQ^EExJe}45oF62|rvp>)=?f$Oi9gXR^37+LE7Pove@%sJbGTX+v@v`x^ zcFNS<4EoQt(^1Mqe{P2&)4#vkx0m03b&9{%MQF2(T1Jt6#&lV0W!ug}Uqd7t)yvZb zgsU`jBYUL}qV%|AJ-PYn3PaTPMZXEsXhceEG7shgN56@mmwvoA9Jf-OO!{htUeHCfnpJyHJ zURjs)yjMd^|M9Imju$qV|G)5&{j=HUIg8ib5_4>6jhZL%O`D77?Rout{#F8L$9rl%+v;O}yB5m4m+ELK)%;~_-~IN;$GP@}AzHqF}L;zcS{fnzt5*;j(o+Gh7d_$;$Vbn&(+&D|#p#SS6q8yHEPm z_Cg7!${i98g=a7LiD)g0X*bn#pZ)YxbpBD7goie>6**r|xl_#JuYN|Wwm*NK_JjQ0 zzVF`cSoA3V!*=WRr)Tm`m=ws*j(c{;4kgyyD*g<*|} zj`fN`&aVocJk}m9Z{4-7j#KS$PH=5e&grA_q{n@ zUt`Gos)F-Imx$IL_Ok!wb?V*Tj~?f*@$J-)yHqK8>}$#ENv!Get*%q9uAP5D?97$3 zt4Yg+!NRT(W+Q)1f}Z>ej`>5cjJQZRq+3!~eQ{|2ZoO`EV`Nz)#lf|Tvg z(gYM*RBl^W2&pcS-uhQv)+~0jiT;#hOeZCJ`4;(a+;eDgacD#+?(zlDwd=vTj z@Ygbi&PfJu?_MnWU6#Y``(pkpfx@~SZ(luGGym#N!<8y|Of2%Xzb1ajtF*IwEqd#* zU|nI7*@PP+e`nVgo75lp(VY0esV!>J`;jYHg`3yT-zomuq2cYb zrRxvAf3~mgBln!^b$MD9+s=M8^)eLDUmC$I-{^R&OHxwkwcPxI>)$V%s`AghBD|94 z#){ha|297HYsi$#G&@pJef@0nB>4$$iH{XTmRMg$i3T3!?-#2E{eYPV$|Bzq7W$yn= zY(FW!zT)04#dUMR#|4oJksisFnqPIAn)JW9&H2)P>Xe3!-R>JV>^}6Qws^}BxlKc$58mKL9<+t?os zb6nKblW~hJjKka_p|jT7QPN^bEAy4*dxJhdTe$dmQ&IZS6=lK|NjkrmNHS}!zZP51 zS{~u-{3F_9iI3U$$8BXcM>I{h$)x9`8U1@5lPLJD?e%~0d7B>DYF2G+T)E94H9(9> zViI3+qF>eq&KI@&kG{MVm;L_sudC1MKZ(RI?Z46Rd$QMhR%5O3zROWZt5|-{`?2BO zTYGQj?1`=I2FgyK6AwD9P;ZvFIL~Kyj^h!fv`cm2i-P3l9u^g;5=9KP;UG5n+8A2g#*qsh{bGmSby)tpV<0j zb55VR(xLC>{|E_7`saUqRhD^QnNlLR=#Ghp6gM-i_g!TmJ4fSod|HY~tLOe5`P0$^ zcilgA*=FyG;~J~q`JJrkdX^;d_}dk(P1R*qf6j`|Jm?p7s?3dThiSCn-D_6jO+8v? zg#P@PlfKpFlE1*+dmGyREKhlB-|$c4+Sj))m&h;(x7IOp-~TU`y}hXDy!*U9rok?}Odf6Hn&X z@|9Y9&cAsfz4WY-mXP4zx78YJuHFxLa$c*r&*|%o?Z0ZQ4K9Rc9PGcCUU_c870m}f zoAmi+-kr-<;qD|B<9@s~D_!c0-I-e|>(%#^{J8v#!}svvbLVEM2&)R%O#JDt6QeIE zvMb4=`l(Z7^|r6N3_b#!Z#;f5>s?R?NUM8#$(JpFt^C$htI(t;Z(P!LZ|Z1Xx$(>1 z>(h81S37u2`RQb_r)1r-r7xD*@Geo=dxA4IeDCMzsp5*7HnXfRvPvIWuzQx0gJ05$mu>dYn^ng8p)TMDXP*V%J^(`EmcI?I>;4GvXP zK2>e$u$J#kSH8oST?^mXJ$$X3x$@Qr59zjYub#pnxie;aI~LnE>N_Zz>)qsxxt&y( z`%nLxrH^PZgSDL4l2R2<6ogI&nEtH=ze-s>Rx%k z+M4c1ukGH%sr}h!YUnX>;$au{9SaNo)+gktHl`LIEN+lxOFbv?Rm|j(!ttv3YaDM> zFEF)a&+p!5pY>1I^UT!tN1K|(|KFD1di6x#7R!$hH%u;kU~%R8CD&G-8?U*nj^@;5 znj4?AnVoo5Ti}UCE7ARq37uE&vhIJ#ZR4N2 z;>?YkDrWJGKWzsXquSj4fEr3g31mqJTJp7)#R|CchB_V9HFWcchwDS1fN(x zD$6*lv~tazlG*1=VnwTF9}?ay9&`SC@&D8}3@iBmbwBFuFWr(m1p zIa2De&|Kf`(nVX1t*_>(@Ya;wSX~w$Rqw-79kbWI%Dq7SVa7tM7%$I5m7DCRKfmhq zY7;YmEVu2hZ>DW4%do|ynz=6fJ{U@i~x#LgGs#Sg{&ko%6^W7oY)i1w!mj{LxH#hxPXs*~l zY2}SICwS_$EnZz(XJYDp>v~`LJcYViiTD53B&DBO@oA~=`qd{aE`FKN@N(9Z4@rAv zrNic;dG_VTGh27N zxHNr8uqYAL-)`u#V8Ro->|(xoxrZmdG~+(%cItoFX>*N>PeMw9cJMf*dsr4;N_-)G zHa_N0+0ohO%!((KK7O^p`J%J!#*3+wRWyHG=k31VBeQdhcj3OrO!eMrK!RDPd8W9_stsd95b%v2C~2t`!X_J9_qf*lF|GpO=IO z7fIYMSa3tMa#`;oWB#&lOpf)tKd*AixyLqZXPeO%rm4-PUdBGjKVQ$;5qND~f|#uT zkKmY8y?yUYQ~&MSUv}-t0TK2OPl}2Sni+p~Eb(A*tiOA4$zIi`i!X3KZZp|1XOp#H z`;8*)6~;RQP5%Emeb9LK?F-p@tETkm9(Vn__{_=Mj$6$=jM~nZUc7XD>h`Top)pgA zZDL)l;PJ)$(7~La{XVS5Uar#qYMN7=y*8#*9G=a;@oP$|;qx{wr%#J(cJuv_X^=V* zBx2UHcH_Cf&Bg8FhFtoFEWuiBY3!3_7tH&1(`cJ=*sqtm8*Y@X{jOuwHFthPo0Xw+ z-}S}bERWJd*(KMn-=EYOp{hOI?`HQ8`*qw=H#G{4d~_PsYF>QdI{ap9+B^&O&l@~W zUsCHoYi$1DM?$90ubrkJ_`YN_KIeNX>%8QOa^Q~do9zUdpXT4bt=*ht{nXafKzl=0 z@%kPAi{EwCeE62aSgv3e*~`nt*R{BP`j5PgzC{ANZ~y603)>o(w$N-+{SLpYdn``% zR1YY{)fB4KRPi=y+hp43*-q@*XM|bDMXqXy3jv zUcLN5!tRyJcAc6!bD=2v3Z6jjlwJppIkmj}Zrb;F;FJ6{pEZm#*p=hRWQg`$f z+YLGnuYZbN6MX$(+D!AF@ZfLG!fkVoE%|x7pzfje+bO?Xn!a1dRy}EFd%QaR`FjpA zDL#2c{=;HEhAUG-gE#&y$=v%yrKtW!_|Ed;Yx$3+);InrwOY}nby?kFrgink*gdI7 z6FL5^yR(q9Zw+JeoZF>;>T=s8ttMI>c&MWCKYCfLxclD2d-uJ*DckbK>sCv9{?Z>F z2RChL`0=lU%6 z>mtrA9hcm{b{u%D;G)nQSN%v~qKNUrg-Umh_UgG5S*czLc`I~O^P}s_A41;kM->DY zaU8$@w|-4|9D8ItOOEo}ln!Un zogxZ#lQQpqw)_(Ncgg~OR)!xN)_>jhq_|OM!4$sk1Wn~V=fnh;x3w*L5JgIE%`O%dvo{I>-)_a%lB{C>+~UR z{U5L9)89nfT=(qn^9&VxWF31fJ6`6U9e&$w zo{IC!Eo_--?0;+5{_q#V*V-m7V4vlBQu7Oc=JewBLo&b42Hthl`SQ!9utD)nXTJ>x z%iifbJ44q0b-Bg+yDDVuPQiqqc4{Xc-27|b5cK+&P=OEo2eTR1oK2^P8eQ&4EqW#p z5ZwQBzG#K^|FvfC8O17g6fS?AdiKNP*fmwxa>Oha&CKLxZBliKlRA}N$#5a9YWGYb z|NedNSN1y`3R$C*D_7gIaIx9E!>jydG+3|6a`QKZ#vcigFpqIs$k4RRan*%O&wXV! z&unCjj7e?cezn+&|7@p}W1F0f#(uTN8zB-+wVyZ-FPJtfKQlKqXkLBxq0c|g-rM~m zWkF5e&ij%T>7NfZ_RN>nJ29tc*M+_#t!!JmTCz`V{?ig{mYP1PMXBfZ4!g4RZ_i#y zd>^UtsriM*!luKK-ZpCvcpHU@C$Z~ZUid2Xv4Z>J&yP*y694=>lz!CXnboTm?95NA z8W4KQ{?%_Z(E{ey-hc}&b=8@c$^_# zZSM-FkKbLCa?kl2noYUFqP!~J^ix3h)W&p0k&~CIwSWJ9ck#1kxw+L zHbr0ma>bF$2E9+$rWzPs_POKDcCUKDN2VnvVX=3FE(Cv`wsP8m4J=HinqfO-nMCzp zPLADl`tzC_Y2l*2NfT6ND2DC&ym4J@DAzWIlafMA&2bJhb2gfZ?9B3a_#RaIZVp$% z+cz8+l-YglSMnQb%J9T;_dX4Jw(+>8vml#i)a8p^_8aGL^G&<3^3=X1??m!`-FBD$ zBB8lH{_xf$rMa&&CvI@qr?jv2;iD=1yekhZ_dS?;*j~MsZCccuN7w32w;lQSM((9} z>qMrgwW2Ntvu=q`xXbtaa8kX6m-H_6*4e*vS94DN&G@A*Gj~aPUSL5_s!+V{FBJ=} zgj@b9s&Nml{oMUR?eeXMhIdz)Hy%k@uF7C~$^2RA_7z#bqJ(Bnc9zz)JU8b<%v${= zH|kU;Y(E@5CAFud|5=d9I<GO=v^scai?6HwB8Xmiux%5jA<`w)fvLl^L1uSO1MQ zN_&*hXj(V-QgV&8O{1!@L7`o$qe-RQ(^D5OWPe#K=)jSEZ(X9&yyKT&WzFufdtqSr z&5QGQVpRO*tP6`-7Zr1VoT=DzQaXU~%>ps==c$eLTLiTK@JAk6Uhse09%H$0r&jmf zpEXlG?bPO;6ICWtT}+a;v>oEwEWPYPQQ87V&dgl)!~GuLxBT?l`|WOH<>pOm*Kd^k zQ7x0w?#otlRlw|YOqI$R$p>*gO0mVkJN)kd`I1qloi%SB#}9>bpM{q^_P+b2HuA?G z1=Y`eXG@x=zTBlMd$r>Kl~VT!Q%-+=ow;Da_QsWV-t}v~rAH@E_WFE%O8Njb@nMT&iVXbVa0OJ zi{JUT&%VB;=Qii28+R=hhTZAE(u6%LM>3-pdGu{8Z@jGy@Q|XC-+JVb1 z>XmGL|5r@O>lD{znreOLOoJnrj_M~_E;bu*H@UVo46 z?J`%csx|k{otsc;QS>^Y;l7&fL|cI+)gfjsud;TWKYf+m-ME?S^&|B=ml`Bi7|aRY z@jvPE{%3+eH67yXT24%3_xZPU@!Y9%mVEi$5%`2byQOKwy$~qdj=U^rt3BDigaRF zmm40Mdi+G(uE#+#z1CA@{vG_w^lsbsITtE>uD$Yje@M?OuJeh;ExuFFs*kX!e9ti2 zGI6d@%&Ga)_cHj(KT>=#fv(+9)H!} zEv`@@eu(ExtkeBT?gcL-H@?|Cp+UalWAA3Q%Ud=VtW%xyD1GrlwGSMB(zmKlT;rZ} z=7590M1Jf+?w)zk*M;TZ{#u*)Hc|C=$BF;;qQ9>4EK4{ze{VF~20_dvesXQ5-ptz1wB_Cg=Z<9QU9^#b<--lFVC%ZRW8+f zw^4q1^_NWBb^GG>9&4+-C+oesg~92R>MR>m89h6(V+-=6sY%D=4)A;pciuV$Hl zQ`Akoe=%HqOS*~cgj-=t{60RjWxDl8^!UAbsSC??xXOAzo}gVfC01ubO8Tx2C+ncj zR{afSY#Z2}9WDm=WvpeJ6Jfo=g8fJE&XgrxD_u{q>@#Oumo<6D-^WjM56ky$lVWfF zVw%hTp;>4B%o!&gog&`wD?PXvoS4o$y+TH2P5I2^FFCD+%T!h;Tt9U3a%sERi-I{7 z1zyS<-mmDJeB$$a6**^S7c0@Ut2ZS#a0?o)lKG?b=$^Z9%!!8AJ=MK3!4aZ2ik#oe zH?*Bf*nh9csb$GeZ8bZ|)aKN_+S_$iNeyhXm(ScIlDLJtoi?;G6g)*lNO>wKJVB9=Yco#&q?I%?!gG-ED8@q!oCqahvn! z!WkjmXT0wo+i1o_W~WNu-&~>|KXZ%HryUm-9jM${FO?V{xMh9w#P#Jy_g-F_IHBUk ztR*uirEZt4oZHlY^OA_?j&HZhO*;<0dsFN6=k2%_X zY@V)d$5(W>e2-68n;zSjIQHESdgmP%xw2)d|DK~#YMm>hBi4AT2)})M_wxPqi~QHT zk78EjzNNS~yH+Q};Ku*e{+D!?SBm`8sx-R&OEz}Ks@6xEwk@U=Vq%vYb<VBzMz1;Hoh{_IuHM3W!e13SYU{m4Bvl{NR>}Q?2`dDCY_s12_ zwtZV3w%_0RT8<#dt+GVEgU1IX%$o|wMmzi%430zHa%Ite^*>Qf7(*uRL ztT);fMW=T}-Cq+tFVORbvd7mH?)Cd6e;&WvlzfQMLdtKCFhl0|+tPD3x_|W&J}dq< z<-BRzavR3ql2;W(oIi>xtC*B_-x1yxt6HL{HYM>#fBUYvCNDKJe7b`gTKqoh z|IaJi{FrQZIePq?QJoog^SFp^jK}w1(MRn!#3=4ry}Nyl$z`d-J9axNEshKPa98=y z!Q(c^eZ)P2_e!?xl6{yhHZQ)#{doC(liX*!4{?=Lyq=TdAS1KA_tCngk{i#*J8h1O zu3aa?=TlLu6_w&>mhn;j^ScwSrHg7FOD=mBBeY=lte^;^hV5)z?|rw5p7Yu1wl`wo zt&W7)-t_rDHhRSTFMMCFaeNEI{6_h_H%?m~nnm5)JL$s2XrV=G)LjjJ$e60O@7rx6 zoGk6^ar$D@pyXxU5zRb0E+cNF% zo!b>+_WQ~HrUbReP1mc<78N!|&YiK}`u@DIfM6d%|A%@fJc|k`(Mky?fX8!emZE@Cu={x4tU%jt9-C|#bR!&Iyu?MX; z*k63S=J-VZ!Y)o3``K3iCgr%t8c!~HFY$D}%skiMCw=xE;0V1M&dzw@a7&`+->m_Y zX7L=?TluEZb;~-IYT;vd&kCt#C@}7MUX^=t!LKQ&d-I&F-pV?id@x5UUh|10vqZ3E zk{$kL7SV7pQ{%kR$4a4FSPle8>dwmnVpz-D5N#hN|l2_#U5-T^@ zGR7}fUC8Ntc`3t0k68khmo`b?J*@alXU%brjqhtc(pD!buJ8@9IO5)ZtuFLZdEhUZ zxU)Kf;ztFRC(jp|+nLA~@Y^O!=Ik9aE%EAglfr7YSm?ej-EfA#bz=KLSB7izr)d3P zn!N38@x{}3i~JAhe9KsyVQ3ldv@HD>k08U5W5>kVcc}Fl+MWEXp6B}^l$pD7_cL*~ zc|x1daass}Io)?H>+KQ2i%HGzXBSAa3`G^XBbhzpP4J!%KP> zT$rPwaAm&mM42p$OM%nZUcZ$pYWHCGy(y&^I^D)_tijR95;#b_A z!7uw{{g>wl4g@Jr@U8ng`Qq2B4<3J2oS9fHa-m_HXyq;i-*>G11_5osv)blbsz2&~ zI#cG*3zMXjHM`k2{mc3Or0%fb^(*T>TnYWQ`HuQJ*H7zb%Lye$t&Y4rd3XJWU(4BJUQ+l?KhgG`?Dx#v1FL)9Tz%`(y5x-CM6=W{+pThz zT#~DB@>gMd;b^aPB-y|3?5x!RS9}$EPl``r_LrG_tLSO$bj#UGn2$01F3>pK(beJuSezoc(s;@XF6Kl2WvDV!kv(Ici zFt6D>SoO7?NP>=D@AK<(KD@uS+l1@i%JZ3b;-0eqdd!nJ?IQO{>4%%oaQ*oE|Cbey zpXqA?5ltG_FliKk7JEzUdjAWSrmEy ztO?_~V5d&Ip2S=bB%gt@*IjT%G;&E?>~FlSiw zMo(g85@ufRJ-I8kLVvdPtf!ZMpWCrM$L=A^wFJFuPFW50dlVU#{@oMwY$snrl_+oM^(u0AUwQmt zz2PI{>S~4`5ub{cZyEb?EblaU?C?qai`DwCiizoJb!US4GYT&mtv}msTxnIdZ_SDN zYfq0Xt&~a0YW}3h?iHiG?9jByU&?BaZF&Cd>~E*Sx6|(2E!KJX>Db9OgE++Y9x9GQowmuJg>%82ng1h_=O*duKJ7jxIp!q?RyzI;ZSyov!l}BpYkrF%Q z1Mj$P+Uy&_etFFt&9`~%hWEBs-(y+&a8c;1o4X#(>?u&0`<9=T=kLrfVJa4eS-wu| z4jW9HFMjEyLH+g(8J4zFF6?d*k#L{J=c)8jrMTw>+s1vuc`dCMQZ%PV-1#8kCHLfq z$n{HBceM6SKXC3Q`+on9&9~#erl;@({A+mC^U&+n75&{s?rr&TDGkR}jX#II|M6<4 zMze(U^@W?R+cbvORkO?~C_2BkZ0Xj2ngV|Q=Mt6b8y_rDl-ppXaDT^>{hRL?&w0e@ zu{CGc4G9qFso?kY=i1In-{+h@4CTLs(J3)x~Hci<{lUN z@M)-$Q^6T>>IZ=K%tb=j0M&bf{gA~-FNIbWQe;olZ?_T4l3g#p*w&DlTYb^Ecl~ zQ=R86Icf4fi)X5d-|olG>;LpbQTug3SJeB)>df+qZT>g%xEL!J9xhb4SuywIi*p~( zd9S(L`F^L__8;qaX3sRaz_{rz`V@4Q{9ScqI^%);ANCy(&oYhv zqGn6Fpd$-iscwken1 z&TF+#-XGiZ=6~FoBlEI*jCp-OpX^D#eeABnqqRmW(gh#)$L>t3Uuk{Pa7LrFS=`rp5#vGWfFg5%ku1z z1NXPxFJ>-cEU9pu62sk5o;ms0L5cLOO&2oMcdIG$Zm*Sg%XC`!vwc+thv#Mer`i{! zbElu%Ai70^L50`(O}wfIzv(`+>0d4+mx}E33V0pEbI13uPPSCR5(zc7zXu-YSnx>} zpPz8#oEE2n{EnC-2kJPufA6rDZDtBK)H4leKHaK2H(VYt}#z~AKe+?Rq)8~HTPO1x?77uDau`OAM%->I!> ze+y0>I$ZGQz%=PXTOZ}{sd-0M$=ez~*GPRAYBPKOu{-Y%UNJwr%VX<7fjGm)O8%1% zo+P-W+;@2UWsb2!kCt4Ci|8aCy@*xDtM_jBHPQ48o7{tEmJ|3dw!GK)H}}q|O|Bm@ z#o4#!iq3ReB;J_3w6%BERwuLKgw1c6r>@pdyBgS;me(Jo)@_cF z`R-eP8zl38cOE$Ang96XRu-*=%s+g$IyCSXO%Bs&jBL99>FcnEI{e0GR-ox2;MS?fNCq^?D zTQ5H||FVXd9p_%|J5Rq?{2HA>TJa7UdVgvB6l|R+T;zKBCBTo){W^%dnXphlBIUfJyDELTVuh` z12rrUzR!B4DB@yrJ>Zt8ui{(X#^ML7SF^88X$*?Lc0$*M@7A818+j6ygFf?rZ1fH~ z#Tb<8&-Y|WcVy_n*&mdIGIzebar8s?tEuZ(Pg%aI-TK1Tc^6h5dGf_g>ULZ4B<`?Z zRh(>3w;tRz=hJjO_RS&LtKV`Z9J%8$)&J7j{*Fu6kLsrEh`*oS^!YV^RP!U{12=c9 ztY9&Iw%Bbd^V&C&VT}JILRvd_$y_|HE4N0Lo4IP6&|+_?qY+mv=V!6zrYyO>>vr@% zqdb!ycAL+fNsF}d71Y=0y-wfLHS^Tcho|$6%4-Tuzq4LrlX@*svLM4WYt6|c&5AzP zKA!CGYR)**W8da@vDSj~kJ@&T$9Fgu-aVwn`%J;djmPF`+2yc9yOzZp-)Ft<|5bmI zm{L~umyWM%f5t9jrHRm(J;&P=*w^OW?Me$WihGyBh#;V=zhn~nGv(E zMLwLeSKi9?@U{nGirE?q1$xsb3RPEHn||Y-sORwLdH<(*<`a^hTsEJ0;-30CX71CO zory25FuY-&=>B|{%`@>unydzq3@R&?Yo=dq)Vj{kog8>g%jPfpv#Upr9=T`j=B#?2 zUAQ^ES2R{(o7*BkKMM;jVZMJmXI$JEI9;>L_QJ~vF&njWB6962j`w$5V+a)9?j!Jv zFJIxFYZSY_s-Abl`I%=fI;}TaHf2RaSyI#IE2mB4{wzDTrTSQXyZ-4bKQ<@6 z*;lv4AyjMAbGI|gPH?>xe>u_ksbgENe(9IPn>ey6-In_v6fp2&y|=LMyraukx4gr? zTY{}uX+3-)@4aVrLFKw52kST6=l_`+_hMy_rjuR5j>&BDq3=RH8xo!O#iyF+z5ThX zW#PxRZc_vM-6snDj6DuSeA%^L`>^@(_aR#_aQ!izLu?x_qw`q=AHVt8@x6&8(a=Eo)N)4mGkrNb`Q5XKLR}! z)C)JT&s)Ctyjr|*Q%eXRcT0Wr%zeCHZ^#?GnAZBsg$BRtn8}uRj>RS#Pr8 z)KiA@3-lj8o}7MtZj-uE)hUB{+hZ$gwE`y`xo^MO_L0qG|1DP*7jNj_)3o$UXq@_^wN!1%MQ+U@zhbT+CI}@lf=nSB_(QA^Up{7 zY0Z0;#l`mU-GOK$71r+GZQA~f`*xl?W`F*Fn)G~Md(n24z9Wo%tF1SjH@sBve?$^pRjMwqWU$`JJtK+uQk7U;i=ojT=Fe-L)_PWiN7lF8s0Rs$vbpqFZ;87-s+!ZljRd_PA@w6PRQxP2DRSq$K{Q+4!oI5 zK9`={?GWKsAa54#)_%=)VIB(8m{{;J6M{&sT6sq1RTdQM!_{rG3cr5k=-UWJ}E z93h5DTX-HeX(&vWZu%yFIeYOpD~6i~O0Ug#UcYktCUxIfAznR!IR&gUnHefr8T@ma z|9_n;m2^&`!Rk^{$J0h*uY)HOLi5&#_{a!XSJZ2yvNf9+JbxAVvwxrU`paJZQ|>Lz z`MiLk`_`(-U*s!tmgHA3Dqf3O{^kZSa)sJy7s^;+qbYQGC?+BKIhHGE8>ibO24bzS}z!_D&(%&_x}7# zE$gozSj*qs{<`JBKi5my_CGIF7BcPiFR>|~YoEp0lzsO0r=)M?x0u@_!*atj7k3`f z=TXYN*lhiE72B@+pHA7{DcbwfV@nb1?U4TXw--_-&AiLN(G_r3YGuiynaV~J=c#>G ze)Z+3{HAL=e_RLkrx{kz{sC6WkW(J7!5stn{c%JDi@NL4fV|%;$Cs_7PKa}IzV3${) zYaDSb@*}gKIQtyWjsJRMBEGrX)O|4sa|;(<7ZqE++D@i?J z<~;0vV{7qQ;f-2>E6)RkJx5skA0D2@^s;)6(3O0%r@V}>yO|~%?DFj{d9^y^Uj~20 z`&CzCi@!^Me08I=Qjejg zv1R)ure<(;>vuAXwhAb8|GQrwlQ|*T`~HV*KTDbJ2XCBy`myZ7j!;hTdv&!bOt<G+S;#UJEUer}NqxhGf0&9`&!!-T{iGS__< zI26ZjInr3VTtUXk@bVbM7i5?TS1fIDv`J9G`R9sBw{03Ix`AV;5 zPt4yHvi!NxY2$i(cdvpp8|LSa;`6`l-EdRI@6P=N#Tg3?}OwKRaba1Lg-R!bM zqE02zPq}~p)-L?>WtJw7P0vfc6BhP5({@>x2NvHei(hK(6lroQ_*ds1^Y>mS?6>hr ztA$;eR=9Wb#~u+UDr!LTaN#dDRN$UZry3`nSWn9 z8wT9ra_^LB5Kvy>$F=%j#Ejn$eqO)4TJFKzJ^G3Yv5`+@8f!H#XbE@R|C&>?J)Bn} zO?=jT!xgVO5_ES8FKWNF!?--@qE|~;^|`i4mmPVn(@sqIdgB>OKvie_oT3^r>934e zjdgE^c1MfqTy56Rx|3MSHham_+om;*KRzeRygKaK$PnXNd!eqvH;YgGY1^MKA#Ml$ z_=%=ZbG+GUVDonIx2s`?c3gR#9KQTsiRjIOgq>G=zim$4R+saH&EJwI_P?pR*aEF3 zy<2jM1>HKg=Dyq-A54#>(o+JhD@HZqCrg+5Z?oO7=VsnEo_WVE7{;fnrp%P-cklaJq_#7j;hbgY*6RjA;v3y- z3?vO#cKPzXpHjVOGgeGkD6SSoWml?2WCEjGwUE zxc-Hbz)3~sneUn=TWC4;tA;XPtI$bWZS(d{9mo666Y4T9)wBH!KPD0~C08Q5Mri5u z7yH_rZpZ$8x~hCz=jQMSHwSwCYc5$-cC8H8596J%bKaOjEu|p7TyS${giQ}Ppa>khkQ^W7A=8IpF#c(`l)8;>^rrWP6S0Df3dQN}B z!3F2E1lOwR(qpWgvu2^z zh3xk38W~P6ty*yrMwaN?zs{dmy%J(9;h$spO~qiwox-_=+4BW5;u4)d-}@|9an|k0 zr9{m~=Z-vncz?#78V8PgI|r_{PcsyjEv#RgXSVK-gv>o<(U)ycWxIraJwI?$+IPtevNeO$=j*7{G4~%~< z{kfBWlB}c{*G$8R^Rjwd^Y+f!J|nT--e89D&pFXYe7ZREST<-ZzSSaDEwCVDj%+5& zHf_QDBO#~f9&7n(qMUN!sY)Hcf|ceTW)vE|uE?icGV>AWPUIM?00 z>iwCN!{v`-mK;&L8TD-4lP;BCmdrw~y>E60994-{Z)uyn=tS15#M14??NR4{m&SM> zc^6=rz^IszsB%_3CwTwH?LT#OkDpTU`#R;}#=S9I2P8kM`#rzKwCY6inF}1z7k)^W zxYY%}TM%EC&9TJC$i&=e&H3`w2FvLkw>lr?=dHNAaVASwo4ZrDiwl?f;su*eZ;I&s zTz$Jn(^hD~{{wtSt%6ThaGp`TaV+q0_M5BU_?8^I?G=)h@cf_`)9P72?%9{{v1_=$ z)4g!rMcPqOv~g+Mv`jw1#-vxNM{L|?KTruc?p5~u%#vGEf6m-v(qJZd}B={QB+F4M*A+wN8(^<#g7idw;EyGS}Ho{fr=kKQp@4E)kSnDe~dl zndiA72G;G*>aXWViQkru>9$+K$92myrufA5^k>~uTk;!@w@i=S@$ka5*`;aD{ogtJ zIpg_V*2}nY%-cUxZA0w57gC>peGW`(w>f-d&%vyf(Tf+RChpg-{P_HZ*UA3Bb=Th? z=lEc-PjSmEyM2<2SDZg8zi_jjUH;?5nblWLN*%IkechwilLEyPdzK3= z-N9*gB~7l_qwSWHz3*8jo;?$SPh?8$S*Meg@Kj<;cwMBi7MF*;*WnW1g0r*jj;Z^s zc=%+hoy6%$EA}@qEkAy3%8e;k;}}Z?uWn}iJSQ!0v)pCx#1h8c_XBS`EcWH8WHoF( z66WBcIgd@6`@qRJE2b#3GSzBwc~#8IP`8e0_FZ+|FTGeLvuy7~i*N6ezD2j2C4?O_ z;P}?CEj;;!CAXs8uIk@Q`l`=d&7EtYnv!SfWTv~+^OxB^+j~!R-5LH*i~Z#o8+A%< zePB9Y@a@V8cR3fmviz3Md#$$KV)4GHIX-j3l@qjlHD|J*&~>!R4bOZk>cKt1b8#q?O|%B8w472Jnd z*z*IrUe$!8Fh4(XVvY0C>D?^JFX6sdaDf89&d`_bdJL zUsiOj&Q)2g`bll^c8PH3f}_WK6fc&|(cQpNRm^`n;qXCKjuSq&XGQFh;#_&RZQc5> zdjsCB$dUDrOEz9qW7;k|V}9b{4J-0Ds;lb+< zthUFw;>*rw!kyv|zPW6edv0^pQi-@3rT^Ax_i@Uck^FgAuI2UTJu}jLduFz`i~Vi6 zcSOwLr2H45KeyS6*Xe8} z7G+6?QeA^48UB8{HmCT=TF-5h9XCfjnwflQ6O&-nLbbq3A%WP-Wk*_%_w+tW%GjOm zbv?VV@Yvto%fH)~7H{L5z;ey&kqWDvx0l(?RHjV1Bc>u&N_HrYwVy_vbRcmpi`*zg}OEHz(lVs)NO%Dml$|uWdIh zT$P>~ziE0)np)C}hi+G+Z!t{#n=$cC(V4`=kfME)%+8d}c;e#LZ>0RI#Qpuz$ma)j z7rtihd@Q#)!5}+kdZa_@zwVc9Bx|UMb(rB~$m!%($7- zH~)HY^2#dmzo7W^_c9jM0}O@h%Ei}xm2Erekg0n~+r4KCxDylFo^*>tq_I3-+ft23>Wlag4U zU~cdFroTOS@9U1wE;T6^8l_foPF}ih9=Ep8hPv)mo~~SqvU?}AzL=4or^H^yzWi6E z8l#=-e(uc=AFtPZbmzOKwqu}OiW$?NMd|GOXL7Te9qm|sOOqqM;$ix-kFWkl$CzC> z*uArM?JnN`EskiYh4jnZGWy9+_L>$=0oF& zW#24j79CidlrJZ0aQMTrQpPg%5*A0(&Fc<@Jv}Gbeob9$N^MDwnD7-nGt*ZrjvqGM zjt=oDcwgaTaM`PVm%WhDl;p1^9^C%^)(>^~SMj&)KEisfs@8Xnk+8*r?g!rNf7Y$$ z*?-DtRYix#HR1a_hD-FCetwv~-p;81N9+NIO(z%s(l?HjHSD{-;(U(D?p4ZVEB4Pn z&)UK@d746*N$HD;|NmM}|L^iS%ko~QsrSb1#U)$CN_)2Lezr7It$N}9$LFr>Rb6^z ziI#th#Zm$39KWhLOH_Am;d>^_>5wROZrbD0=GCFo{FbKjbgrzN(zwJZf8+9wld1o- zwom@NQsa>0%Jk`m8=cfH?0b->TfXAyyBz*6_t_@v=lVBjyzb!Vm7oDcT)?c1F2I2m@-ApV~3Wm ziru~(P2mKKpMf=bb3f@Y9#k!C_iD&Dj9R_)YWxHybxjSyr^Yu{ou2;gyGGNDz{sl4 zQHSp5t+~OuKl-nd!t#GQ8b#+lo;5uz;f=Vv%yPbH7qi^S)ZqA#2hw*EKgQID+<5$d z%`%H)4DA9@Raew1&c>zk^vQ}HG-ot#_PDzEeUnq{LdN$!49m~&y-}&#D%N2wc;;DG z)dZ%R&pJmhB;Zc{AD8T=cMw_NVr4PfQ|jL%ZXDD^m!MgABn5W;eR02Ej_Oy z_-l8auHipboqxt`>C+Er$sBrI#rF90eV60bANOsSao_c+(%5O$sU~l+4?ixvwtQOl z@^9u7n-iIprb01IcjRaD|GDt;dtvzv^_RT=n=B{f?|ATayTzq{3IR_3n=WE%>dt$ou=*9*sQnwp#dCw7qlVcHo&H zZEYu<#Hn(G@lk8?_a?1xJlp5AaY}qt3HfGoq1jcMck)$*1Fw!w{Lf&z(q6bR;cW8O z!|a^*Kl(Ov9hJG*cUsT?r@qc5}qa{>(phD{kkZ<=iuW zH0&=r$0@wnUc2QdH0D}foVz~|D|x{T1QzuU7LQ-a=v5w_tGO1pU$n+4}W%d6WixspFLjZ zPRiKKKEYtJ$N_aOKi!3AXa0#)^L%h`uauXP&nY1dwgh>{#S3;d_vErS-+c4x{8XtG zPs%=4s;t%DG&}3d|Lw(hUe4=XxOL@`pA0foA7lsNVZ>h@m9?Z=bfk#A=5n zzGqjjJulg>dcI0C>dyC>MQ@is(3;1;w0_lp^=oS+cFkxpye?k<``V$3#_Cxct65gK zb$sj6*GO(|m(E}2BwBv@{lbzLj(eK3{f*{F=D*^!SutB{O5d4BDL$(w&H5YVedl3g zr^CPh+3vf-djDuU3Eliq^w5AgC(ZUh&;48Gn<5$|*YcWlGG9B-CT3Gu_GIOc{ziVb zdC!<_P5*!R&||NDO?2N}VNtcyEWP9#5che-^2FOr&gBe?S2!q{a_bu>uQb2c6Fb{C?kcn7 zjO?U*MQyh)U-wQmmPnB_6;v${n09;KjZ%*G%d)FJw4Ao=d$X{^{)>-Wx%0P6x-0t4 zD}GL!yfCls;by+~*2`zq^M>pb$h>f9eo>pz#aqkHvkDxr3bS6WcKth--cj}+yYB4x zK7GdHjRN|CdsKYh{hK*GDshGM!+dJDPP~KV^P(|W9tX!xfnYBmL2=4 z!(e{(`MXzgV&Q8yteAS*>IuIY$HAG({6!PJxy^lgURHT_>@i9Cv}1SBuJvF3t0_m` zR_$2j_QJ@a&U4K_W%H}o668Lq_5a-Y`Eh5*q?W3Pi(g%HR|kBVywtLzmG5<}*re`9 z%3JmZ@^U-6%=GfIJ|Ak$-yLzkVe{^JGSP1>Jf@4~nI2orZ2tU}|J*y_dp>V!p4^t* z9{Ym->@E@IlP`izANa3My~nU2(ekMC>%|qCMtmiA*YQ;<)nv*ZOso8`ZvM|2hrn}3 zHi{+%F0JoZa`kTe{b|vM=Qc-fKUop**Yt|5M67e!J*7qKw9k2N&<+XrR}k4{dvryU ziAeaNb-Y(tFA98GGI{H7pA`L%3iG~YT{GXq#Czh`5$n|pa~CeR5$s4&{QCaiqc{2q zI|F-qk1m_^VBMo~hxC;hPY;Ir3VBXVeBe9h6ZgN*yrIh?o@L(+=$CzX>C^kB4~L?{ zIcz@n1vRRv`}Cd9H;GbxJfX1Vl*JtbuH~g6PZD1g{VzWw_;ZKk6y2Ru556gu`IJYt z!plkRYVN%=&Uwq+jyv_czW-9puCiqI^_;lnX9OkJDay|&cQkN zf*E8rn`Jb7xr3J;yQZLT#FvqE>IVCvuSEryi^3P)58^s_;nj|3H|83$9~L_nUaMqK z|LW5dOHRv0yX4(h|DJ8d{!H=YqVCc?Z<2Tg&5DmJ&G(YsDwN%`zu7-*ZSte(%;}3< zUYd8G`?kR6h6%%iyFb>8xSq;xTfv^2@jv)k@5F2&)5(__+%!c_Ne}dc2a$E`PaizdEcMGA9PRqX)-Sx(~A%6v43Y9X`>@~Z7yqKT$s`L1}l~37bwpnjvPI6Mb(SOl6+R(M5Zi;}wEcI_s)7ZZ` zsFcXQJowf5QnK;#>z7yrngYJxxqgsCBEE9E@>ly)|8JJx>$=mkvw7p&FP=w)Cnnxv z75kL%$@K0cX2BI(g2U}2PVaf?bM4IA#OHBu{;BsCJ*cxiEg-sB?)Q>Q{;g|*94@3- zWE9MJ8gO`Cv#QKh_x-KAKi#vpef(B6lxxFPlcfu%J8fPe)*5}Sex`*4>v@Kw`Z~|& zX}z`GR4%*mCgb~)9hWC9GVM@#UbI}S=)MGt^on$L-TP}oH*A>8xm51z-wm#KQn53`qY}jXXTzQ^>bY# zjkr30{=9U`>vurHPi6+~i|uPIrJr?PVz7^#=D4)+zRVN$DuXW_W_@p8GfHiAniV5^ zv4Kl(^4ZC*EQb0AlxN6yscKJGTyZV*^~C$kt*sV!e>VqSmtWs^U$WJD!Znpk+?#g$ z%l(k7ao?{P+hJoOzsXm0s;OZQgGblYm#=oum%b3Q^NiEGvepNCgKju~Qms$233GGL z%dTnqn5t@4Q@-c(zL(+qUi!)D6{`o&b&UvdJ2$CsPTpsh(xs-dg&qId&TxJ2oyuV`}e7zN*PK8({;<5HYdm3Fw_5`HRI#SU$gui z7Tzkh@YY=M`Op6qTc2p2uH6@Od+T8J{H&hWD^~vfdH+QVLyBMizLoQ1kIH*UfAf9D^V@XYyREBk{7YKD zg!x$S;w_h5S#Fj6IL%=kH|@HcLCvA!7gwHMp50*J5d7@m4W0f6f_k^YXFap3ec#d0 z;CV6ZrtM-Ij-YSP{Lan4k!d@-<%X3;)$fp0&pFPvZ+(qSjL+@Y_&j0ddb^_7(5lu; zXPZ>J1a18G-kzKhEjLYy^|7_e`@hn6A8gI4tB;9y=ha~KXuNoD(i;0!Ax*(?6L)+* z{b+6LeaTy5FI#h447i&FW?GhqyD~bqFO^BKp5$p2wsPl-mLE(R<%LJWRQX?Qo>A!= zcI30rl%1y@f4_GBRjdBZ70a8ZPQJtJT=qwJduHE+P45p*l1-iK)2pjozwe3t?BYLn zywpEf+^9+39Z& zFfeU-R~Pi@Oyfcuk;o~{tFso^cSr0ic6QwNRa!hG{ny=9!et?>-z;a5=vYim7A^G-YeJ+Z8tqi1>6=~|~YMVFZBggJ-3>^zfa+!QbC2yZ&ON$TtFXCgn! zB}7>MES(e4u68_Ro%DRqdk;6C{kCYqtODioxuTXVdy}s7Pqu!?UiO=pyX3U-o1mw2 zmYnFJ|Lx25rD_I}W z78@P!adtr_lYvygLH^E^(qi-8yd~DnAv(*PRwqojxBkuVd#5D0?;1HWG_Jfk{TshW zRHn^Fj;%d!I{$IV&AxQXyXH`0SJ(7Z!ZgLgVjbHk#dU4(k7CdMo_Z z#&`O0(>3&THf((QCx%n2cIwlKduzgvFz-D7>wxOE<62CH#(Nme7k)lkv3!?l!<2-y z13S&vzPeacx#<7?8M=QuEe=0++C1y-tNBdZ4qBLO>z7c|y0}3l`_ejJ{u_)(FFvoX zH(&W6;}S>L?!_S&4XTbDT<@K_`g5MMn?q3g((BWmPv>h@uods_oYd!+xNT{3n(UI& z)ipMeS_ktZSr2?zd7wb5)TZ*q!CPger((iypKAU5WXf_emK)8VBe?vz-5Pc-_kMP^ z=5SGd4sZL<3$_R6RZVy`Ia+Vil!v`{ZF{c!^0IMvrXAb#_f*8r`FitTm?^T#RD6hC z)U44E9_;^9{Nu8RASP^#KDQ)#b?nZyzeXFO)Ec+LE+H!~H8`)2i z592N@QrjGVf1<3~C%*EjEgV*E1qn;oI&Lr8{O`2pMAi!zrio9nJHe~kcjklc$GV?C zQW!VnEXz3-!XffH!{fZ}#mGt1 zpO`q~;q>rXY0dK&tl{5OU+HuGLj+sfv=^RkwzXn=zQwQ7N@!ZTJ9mX7o6Daw&lb&5 z_s)4b>%q5}dozB>r??vjPL$AamG``_bhEa9%~HN|2Pdr*+iQEgcZJZ5S3K@ozm)DN z`ONwdXr;F0*mljpe;@TUTjf`)%xXNm;=Vza1Iz5-XbuU#$5OsK(xsaIA9___@tr+c zRW84*?3b8$K3n&Ze;*lSCf2q09~SGKc{`}+(7R@tAcmY0S6b zWc-0kE1dH3GV)`lq&TR(KD)fc_>YfA-Nci%amu^qTFsjtzPR&l{Hb}H>H8nv{kpt<^D6JIs^IHxo4(D6{IRLj zO)gT>@V{U7!nfndFhvxN(;XfG9I74 zIqCB8cOTaL&{0=j>uhzSURLv1$``Fq4Qfly8BKoteC@*J$^0qV0@ay31=Aks{YhAt z?7*?d`lESv!^AZyb%nV_|EpTO(sK2GckDR-&zN&(jnXTwolB*+)|PK+UQk%B{`A_3 zJtAthyWGAN{}jw!&L|nFdS}j+{|xq<)~l1gY#Me zd#m>CaJYQ*>h;>xO~+O{%wE_q`C044uC*st7kzwjzR+(+W)x5DUMbHCzPAb|tdrkK zWU-yh6xg|oqagJ~$th{C_Q>9@_s*y988^11oi{xodCzF?_LZ89Ta+dko4$MP#F_G095$w+zGwKu_JywJj6Pv6 ztt1(wlklMR@WKzbfBZP0d+`6&ckGoM%srpWpZO_fST?dPQg=*9x~_2c_^cf}PH?}A zXJum6{JVD1`!drNZ#T?Yy7X^zdW2v5hqGC?y^qXEy1ihVUd17yv(_D@vQ-~*L-@^g z=U0ByxV9@}o<(Z(71=xSK{a743HMTuPqvw@thgm--aF>^R%@fTKiOb^FwW}A^WH5+ zPJ3tja%^Af`t7WW>l0sN3rC9w{~~RkPuQ3c|6}*c)v_}mu!(v~cHG*+v*Q3C<2J_p z&AK-`Z;LRfS-Vw*>$y*S_S9Z+v1N|seDgZCGcWjVvuxq!yEizukCWu`rPT+S zt5*N=#h!|czuu<7&wKkqZoDgfBlX@tRr>SpgN_EXBBk$K5ATzF`0v8utv49n9^Ref z>l0)$X-Tkg;N603&*>++GSBOZ-nq6YYn%M}g9j#N)!*!VxjI>o!@v5>^`f9JQ8Rz| zDs#PGm8QRP?b_+HmK>NWVwJFPg4vn`-L0#>ZF{=0vz3!gY=Dy)}3@$xjxzLSFXO?tSN72D+lFFPG_h;Kc(#Q;RVYCxCN$NnmX%**Lt5l7ys`(w?xzO z`fHK-)2_P4_dJW~P>a2lVbge9aOKTiM<;!@+oN+{t?Oya?9z}A6QV=fHS-ocQYq?Q zV!O}LR_E2@Q_as$H3sKa2bn~tulerix6k@N-@BdrQf8;V3ys?vs=Hz73vSkBot!y# zOg~N^RSv)YJ?fDEyO-gO`(>xT_V}3Dgma=q!(GLD$Z zzGH2A(Nq#H8}{eHAW1AEj+fsrvh=Kg(a2WxvwHB>_{Hrux0zk~ERwRHIsI`P_>)uSRTN ze+&3`RYUSe zTJ`yBAGX)TH7uX|)NFHYrCK-dcOlN*T&rrl_lO#vD+upSGfg+O4ag8N?s@fkYNh>( zL&nP%^Ek>)oHRR#pIiBQ_2=yVWo^|T8~C2&Oq$-2X)Bp6UYDw{AY38f`cwUzGq$h% zlCkso)8{khe#uU_ayGanSu*g5Z69ObmhBtZ>Wb>_osC@mDA>gR(N&Y}_giM&4dJq^ z*meI^`0^Es{+cILa($#z9n&mlt!|0>;_mOqdq!h{)Y%>XJm2+rikny;lJt^V6#u$$ zTbInm``ofKX8h7KY55*|z3>X-i!J;NE$xy*lc)T@a#Z#Bok`)z=T@$)+_dB;K@?PfbulW+4>%0%n{Bh@3>~ozN8V2H#$6{{2d-3gWvHXvC)@>6i9`Es)vhC-Y zKj;1>t&#b!y6K@C`=X2G6$g`leA$~2#v{G^Iq%nBaUHVir&msVx+*#KG4qq>-_|AU zyX>}Z(k|KMOA>1NcK=sw$=ck?JL7(ZM*{bM^#?io(>!&4Z}_9BSyf}@F6y2C=;?~x zZ1+6vx;K>UO?=#5**xK3qDNb+owF~ekLHHV_i@2;nWuP{{JZ;ULdB}-?ekigW9HVs z+44m$d1>L#=s72f>JDvjFH`Cci*$d|cc!TS0%AYJ*4AEYk<69)Dea~&H)GvS zp>tba?b~&I?t;xd=>?ue)vaoYBDbSf+pYL}W{T;Z{Ku&bh7G)Lg=SQ>2$-&tSAMad zSMmAbykpCMeaz8H){}Yng?qZF^+Z>bxzpb>2z_4hOzS%9JeHi)W~pyV8N3Tpt#&#b zepCJKY;EP@z(ei_qOG>=zU*5Sb9G0?1J{pR_I@h79(ufY`4cVnG_kbrBJVqeHZ|Oh z$jhjcUA3RBCHkbG>@<1(^YW*j8Y%ea1+bfJcCpVx)iH#;O*S82?fYns2v z?n@M>WBv|uF@HEp_nvd{ZDHjmtk*VR4wG+qCl@KRD(UrCLnb_T<0) z@QeF!(qH1}>5;AH5Y!Wb3(OHB1iMnhzj*)`^andh{!AFfFs8RXq zUHQ^|TOVv(Z1T`U_TS+zcG8EwE`1)Zb+GoNjiBV*Hm)fhpSQnOyW62rI{8hVU;cyM zj}Di1zdoWQYk#Q4E%Fpsc*if5t@eAvyPg&Ts)bzYT-V+iaDtT zH=oxOn&-U#`;D#Agzd(QHSs&9`o3%v-Sm08p-E%%?US~g++$_%c=3s0(~&rMR8-LCg#Z=K`Cg7{^7 zA0*s5ySazgsKQxCJh<<1&k?2tW&2)Ryx!QIwZb7+3a-0^ZA=n{;Gt zq^;tM3*WPN#gFF*$6Y@f>5zVDVspGY$EM?dcqTt8o3 zwao7JBb#SS6(`!VFX`MiU;F$6zf&LM)0X)@X3lt(pry0kRpM_PbCX->%!MYiZmPX* zdwxhlc*U{*&Fua>QzKiH}8ikU)WSRr(OCHjJIFPu}$aOz1jI@ z_w8uQY0tjhW7EI3L{-FMa?!`I3(>1&qE9c`-+$!L>^QfhK7PClm5%@2;Je{8sYF24x9OI zgO`QR)kG2)%tRwZPH^dMlXAZ4wKF4blZ<=K(N>jUv5R_>KYr|UvZblU(e}}wwUjzyhGAUe&zC` zi|n3mmHB(_^^DscMkd+4&la0SGr0NsM&9```Po@3OXaXb3oEphrk=Gvd%3velitGm z2Z@S7YTv)FuW)edKD@D%dC{87G4t&0d~SsPv1C>Eo7baf^5YKMqkx9RCKXBU%g+0rz8|4*W?R<& zGc!`}SbceVaJrVWgItdPeLtq@5~6X!a$Gy9TA)9KU9y9%T%iRQcnZZE7{n7dYqS52T!)vEtIlZt|9l^e(ZH6Q*P3UspGKHqasOfmDN-k0Pi zvmKjc-$-P|haLT7l_#*p#&VH=b=5Bip=izr+g^rWb?yIn>yp`_-kb!%uDuU@_CKGU z{#~z5RyZQ>gwYJA=8Tgc&Fc3HJiqf<+f>>0uUM9*-#O!G)yAb8=l6d9tJR&oZymSH z3!!Tl50})<`tx?W%pdDH-xdaLv^4m;ZjV=#A4iha(yea~KYV?Af#fRT7FS^eC*Z8~XoSw3SU(B1v zpYHe8&$thM)p7CL>5ej&KGG{Jyt&y>`PBa0(!1befCC6^w)=NK`qAYtEDd-YFtPERjw zw0n}ru`8_hYt2*!mG`oC*N!+%`y&5*FN5qVrInp`?B+jsH;W;r`QpE`mfFW>+>-e4 zAo1L}4=}_o>aM_v{O{HP-q%k>|tX zp4HeNI1}dMnPMTQZS?8U;VgH?vo&678CGYPwYJH-1;_z=#gZ1~FtdcYo zSKG->W2;cO&i;4i&OLSi`wxl!ziMsjV`<=DbbQ7E6Zs2I8Kq-vSsrY;x@UIG)?Mx% zuRCfxOje#ex@`ZI_E!$?ezu*HGukm{!{k? z-y2&V{8aYRl=znHmYOV9?b*W0OE`ATls5M`zwtr!|<8g-bo2@+~nsaXPtNe_Nk!_(GQ*S@sb%^S-hjjo!1pwy(cM z_#DgX;*C?I>w`~PzV`0xZSgyu?b^q&x;}W(*QK=wT3q<$RHB4@<*jyj`>m;X@NC_z zO6^AN%ij$=?tY2!S)sH4n!m%IxpMnnt>S8x%9Gx+N>a|-T{PQmnLm49&IEUteaT*I#6t=%qNRHZMtKv(e+47i^WnvsDFMa*^dClT5cBbev?k=x)%#OIh|zyPMfBFnLCF z23`|cHB*IW#W!>ol8ELmF!*<$teGa&?N7KqW{M^US70iJC4DRoXjWJAJEC>s<3h-y#?L*d%MFrtYZ=&%{oUOijES zdR<~*4|y5y}~+w>1f95I_C`u?`P zf^ChKir%~9=6MHfr|8yo2u7%3j%G@tB@#Wk;w`KKmZ`q5dy^ZIb`NR^e zF!Ao0G3yU3s!5N2&Fyv*OW1U_ zwA_Pprqf!nIf|bGd>2_Y80`PuzhK^-Q+>9A6CU1Lx4dR=@=BXf9dnl?`<6H7_G#)& zU_QsqvGhzEqtm*p;Th@f`?qXKx%J6jeR}W4EMCU`atU4Ag~r<)<~}V}Z}Crj(D>0? z?EJ6EsT<8cPj!5~lKtDZy!@c)HIvmf!+!fso%z%1S$!cBGpA&mwmnBip3%kaQC}A3 z+!9$JwyWRe&Y!3yUro0vB{EO>!g7mm&k>btPdFFo7X+UXc_lfuU)(RN@*|7og4*wa zffjEK3%2*XJ-TyW%W<9eX5}eH4Q)1Fp@Lnd$DY-s%WSG{?(}7H&xlkzd|gk{QgBt# z!?_1@U+UJL;9LAx?ERU*KQ6z{3+z+gB(pgrG5j4zf>N5>8to_RBR_cWmzQ*&Q_bSx z9J=VW-;DEj_ct6od#rtVG=EarsiQv++<8*{vr=n@t664YgzB!XY|I7Hg%){Mrk_$p zJ1?Aw|ll>X;`^W1d- zwj~^QE;{Y`IxQ^Wm8I_dMaTBDb9~tUuRnM5Q{mpvJR$7z8@JjU9lrlxz;ETEG6^Q*FwczwP&!*mHV9#KZ`PrM_NkV-E(MWpmZGcTnX^LAZ`-HO+m~LM^ho8&wd>oq$;xodyQW~Vpzv^XNk>Mv_jUu8x(`YX&NsH) zQ0|=&UifJ5{k=*_!o_;G3uh$kZBI-49bxR|!YlKqTJq(rebagvBfo8&Tx8MJ63zCs zJ9G23m3)%B6(Y1d?%VH6KJC2x$F4P{X3?{bNS@g2v%IlOZOW3IvstEpg4a(u#Mbdm zKg;9LulW<2-)T)&irRMhQP88#>BoxNZrC;NZn~kux_V)J_to%yJ}1{+C@~YeDSX>X z)%y%b zrwp5CeRtc|B)7lf9P83co{VRncn0J|ME8hwWidb5)z`Q?{P}{5ZQffnvMc6>y*QRH zR9-yyb-n9cPyX|Il8fh7WAIwwvbx$s$)XU)$XKSy-RN79PsltQ+_EQ8a!v(#<%W|)@)8TTE!*qc>|9<`aSxbMKtgpZHyZ?vhLcT>CUVdJ}*mWi4eYLVr6i3&- z9X`KTetolln(oCJOAFHL?)}eZXVeQ^mBM;t7sr9@3*sRPN3ZF`ZC?4aYtvM9S+;qn z+BHlh&$&I%`oEiLd&-u7P3L0xD^GFxZr|b``7l=cvfvMkDPNCVFLlw_J24#VJhLe= z^UM|~_kK)R-ElQgD?hYOQ+t}niifFxUWb$!yRXeEg#NYD z`ME{^@HZ3AMF*s=c-KxznY22$+c_!6Z{Z$pjylJgs~-KS?`7@l?CYsq9mfZby6S$& zIO=hZ$u0X+F2}j|R|w_a^yAFgP;xN4H|J+wm9bXF_K1()WHz%+dj2ol=>Qiyv!GY2 z_l?%x7Z-gsnjVKQ^wt*%aer3v{7f`w|FwNJ6@@(4UQ4dih%na3dt=INcl+A5{kzUC zKOS^k4i1a4lX)B=R?xcEY1BkHs5YZO8KyxnINJsfv z@y1_&)TDb>9P6-)S8@ufdmZ@fdehQ5K{H>>dZY4t@j}CQx8u&2E;3-#H1>`?H&y-k zdw;H%HtCgzwQV+b9MiYrvtM_raNROV`Dp^RSsK-aufD{Xr?_2U%1QiEu+Agz!kRqu z4-OLM6H3JP+?p+{!+3+gHC;pS$B)dH_B$ip{L1dHU2U%PqHEFq85W;DoVZ+jA%9X|d``M! z?YreR_a>S|L?yYt)YiA0SHS(B7HPCMKZ<5K$S%ca2Hgv|JqwwP;oPpjsu zVD77a+rBT%+NBWD(Ad|ryL0myy_N*ADOrr$p0PYAYkuUV_DT5r`Yo?4{f|tYrRTof zivQWXWM#dl^Vj9Si0hs|@tbdD?WAW#+yCks{Z;(Jf5G>zvLul6R=}DWA$+Ezdl0Ln~|6q=(g4v-(RI7F?E+ zdTp^Q|3fb0j@|p0_6oS1TH^fVuNZI8p1sja6qc~seAf@$SN=-7?d#2;wiYFoy=%-h z-%M$m|9;Di)XFa{`}byOi+#~=eE(#!>8+Q4j+Q;y@;f^3M$)gCJ!h}m+tn|K-mRtk z-r8`LNvp-$xPJM5gM{g7ALfY3{1yIwZ2igb#;yGiLZ_Z7Xp8irH@9esC4H^6U*Z$1QSTgnJl?fZ> z9eokNm?84r;{NfM)AmoA&Xd1pj`_n4fB!ySzU|&qpN;#AA8NC_{(WBORfJY%zgO~w z$mYx&(kv2o2Gu22KO{Lf3QyL*w%z+c=K3q?&QtGYbMDJ2J|%bm4*$}qZJQ>~xqQ?9 zNAA?u2UX6S7e{D#c5a`O#lGl#^TGUrTe^IUiss55SfeX_GBnU?pWCn7N1iQS61BXf zQBT`VDs&aw)0&;`b%|RIYovu(Y9s4kBnP`&Ms8);zr$&Qt&2?d2hZ>$C$jfAUEbaL z%kAww-!Nu-#}|2@G?gaz#quVotgSM>9WTwr_pRxef9*W^=3h(JS_Vi2{n{|cR(TbD8Ox zTK?R#OD=J43sw)dTQkFZ$7Ivr0avRFrm?wah8@@Pyy7?0t>KvBF?anV(KixKK4Z~J zW>zx`+{1Bm#1f5 zHM7x;2st0!{!}cfLv)EzeoA?I?4E2FV}oZ^+aE67cPqQ?`~s)tCpoR-pZ{*_dFbo> zVnzF3zcUB&3_jlR+PUGDpytK6BP~T2&TMZg`*1>aS?1sH8adXqHm5hbpZ;(A^sXrW z+kZ=D%SS(63C>y0d#J21D@^;W$FJG*vyVhaExNz#s&m;lpC?)mK5|~&wBxns^UsU7 zNPTu(^ZaO{|GkNItquMg;vxzUZYl3GJ2iE}gnd2NjL+PXk^AvXzvSHa6+Vp5kA=J| zu5n)V;D&n9wu&e3PVyeDKK09>WmU$!NV)12+#he85J=0Of6&Z9zU8dZryI=ICaM-$ ziazz|PYf zeN}UVr{Au&yx+fWZR6G($2rRHY-swLA{;K;I9qc|l-S2+QK3x*>n1Bt|GV^ilt64> zK-=H4Kk|EGm;C5Dce+zZ?d>Vv;M|AjBUTh`*g9)=+Qiw5EZ<-Gr^W7URCLK=iGiDy zUbOOlVIGy`$5%ejREQU{EULUUMkCLJ%jhB ziU>g)*Z12Cb3GruRowHBiMeaimUt>N(P&^voWF!`)^VrD+#AkEt@=BcCGuNjqrt}$A}VcWlm2gz z@nOzmxEy+5>-Csmy}+_ZFD|R*Eut?9d-1BU> z6xtUCcP-RV{GVu$?Wy(PQn+m2qo+aT^~UGAD=hCSS4qwBjhxv1x@WSD`;oQ2kpb0p zQ8pjlF9&>)RQi*Vu`b~KQpZ)U5`5(h=H}m`LocS}j&m;?c54&&5p5E;H zH7aoD=S_Pn<^>-yTXuhoT1NjjhiUZ--ppFpP@?s&D{G(C(i?^o-YKlBKb_%I{^>;G zhQ(j+nosnZ8oG!1?EF8m+Ga*~^mOL@`rs?8@$0}d`{|V*udeOO`VhL}<)4UY8xmue zG&-)D$KKc^yqszJja7#CwWNBxqh5UaV`L)w!E@1f(`v?;S*LpDO%E%JsQSer7P2|3 zWJW=b^FjXSMyz?p+f#q4MSBNm1w30}cS?WKw^gl6+Yj1U#oXLJ=Yih|i||jTc4yXj zK3Cwj=1|l0s8;g%@ z2$a4p@vZq>!p}r+ucmILE}5pYuT|4BzkO-0%PF*Bwyz8NcBX3jBM!NzGi&xucTml& zJ6j>^HtBd~MN6SYW#t2okMo?^qjpYvIdS1v+qymO&zl~yU14TU3w>XD{N-Ba`gs@6 z%Kw|9lO^&`THY@A;N|cWDqeTWEG%p*o76r%`0X;g`^^)hHLeRj_%3PE$PcgcTsLvu zoion1e11%}6&&fzQ&sjJQ(aJzv3Jhdx*6RH|2O~co*~%b;Oua>b#-#^;t9nqjH^A2 z|Exd0f`L~&G@LIzcj|kU@KcLF-xfS(`0DH*p{T3;VM)U2Kdh(RnzkfZf893mw}S>2jkR2%UIn2wuIFZ1zrB^)C$V+zYL@@g*(Y2!WjYqEaJIVKcxKkWFY-}~SHeRYt_v1j48g33cS2biy32=Bh_YxU%}{yLcg_i_>4 z#1{f=kAE-}t23^e_c^FmnR`|}vwYF{s}m1zhzQ>Gc4I3?)3sNOMdy6a)fYxyw3j+@ zecid3MV4UF5#_~1tR&k0CwoJbu`g+zP+hvcg=hoPMbh4ki zRZD%XPrAR4^`Ql;r!W;f_etpXDLJ=~MJ*tYclOxrnDTLQnYRlFJ4aB^-xPqA&s&-D{_Zjf(e zlAo{N`{v>K)c41XZA4i2i$6>|c4gAtJ9lI^o_%-vm#@i0;|?b`+tXVoZ(FBackHcf zXcYgg2a{)9S@W{b<=`!mosOr!IjXhGy*KA#n-=<_`jml9$V2m;%)fFREne|GI8|}| zcCTplI_U@vr{zk8(jS>6zHK(WIpg=r2i|UMwaOR!vOJ%C>%L)?f5w~lR_V1Vm)Cd9 zQc*v|5H%%US7XJ#7^!KY?tee5bKZIKiJFbVw47bp=2Htlcm574{JhgW|FBPD+pPI! z9>u(Ee68+9OKfj0JDwGpGGX_piw1^A-oBYP_uvOB%O|s^SlQ=U)}Le5^I_`gcx3cM zw7@~(#3FUpEkQH8WKJ{9wv4p8W3?{1UA*n0%l=1Ai;r8sGFfzMlIG7Ba=*(qf6w;+ zx$H=qFqgSfr}DE8aVONu{|HaCTfR}|n#CO9Z%^z}=QdAGIT2FwJ-+X1&7{jlryH_- zWUloeQ9q;bWYO6U?~0k8Zal%ojvrUG>~}tudGD#e!Fa3 zSY)(Jy88A9Jp6H2)9+rDX`BA$bbEC&_pXfR^UpojoW}FraqT6~e499@zj;+k@oKGq z_I`V_<)&n9>-&EXkG>DvtDLY*?N@F7mkT#lE*yStXPb5~FT&`qw`k&l8Q+-}got|u zRDJtn@4cd>&+d>x?&ap-8zn1@LOfTmKc=Hzf5h?6WAXXQ+l^OGXMQ)`nA_USMmmqf zkGF6810VI90dv1pA9-5Izx_v`__Lo+8&V#M(D}E zr+ZiZ%1~kEoFI1n`(1==p^y>)zM+PMZDy zFQZMF^5@=inci*POcqBcE&S`(>A}A0`80#v9{)FCw`PiDE^2)2`OvTP+FzYlh4pLR z&0=46YdzNowOwcJ?sMH~O`2vlyL;K~BFA+#;di|IO+J?y?|*yzR+w94(b3&TRa>|8 zi8r3_d6BEke{*WCZ}c8LCLx8$XQ_qT?`sV;TUd86xKB%M5G!Q19jHM{}ILiaaw zt?gK`e|u+b(Cy?u^&&oJ^DbPz=N#h}u&w3DwDKu`*?ez4J5*cb8Y^5hZ@b?6ho_mQ zbk@wfwrrnVjAOt)(H7YgTNnP3&(4glSz!NL=81vV|09*{uO@b@b;i1$c=9TBbw|d; z8s~?Cp95WZteo@Rf_fsR-|ca|=&V!y=bQCP0d`SA)-K<4M;)ISt*2d~_inNYh5CIx zYsi1$g20uTANyW=-}o9NQu6fV6b-h|zb#&F6z+X2w{7Y@9+6|`jh~r(l`ea8(kwSz zBdnVL>CE=YQw(;j?7rzyDZ7|c$x^Lmt?Dh;($6Jdwo5#a>+?H< zTig!o1+4Ah-t<~VLR8C5hbiw){!{ay|1YXeyin$v{dnC9J`w3m&sT0q= z{zXg*eCw_&opep*!1T5~+w~@y=8GAY^Q?JerM>Fn*>YX}n!mfwoMpJRQ94RlpG!HR ztcR=V{(Z)cs>T1m5Z_~Hr+s?kx76?}JFhsi&uPw*bS%5>qipNA z<81P~6>m%Ze%}rgX#4e`_vqKwPaJb}gw1A6o0E2U-)|$g1f#H>EZx5wOe)Q5uHRb8 zGuia?2`Prv=MJ!_{L(fso3N+a;NG>{&$$bZ-Y=C@ndf0>`M&p3{dE49SrrpEF1*{l z{8q#2ldc+;kDFFb{&^;%S3_R1`+xq2U-3Umx-^WQMm#kZ&E@Srv(4GF)icC!qvKs) zF%zp&HtULajnk*8{rvZFNBHN$k7dggRj18j`?SyGsOPZ~$vysW9wuDx{PAF=xxL2e z1@~OueVE>EVhXAOVYFY~Z;omtKy0rRCN-yK-ry6jQ7{E`yKXFB8)jc@3Zg8+xaPJF{L} zZO4YcIic=bf7d*{ma?Jhw~a>jA!CKMIYw*l-*wZj(q*5p;KjmTRJa{{x4SUO`jVri&8y5D2D$%6m@|iKVs>dkjVDsw*Ojl|13OT zo?-pR_=LAlT;)6gZCewoqKwe!jI(_L^8(DyGJNEho8l-XsZt$!V_&OF-@&ez=Cyz1 z-+CO=STegMdFsb<>0ia_H>JLWR2kU`C|of6?3=fKxq!`NgMBkTueeaM>}TGqb=PlP z54CyF$S6Il`TjRSS9bfnUA%&GdbpbUUgh7;nIY9tb@q0;ai8$C=Lai3u|;;>I2Rdt z)oWSq*Aml@F3V*y_TJI=(fI$t(8y@rpAh5UtO6RzYSpqL(Yi;Z{e_PG3f}T8c#Wc2 z&!2@q&+F`eayvWakY4oFxYLP(_kJ{Wu|D3E9k=bgolN|nBe`~mm6gA2|9>p~#ru>_ zt|!m0f1Dp{(-3vt{KNi9X+bp^leGh-o<#;eeXjldeL3HaBP(i55&~;I>)4rhY)I&? zNqIf%%RF)O+lT)}KPwk{9lY27`D?S)#|}JZb=msi4*w^)<9_q=f7xc`Slx9#6;@EY z&WS9pxqK@6+nnoXu0GA@3D=CCdb`R+e5@4(go*#|$2#jx7J;F^iJn|q20gJ_m9tXsN16V^TGV! z_P%6IrVh86B2Br*izXT$n-j#af4_z00mJ&uoTBwdCoL1)oMD|2fBwbc0FGTpWVHlh ze9s(vyEl4Y=k9mw`b~rS_ymlM^drkEs}{^Ji(*>5>AIYph}z@7OKYCa*?+z?Vu_*j zVu^1}J6A4qy0YwvwE2}277FPH4{$m*KQuVO_;%+W$J>`@DaDkPPkMjn$Bj=}>s+4Q zSyB30;HP=y@)ND6Pi{@fS(eT@<1|A@@hy?MSZTxmGL|YAAMa&bf>P%ydQ;TfA(z+!p`jVGoK*<-)S39bt zi*jBW)E%>k4(R58$gYy)l*noQ<>L8eDKl=|U1)uB*U{VhCwCp~XEj-NW&e%WLKPG2 zh3yVkhxTT?w9RDL^ZRaW=LehpvnQ!XOW%}zcE{>fu(f~dj{VF1<|h~bevrf6w!i9* ze87v^J8!twaFtFL;qmG=Neye_KcKDtUHXvAvKXDqd7*!<&u{a0_#y3m^}OmvJ&|W0 zCo@lTcUsyeeWjZ7z4~GHc#cbZpZ^J8xc!~fV~d6I?rGcdUR;}*tLVxY`0^fisBTjz zla688R~zrGd+*-zb$xKJEVD>7yh}H})kSK@ws^LrJyRruI`iWgIo4)u-Fkrkf9R&F zFMGJRr5{u43Y(_&dH=)(Gk;szeZDZAO(^uzclD&F=~v~WcITe|UHkHG!_}6pbxO)rB4uiV_&TJ)boAQ>P z>0Ccmz4Gj@i+`@i9yr~&J+y_D`HiOHTkHFq=B)UmaAN9-n2!Z>_cO}W8a{u0X7Boa z^M#n#ME#Cdll~SI^M279>8LdMR_Dp*gd8@^S6nse-r6U34(8X; zMk>dSq`i#(|Ie3T3l}K~r!0b=dVDT6XZjr9E4gm8|*5@6*(BukVMmh~mbA zc!@WR*(#f|N*|s2GtFD+>MozN`vZLCGK*%~p4$<}d7dwGapyT+W`9Rt;}t?By|3Ah zm#(omb9-sTl^9X)lU46!N*UfBcRyzM)6o2mz3hR9Qtba8#K@&wkUY}S99=QZHYiut zl&6qWU}Eup@0xbEb7DV##9ot>PCj=t`R-XOrM^LZ*w&6FgcrX+Wh{ud0*H)HnqeV zzH%&h$@aRUa_Y&gs{`|=Kl=5hGQ?5xzrt5@A+?`p8dvlhhm@}o$d=dKA-82Q=k$I% zx2yRZ&Lu~@2{TKrJa#@&Z&t#R>Hlg@W^?)7V$Kz0F|7%k5fN=;5dB!c@1z|6{pX^~ zdzKo?+=(^$@kp|JRt|4y#k_-ugf~5I&YwKZNlxp}f z<*O50ipN8*k{>^VubJlUNUT%x@!tF{^K+uhls#sR{R#V~y)0H$h&Al4(4EmVscSWh z;MB*7k0&^2Tb?m>dv#*!*SV~dswUc*mHv9BV?3o`o!Ij3-?t7r3vF`!ed4~H27l0< z3kym%{rvqRNBQ&f;N{wRQb!_AN~9j1pmt4vnRe~MOB>1V>})^=gWtePxelWXZ)Za*)A0~(dHV%wbQ4x^mXNr$Cf@*I4!#Qw*ymq`r`Jv zITfCzMi*rL3o9*SOqeVpS9Jv|Xmdoc&j>R6zi@@r2Y-(9`yGmBwOMOswOqBc-@BuE zQT>#}dNjR&0&9Q|h z(V~sQ8%3^-W|Af3EKDC($uYwHp^K z-OT&I<74Kut4cA8>*|9PD?B28_p>xsUSIAtzjv+I|1#z1*?L#cf17;gko3N2h0l}L zueE3n-kP@Ed-2KT{Z>nIR&6Snd81v`v-p}qN8$3@f70zMf_S-7^HPdSic%AEc~kRJ z@{_W7%?!8VI6j3-BaH^R*{)AYXm(sT0h>(xPJe^ zNi%iX=~5R1_0I2M`Fmo<(RnP%^P*=f?R@Y_?boB~89fi@onF58Z+mG*RK(9&ix}Hh z87rPE{`CBK$?u(Qek;z~rgkhyaqOA9jE7gHB#O=V`^>Vmn-@-dmHq6u_&d|h>&JqE zxJkDcl^kt)HJ6Po)LZY1ckJQ7Im^S1%8p!F#X4)tpZx2=r8UR*#A;U_jD8Zy#CG#U zxogah!?CS<9p@}*y|`4WpXcndAdxa(8R=dvXFnHp{pq+w zKJ57a`0UOVy#Fe!7vA*URI62)sOCM_M{C_}Ee*xQgiX=oGsn@*m;r3VaKfA39XMl`kiIy7hw9U z{(Y8F&V?)Qnw`VakFB=PR+;vE#|AxV*@t=lJ10GP5Utd!q+(%XaW6#o<$pnWyMi5? z6NLOKi>BUqxjj4i9>dXxxtr(iYdUOnqsSkJ`7@b&vUnPMYl8cMb654v zEmxdb`*UAcVb>AKlQwP{v7)i+vRzSsaycBdGzujz?@PO+e0u7`7spKVZLX)sO#9BR z6Z*#^U;6$NnPPpZyWIOTM{0|%b zemwnLwn&z(7OM~AKAi|$=VSF>Gs@HBee zsSsO3`w8cx50;AD-&pl2)H>?H8U(*bWnXP6O z?Yj1UX||b};pSNpAFuMXe?GC0F{5{>^TXpJQ-o?4i9C~6eL}8ux!UgMA)7;!ceZ;3|Jrn(zigSvvy*8t zQ_X9HrS7!;U6FL|t=z20I+my=tt(7|#Wi*ZZBMc5|6iZA%HT@Wqvo6ki@Va4=9+$( zv50fyZkK7k9~9mhe~~WQo00peY5TM#g-TEV7IPe`ygS|O{BgMt>c0Qmc1(?^zc5|* zUH@;sWs0Y+Y;|1syL!RKJ-6q~y)s>H-K?fd2UdSIaT7iw&w29QzX+etyI6hI4)x_U zToPctazXg+@0tzzTa1|ZcnSVAy8m9ayY2ZzMSX_V^Da-;NsJM)kUYLAW0|Y*>^1)N z*Bv68H|#F&YWlPB?c{wIRZjJ4SznmVQDc^Qf3bpG-Cy%p{D-a-f4^|(!UUDow!chV z^aNx-y1tGxRVlv`E%`z7PE%W47yDPg-@a|fZtUd!uw1?+O8&f+k>0s^Ttc>`dP-cm zf@&H^g8v#lHGEhrwy(PQYN^5=flm#!yI4(@SkDaU4o_<3DgLrJI_~tpf4;vL`o{fY zd^+QziC^30Xv@BPz6mSt@fa37DBRiY#dk#E?yGm7znuBS%Xh`b-;+!6+U=})Y&-dH z9erzg_9s)u%#(MLO?(xkSMVA5EDx?e9kSP~cM```>7|m>XP>W2T_I&J+jp5M<(cTZ z_eNI!zfWgvKIeJD{(+95=}bYM)rYISBMSeDykyuWu>Z~T0_X4(Ulnw}g^bQ8Y&h( z|C)QaUhK3Jj;io|{cCMUUFgp{*DLHadLMDQ_HeZ%d)lOXoSHH(B8f+T=AmBQbs?OB zaq){*|B|ii6$tpaTRHf~lidm{jCHziPfvQ_9eTT>GEj!E=JNWz>KvceWGxkYoKqZV z8EReVShMWR^~UI_ddHM=bHnCrJjG_lu6;Y9@?@+y*VnbLZI={FK2CTrp)0=XM#}4d z{^11?Rb6?_OB%n*#ZBfd@#l`4876Q;{k@s0W@#0>?gh5uqN|3_%8TvU%)c9+-PinZ zs}6Mqr?4@u zsd7GjO7Z#oi{F+<`Cj_pAR4{>zgd0RD*Fv4c7l_W(mrtt{g=)@uyUUIY&$nmX)*pi zjWa*2lK(XO6mwXZbbtZ_*T)3o^cEJ`7IBAfoV@M3>`m(uPffa`$)Ok_6uO_U(@1Jo zO_1x+ts0lJGwd(>b4=r1tzGo#D??P_fmydtXw2u@I{Ull3(2S5?i06F+gwhveY;K} zao>BsTOZ566yzQ@YzWHdOWjd(d)g^B>C=z?dh!`CyQS?*JJjlPsNFGJ(9QESPef#< z^`Yv2GgXuMW-|6&e0*ubpXu)_g?4k-{oXl0QG4|?ArZf9_Jf9G8IXVILE3-3H$(fRtLPjuF`D+bCJ;xDA_ ze)F+Lc=I0_O~pv_)1u7UeeYlE32<)WI(wtd==glkgI;FmXQ|xYShTaw_mRMb)6=^v z`Cgn~o~9u3{-P3tb?xJY*Y8(_{aM_4sAFgTJEJ8VOtyPXFHf8hs#juhYVrI}hPNWZ zjXKg_mCAqm&3S13Ch>$>^L!JV1mgwOrm3pD*z*2*zTN+QX2SMMH(XpE#VGV)-5iBa z^W=n|KUv}R{dvXxq{}ta7wt1(&HuV{TNm3AuLIT`yC0tQEjhT8Noh^)-@WF--VgWb ztSVT&v|9JM-+YnDDYbz$BHf3!#~A1oJlg+UUz2TRp!3Xz2yWAQr33aU4YzHb|2$*( zth`P#{q4u^8$%NO`sUf3idvWz+bPw~5`x^JGEd5?&s~r}wM! zH%<1oxHIc4yH>xE<=^7W0Os|7XP0O_(!SDB(pC3;yF+_I?)if;=%zX zsVDCh1zxAj+f%vwZMB*5quo9>9C4T5?%2J_Mp0(x?wA!153S*Q?3^*Np~m0R<5*I3 zw%xPk+?6sbWfEkno~86^vgvtcG-arUv{3= zcu5eW`>MkT-s-$pYL}ap7_`? z#!{O_>0!OLG;_S&jEC(%ciq}1nRjmK#(mOPqODIzzTRE7C_q(! za=!EK;Yqb?Yo5g9#`I0Ce(!32X3p~*ZTA;npBnqV(rJjfe8Z+NqW9{C{k)kk*6S>B z%{o(dXvfkyKbKg(b+o+qt<}4?=Za#;pH`twKW4Z*2$%NAoi0;Wai4SJk3TDXxc3Ln zn^)+?aJX4&@5lSOTkZxPUHzVKbI)70^=GckmORJ5J=t5Qes0vqjNdors62C-v;64J z<;NdR-||OdKll5ytoltIYE!4Qd>3)O_xRMk%%uOiZE|)$d{}Eslm(TX&b)ZKl>+0>Gk zl2O9?L|S6Q|;rah^I=)%VDBd~o*Rc?`|3*(;4VJ#+%G#zelPPI_=-cY~vImc^ z`Lmfn;%c+&U&UXnk>CBSF0eb*OlYlE)Ldw=oy%~et54mu->l~Php!xe^U0*CQea8y zO=Y*;jlRyam}=`8L(+8qD`yyfX6jgf`0J~w^0NY!UF{1lEtgfBE^%`k*CtC*)645#&&)uRkgDYG+;+NfPWc4-JVze%Q zbANe32ye%nWp|~PM({89Slh?z&u~XDZTH4c-C06en^P>}pMBqSTwq~vZMbzuCO>0oe zdvCX9*{?aZH&pB{)Y_b$F0$-=?|O;!mAd>h{1&WP?X7u8=HwaQ%&@4%N6zcIGhXGHl->0 zElZU{_l1;WZ)c@W-0WGn|IQ)yFJ_7{9apwas|b)>T=Ze4YMjV3y(-@WmTUZOYZT}> zE5w#DI6W@;;mmpW)Mew@s+ak#4|KfQkm|&9{pZe9_Kkf9pKduUe%`XYVeT!PX)Qa< zDs^McHn8tIy_qAut==?GVa3lA(?oAO{r-Psx6PvN)3y<_ecsm}X3e`+^>C`KfYIf7 z?_MhW;a+y&`Yr3badU($6XsSpCC`LVrl|6t0sDsWQ9o)%}x~+%P{N zlK0}C7sh6fc0Zq8zxVd8^oULQ?R}*JyDRHrcy4}YD8DPdaOoT6px0hJ4PxRU z?Xur^XBk<{y0uK~(XImz_H0>rE1ltub=K^Qy6W7!oQ0BJJzphj{b|J|ix(>W^UXGt z3Op73f1A-i&@Zyyb?d$E%F}8MMT!?+2Xv%QW8B{KtwuUuBf7!G<>W^t!+(oAcE;c9 zF`Dq?cHjH0480fAj2`^h9@$}-WOc5X`Y zx7xa6%T_gBe*Jvqw8sJb4tj68mw#PY$aO^|il((05p#k>xOcu$ zS$O3^*W{Vn=bS&rNIVP*o4b~&aHo-FyG-{58GT7-w(a$MQ@%C+k;~z8(foPj&ENX> zS-fW4_nk8s#P6Jb@@)DX(VD)~t>52gv8mKE)m_gpgjfvVM}$hcgqgiQB()_Wx%cE0CY%=dnYC2zgtqcBOk4B3>q z*B^9FOi4YRyJ7`XTjE5)D21fO&8o^VnGHM510Js}ySB(_p46(Ml}EB4EjKIO*xW0> zRr24D1#Q*qmO8t3eQggo<8b~#xyAe&TMhFc+`Rusph3I;!JluBFBkCWW?ymBPW@+P zz2eFmr=YH|)14c)*!3xS$_BW5a@&=y?XEspGvl1o_Y*N+qV5#e6}n9>d2#!>m|$Y& zic5FZFSv&PRFREUto?NFfY|fvnXK<`2kc~dd3o1WcmJJ-t1moFm{=J7z(^xQ;N82D zhu{9r%G_GzlA_d$qRcBkgG% zT1%Jp7fd`i`Fia{y|5`$`mXdXjniJ`UuY1%UG`kc)En}0>BjGUY>m!1fAfP zOuYTD!r;iy{G-md3b$DOT|H?%-&Zx(+V|L)aK z={(@uaOTpv|MOdwbR>=x2)Vpz>Q_q?Oy}U-Q*o}~Uyk{i>WN?V7D#$etvP$~lvC?* ziAu4l{|;A{lrrpp?0R|WmTxt8EZRio#RN(O%PN?kKihJx$)jMkpmy3)rr2=5N$Q8> zr8ENaLNbj)bW^vr2{RUc@_!}!`|aF+ngSjN)-BI}YA3L?7DzLJ+fx(AA53BcYK|)LR){!wWb*_e9n|q2dI8q^XY4XA){c-3wwTY-XzS~>#?V>H)8`;w{xNZ5C=%0CWpK(!-#O`Ih?tWU!d*?UoOi;L` zxOL$y!PB>Ixa|mk?CCMpaN&woMe~CdYl6P)4YlUad%oIn%j#borbg{zhG(vQNMHFj zN@+vq+Qr_}E!`PqnXP3$EZn%UdC49fHc9?1v1>UGu30&IFaP?(ujOCu{Ndn{z3av{ zrXHcI6{%VJ8#CT2YAAKvnxs+GgI?+L|nJ>leh-{j-$ z(UG>HKK0S9)za0=^b`~~GF{oE_#!WO;r*}DAJmJ)oQ;kgW%Xd)@Mh*Ahh>XJxKlU$ z@mqT<`S-Ehzn)JzdLHg@NN}p`3f^IO;qDDl1q+dN&h3-#E?HuoT{68?b>;hxH#b%C zN|R%M?>77X?IUYS|JR8hn#8PrpPbhsz2T}5bB1j51fLJfCbmVt`#Lq$J^IqhI-jVy zd0z7^j5R-Na_ILxOV(+P{$VV-kMYk_?S?}Uj~2ZZ*Ym!ZbZ7Car@xE1r=Od>VaB^x zg4YgdFowLpXmortZ>ZUvjlmL|mN&{VZD{<4dPYo|#%<$s;_$ zNbj=5s}hDZvGDxYW>z+z+vazPpQ!P*Yg68|XTv^jpCb96^Q{6-9nQYfRW>=o+hE4D z_djAn-C~V4e%t-qal&`UTgz^1tkZRt(z88kTswJNW~nOYS1oDRhjE8zCO%b|YBy`2 zwy4RCr#p67Eh;^H{p1su2Diq(gxjeb^>0Vke0=nJ+p4vETukZTbapa)lTcyhDSq^K z346)1@Vs*#djA&l=@^@c=JUs$FFK_f7QKeUtWfu?>8Hg1_p;aZJ$kJgzN|H--|%de z_`{tZ|3o@+{9YS5=o@~!t&>d)XZTAXx|8tb}^Vb@iM<8P1nac1y*6<@dL-r>9Izy2khy49iO9invI$#32zmo?ig_)d81 z97=xG_p;?*@$d65+!oDvnQLvve#LLig7>r5ERa=P8aRC+^8+*P-WQXV_rG72?&R8<aL zC)3lv-X?aZnx%F=I`%>5Wvx@=k_$pMsuzq-rGGWt^Sr}FWPYjOZTICH?Hnq$l!uPr?{Z*v1`uvW=4xSf<4&FY!=DX|Mxs98g z#oqfh_p&cMdRJtp_pkFuHh*??exi}=zV-U9g?^tF|L5E8>9W#y)(7EF_CK8VH>S?q zekf?lrU%!Yjl_cX@9Pk_8xkdG^}4`>;qelM2ESbXHFt~lKh4h7|NKz)V7TE~IhhEK zW6?e0dU9pN#5$xw<^diRqckwP}^$zwVQp`K4@l;hfE4kH>38b$0Hb!LsgY%dzveIqXqSPu*@v~6_A!wuxhL6<3YG8+O3Xf!*OpTL z+J4)u$tz!VaC&mKChmA1vwo7GAkXCtl1+VAi(8 zPHutePR&_GS|Pjab6-?2)G56^pvq+YK=sxm#j6479n%$bm?pfpJoCA$$?l|-OXKcF zm0~61UDx&$rUY#=&o=B<;s3P%ZjE+2Gt2TnoT;rd*IhVQu=iPEL$Y~pCDYvH*XK`q zcK1cp3Gb-YnKfdY9dZlG{=S$evQzcg=bjbqa;tvk&@hQ?`1r@50~EvQ?*c{!m^jWbVD` z(T0#{ajWAY^JX)Z@B4LKna93k9{0z?R^~&(|sWW;%`8nRoS=_4hMX7skfb`b2<-Q9WG~1HocmkKtb!_PiXlP8B?SB5k z#R=syB0czg_M}%j>+{yNn+`pL1r}>0_NT zCG&agcyIbxHSWx_tXpXE>iW#AT@}+#s877yu&Kn@F7t6qLh#e9o9{^Q-JQp5N-AT_V>ihNxz)yFwgDg-y`<4d(9WSg~!CO z$y}G8Q{7|dHl^^B09Tf#b5#7(DW|SwY1SU+p77@JB}4u#$4@t~a{2z=DB!A*^v`C} z{{(*98!szQNFTAv@cQw3)r4JPACK58Z**LI{q*+T_P-^Uzn;OnZ_*}CzvuIvI_L0< zXLkRRS1aUPy7T~h4%^m0l5^ib-?}rghv~+Q`=6Nl(>;FWE^Me>)cNnPtNk?Z`%_Xr z>MWL6lN+b;aPdJQ$E@iI--@5uZGLub-};FSXMeXY*s&_<=lVd-9p`<1UHtL);~R&D z&L#ijP9M2YIse(8?ydyUC?_Sa?U5<76fLu@zI&W|#BLpR`=@Vm-o)Hz`(9b^ySv?* zyRiMdFw4J<(?ivz_qe@%KKaxc*3C~&A6e7#_t=atrSVJUMW+hJa=00XpY8lva%{&5 zv#AeQ4lGeR8>+ITPr?1zu9(_@zh9q=ZeC{pZoj$z?ebX*Rrl*Ixpnheu)E3LLy0=R zMpli&ey29@e*5;S>|uO`LhHiN@Wmbz7X+?bQFQag9*a=sXT^_B8eU+MZqU2Nz2)|* z^^1hwPT8aXX?WZj%CX$E=u>U;JWT-cstK^>jXFRHg@LwTenVJGi$%Za&y_D zqru$isr%Z$&ufn?TxZDH)Yn^f;zm%i1)EF4V(#EK_dmQz+^H&g|HMZ=6Ki)it0lKg z8Q1Li_RG?b)iC(P0>Ldmq|yZ1PHLUJu)<^lXTj=KXFkhm8i>s`%U}3LER`YFA$9Hi ztz7Pne4?w&l)~)~yPmpIFu5}LNPa{-NqDE!nE#^A;KCr)_V z7PaQoD__gP#F;j&g_jSmE9^?qeQZ`Q@qC5E_Ep>yzJ1+q@#-qa$^NGY78y4=TkKTw z|9T_t@O!RX@gI%CzcBh;^$IeyY*7;l|1P(F@wzW+T7^fxo7uD^v0GQ)cV@UU=WLls z<#oHQZF|D{C%!G`%Ql;NrbYea&f{-go;r8U6m9tH9s9H)2T?EnpDfV!d+&YHv1XUv87| zT5(AJ`stt1p8COuR~cR~+F;?rc)qjB{fBf7OKZ&aZ#7dt>W zDqzO7`+W9-X!iSC>n^|2s9IN|W>9zRV5N<+5u|b@Hxi43P+|R<-yUbiQ!8z${_kWbJ;b!&jeQ zWNVu5KCO&9;kiAhc(3+J;cJz=>L&3R=_ zN}d^WCBMmb{ZF5!t#7}O*i?Sw+l<~_-?U4F9ZV8+jf`bjetyj6lS$dWKhf0l&$UzK z2iBXs)|j~x>$)a$V%9Yo8W@=)UBoh_TIP@Bc9X9hN2YU6U@L7`(Y&_nw(zw*iuZ5* zyJ`C~?AsOHwIA6gJ04fbeB3$JH+iC|uI>A*vyzFJOIkPFR&MUw+cA{$G z%%>Ul7p^9W9t+=EF0Ye4HTE+9Id|x2wBz9PqVisGdn7pW5h4kG>S|rxMG|n zcIc{fZo`M$6MC}jH3!}FI>Mq~zg#O+P@!h+ z>f0PjKMYlugidLdiGOsn`4p*vv{C~!M(R^0P=bbHlb}tWw z$hC0g+KDSp`oQCI!};FQuJ!Kc-)r!#`5$fdtgBpo?tHa{Yt|(GZFtk{UgsMx>cb-a z@@BWSId8@lwylo^ZG1QUbnIKPShbyFL2;H+ftP5);TdaL8Z`>wrpQ*7RYwH_|@bn!Bey62$ad5lyCj`P&DoML&fQ~nt75>xmhn5%O$6Ee0k>d zf1=Bu9J&8XKlbKNGIn0_NGIa9L5kDw(sv>!3p3wMKg)XTw&TSWN(n_iZ?c0oMaXvU zdsf43pl)`r?&3m~$k{b~6&*999477v6P$nY$I6I^)dtNQ)~z^Q%0Km9yIYQ#^;50N zZ!hedtDbFK?&I{r?CV0W;xDUwj&gmglnC8&xp+chrN-_L<*Mxm-tJ}Ewshvajjtza z>oP^mj0pHM_0WkeyVV+n_vz`8);Y$Sh3#c}i@lYLcB zB5U@v3BCwAQmnplzDmg*x7zG&U*EI`%sZuI^IQM=FGI7*p|ckUo{u-lwHCWDna_=B z@3jM~`L0?kE{jh1ATH};=JwY3;1yd@WznA5P6ku&KICzoYi^tKyfdB0*ZtDpGn2Jn zM9*%2Ur}T7;8@@@t7>)OQ^!5lmu*||#VWx6VetD}n@273@x90Pzxpy;OmU^wkG1}x zg5OWQeI_6@KYY2wk_j^!*)t-JRL_c6%9>nz!c&V&`TI`Om&_dv-_P|N$Xe!kbZ73= zpzyGNQ8SC*X!dOHtiCbnVd|qvCS0pF_3|CiodG=-7qz= zyLqJGLf*%V4re)Eb~th5Y2KLHr*J!^<=J9^4~Mg5bt`H+GIrng+PE(Jwokx5;lf)1 znfDGX=9B&;Rw9^k#!_>B{LED`mZFglAMe(kUMv~^EsozV*5s0?;6?M}dVdygtCj9) z3ay`>^e$_cce3-3xraBq-G5qrL1R_a6m=jR{w^G@t!Pzj8P)!Z1P zs;HLpH|BS9`|40*yCli(Wt(j;_U+I6B^tn()28q#m*Y*P$R`i2D>Z)(zIc|s)J(#esmGvncbMxYRr@m-y zsmP_HcU3p6O4?xj&~}Q1N$uS88_TXvOMU)aeSXmlvxO_xU7F=9p_gs*O(1tq=T!T@ zuWmkhFL0!0j~CamsH*fF_cdvsThG;8WD&PsXOv^!H(S2<)dFRXV?0?aCPjJvXRo=T z(Bmg|bGf0$?+c0@0cY&R&uu7?$hXhEy!)`zyH91ypZ~O%I~Z>y(iNvItt@%*SKo_E z=ks?YIvnhcna{@kRhQv;+m)UJi|2Z<-*~70;P#?*C)Y7;*lNr0$MklR*F>GwcUzY@ zO=gIn=)OCw;8Vr#Ic!gMa1|K{HrCDTylP&1YyUfw0|G);aT>-Eb4%AQee%{R{r9yr zjrjRL6T)9!+5K+&VU^%A?zIYk3&d|&SG!%5mMOR|EEHv?v&6H~-ugE8=1n%cxVF3P z3^sD-WZYOjNhvtMepiY9zFL-a?!PTtj!ZTFdZtwOnaGqCntLJ~1jW}+KKqgHTKU^q zdv|xmWVY7sPAYFV?O=Jlk5T-`Z-qU3G$RaFPY5_sb|m@ev{3e>YdS7^ylX$6VtHon z_UvJA-uKz3qm0%rV?L;BHu)hV`yJg2`hg-5cVGF*EjnSWf26)6=H&WwJ7+DR*lS~8P}7`Ch_jrr&-KC@y(%gkMBI3$;h^PeS3SIk=*Y8j+-K1&1CC! zKW$*Xr*+1}Gl%yd&#`t6ewKAnK&+ghxA^(}HHjRYmsULJS@`+X`Jso5OOkG_acL~uDsJhTroeV_Ub9g`p2+K&A5K0Cs^(bm zWQHwsvShj!vqqr?r^?T>d2Nh=70Q**(pP7)n7*AS)Hc5;qkVm}_6jFW-e{u@Ta!3G z^&CC=Wsm8;m@o#>_e<|CSX#Cv*|C4ur4#k$I{gz;za|CiZ2YGiv-IM(I@U6VtE#CI zS1xRuenvgfeQ(g=va;7j>B%bv?W3b6OzL%R&GS+S=J32z)xx`F`zzz_)jyBTTB{|n z<(t&=uaz;ryJtqTCtMYjxE&H{W-f8(o_xr!cazOttV}R?p%-Ls**8(<`TA`Cb#r=_ zaPdx9@b1Kqbw|ImO_$_+DE%P&gH>9n-ut^!eGQYphJnADE<*6(3a*c8b*ZiU94eKVw448u^W*0W*8lJLpJ;ZP{{a8P___&SD&u_Y&V@hU zVK?i;lj``oKl4AN9)2|S#xBu4QeM;czuRK;T7FOe?Th_6tQXJeowYXViXF$QP}uY`e9PY- zOZK>%Pm6eG{heQ(_141;KdiY{?w{?OGG$9%jrW_>pCO?tMUP`Nh3yZ1`KUN6^^_O?Kgq3gr~pdn$Z=&qew8 zCtK#)JZjo~zF^19Z>f5InE|?Q>{${wSX5v1O}HSv|H!6tS?eN)*HKOOe`QtfNlmw9 zJ~01n`E7fzAE9RpUz|C4-D*?M^0d>tB`!SRb*VbDS*51$VcFcOU0doOs@yb5yK~Kw z_i5Nx_p;@-#F3TwV{zSocyWK_18yVITh@x1KxVw67Y@lJ?yl zsI*w_DreuF2Rg4Lti7^t)h>NjZ@Fv!5@(h5n`i%?*u;5Br+nvFYPe1s%Z0*)f zQeAHI96I%yyTTTqnWW7V+cxpGjeLPqMePY$^N9(+R00II-n%A#mpkp%VhxS`3^ooQ ze5U1ce@P86`Fc=n*?mxk1x5BaPa--;NRz)6|`-Bod}5F zvf{dPb9Kc5>m%hsT)n3`?s>a^`QLo!-;*DyW(${<9n~-Y!~FP|q5xOV*-g8zJ-o2$ z;I^}SABs8M(+?}HdBxljv)tx&#W9D^Od;(2dm2C9+&gE(vN;RynG`aAX`a8Dx#*^a z$h-~joF^LE`gctD{BYuew%*69QqG1?JIpR3y|~@-v#xAsyW<`1+b%JpzLySYT;%1v zw9#vlCbu|?T@~-!+QNMb`e%7-~-|gPJjP&3yw=_>rTQhUHs87wdjD_LuPmMo#9(lFBQcM2B zA4k60@bwQ3|M{oQzW-=eb4Kbx>xJL^%4BYE3!e+Qyi`$_<#ODbzcp7PX1uMJS$TuQ z%i(O(p655SlT!T!O;$MSuCY_D+qw3*iQ?z4bvq+f>}{$F-~_s*AR zyENZUmq}HNvGXwXwaVA|99Mh2;%|(-Rj|S$`;h(CjMgWF=Zl;#?y!v4@ily!y@Wlc z{ITrT;+)vO;#+5V87IHeX?q#S78?1?`_Q?QQ)Snf?-p~{aZNHkS1nX~d3jQ?PHo$6 zDc-wJms~Y!P}?dbJ>mEFv`D*u`-qk@ycP}aOZ}n?qgtzi*1N`s7zaC5 z-->x6N>5KW(zv9UC45C8t1Idj+( zuc;^>R-DxHZN-BKJ>GBG1sz+LJI)v53bKvnioCXZ%^BUVofm!ymo4OYc(QNfeWx3% zIcsJg=i4HjTamNufymm&4qrQxnS>wPEZe!U^UldXmoJ>IxnF7CZE7ytd_lrgkmFC6 z%&rRpIh!_Uh1=B%|NbufH6ZyVcTwimCH4~^{6St~kJR!t_MsC}PixJbctM>i+_ zZ%ok}eg>b-tT`D!cl)843JLBk)8@{!oRP#~xJKgW>%t3GYGPGJshJYOTKi>{U)n6c z{rX<=0(JGYv`oeyJxbg~vqX!%8rk(xuuDY;d z=Qqcdb!#$b%(62wcoLkgs&|6*`w~sHe7wYVk=G%+A zyq!AtEa%z>Jsk&5T$~kr;@XDqQ{9A`pLls&g$ED9ukulsEFP9j4Msi(Q$#RCF4N`7i|-l zl{e<-KK9qP{IcRw#OFfq!n!Bt)@wgIG%wi6@0-en75ZHcyPu?4%U*lQWg(`frfU)SC+^M6AF0m$>|NAo(Lf=S!t^RMbU|aZ} zv^m(3gi&ZCEBJ2oAQ;1{mYVz*h&9bD|> zDkNfk_>fNXL@D03oD7X{&z}yG>&+kJZFtrqX}R)gn%q+Xk#kCR+x>R<&Q7U6{;;^N zB-nK2{miyp8P=qaCX-hg=C_`lxoFLjI5yV_jR{-6^QPVsUUn_g($HT>*>V4xjFZQX z<^L}D6LU~Ku6JJg_7!tP)@iH0>X`iBll{bc!9{|vd%`S#uVMOG`|z$_xx|#mUaNu^ zZq&2N_+!f{Hf^fN`V|j0?cX-TA>f~a6N_AJy~U^bdXD>cAM}2GLhIF{lC$YK;yjDE8PTa_%eN9?)r7;bO$LrXoM? zdEJ>W-*WkL7TlR%*LAz%fKycQkEsD6VH?{Q*S5*~KYzUaB6?OsLMZ@=yimf-c4 z@Z#cGlc$`ry|w;E72_hu8_T4oRoq|oTkYA#@=MWyY= z4|orCzBub2GW*Kp;)lzOcR75EpAtEft0eQ;vpc_q*4Vg zQy#^brI}S|DeN?G4`cK;wkdj*bFNY8%;l&%McjwEL(aN(KiUzo<=CTB$JTQh-&EJW zy2tJ9MvfZG^03SM1fmOVj^;Df{(k=WA4^%q+Fa#_39{G30u?t#SaQ5couTY^|FVmT zx8ElDEoQ7P0ya8l9j>fCq0zjWPyg>ffwa!xIX_-lGqo=}cf>{^^G0!A>#V@Vb zjb%%uELb!yGG z`27Eey6WS$zRZ`LTle{Z!*dxA-r6a7!l&NsO%7!^S7|vZdLjESv09m@PdpVb9Gmfw zC-~u1fq0Go-5TGY7IC!Yosv>{kjbI%oz$fC$Lm;{-hWATBRlKfp#E=vUz91HSiAL2 zVaCqs`!?{n&pYd)B@m{yzGvD8jRPCMJ>Gx#wu{(JKew*4!THJ2!>@f_irY_6|JjgS&eIyR zEKI<0_OV0yhehfv1sA>NpXT+y>z76YA9s_-B8{ji?`18dm%4|))OlAI*uSoJfZgPztL7UTfuh;d-pLlo zh^^B3@Lqdgy_-_tyn>bDmGPhSxcH~4>CN~&KmE2)wlqsJ|9&1tMe&T}&Ud>b1U*+&CYD5z#Q9w@hF5WfALQ^(Wf#n0~(Baa2V``&x@zJr1DS3WOSmQ`UPyH0quOyTF7 z`RZGxSZDOI4b_P^wsqYK{qewGBq{Z*pvU7q*Sn^id+_Z*u*MTx`J3}aFYejY5xUB- z$Uswn=IVeW*A`q!HP)Yh#8y8sHf-tggBu%m_I3QSREh4(+qp2}NAUdPt3N0?bbRD1 zS+t|LN~)=FwpiAa^vxU(H2!tEP1_J2TT=H*WX)|g`^7@*@0S<^TUvfL>kVp;dE=UV z;~1OQlexS`jenLMkk^Xiu2olgwx#sXM)sh}rwvkNx*2_@v&q7D=!tV3BdTY~t!(+6x%p}!g-xde#<(+%I`DgSK z=kCs#@oO}tm6{CK9=8@*=I-xxxHYik#`mLa6A$&b80zeq!RK1x6g-1d_gjyxz~{e@ z_#EP0zkHB8()3 zRcq3knr-tqi`*W*kEuIW73p-}wqaVXd{$*)!_G(kQ_l)@+WKq0=}oC|7drUW;=51A z{Wh8DoLaYbyQ_Xvt9p>=OZcmb*dNl=zr!85#l;>X7$bs`@_vo-OiEu zYE=>bXyrrEN3qZEr|D$NSi7G49mD)2jTM3Vzt2dWx4(9*d+(B|YI~K#exdhoP;dVL`Uv- zT~Ws+^1gHapC#YwdFiCelAr(fCo5b~-+kbC$Q9vKhtCt0=NL-HeCwDTS0DSvej@Xk z@M&+Z?0&Pv_01d3V}7z5m^!T%?pUL|CH2-?LCN1D9$8bvCLfC5*8FPjh6_(ZBNVt+ z9{ILv{+hzvLo*c*ER$K^#qRheq9N|t2lQP)lVe2e1+rK`Rso96uAlDwh!_s>5*|J6>u znD#+R|5rw}MM&S_$=(qspM?rc(R>%F`^@o>Le;W@TY~Exu0=j%oROm=l=Er7z~s7n z({wd9%RIHT>}HfdSCsu|=W?0g-onKHGpEn4-ZIarX4&;7yLzR#x*0mgR{st(=N~js z-ObIdogQ6Ne0$+7`GyXDqs=)g28~lKlxoY*cs?w;vgudSw10-mhdNyIS3Xfz)O)x* zpfHqazM$KB2c^cH(sTZ8dl6r>d#~qf4z?RF1f_KXOs}s9-L@m;*4`5bW6C&hatCZt zEn1bFR=Yx-Ira+c&+s#!9E9h^+?Bb%{sv##{{Xf7lfNn5F12K@JD6d9uTU%9Cbcu; z+J*^EQb2Lm&5KG`{NB5w`oI-~8+w)7(*6WJoU6CG{=|jdv$9lQ9$TRl z@RBKDN8rIdEf=%oU%t1Ux~W3avcpyCQ+(79$L2du=cGf-?OP_S`WLtSN(8gy#a$&% zVu3}n)BIjm<)KXXkPB?r?c4Gm&eh!kXg_mVHk z&f+$C`+ED|wY9QZuhwvxFZPUZ*)Q}W>x)OT&V8qoM)wxXOI}$O?y>?X>#X$w{Bl`*Rf*tF8wJF_m?O4$KS}6 z^yAZzb-&$xW|s2#RaX`;ojCTuD1PpN1qM8Pt<(2R? z`k_9d%wbb|No~x@3!DbuRw|s>s<+OV*QR(~;)IDNeajkOtHfu7sIdCWXpO5*P4I+z_)kT$(y#$Gxt2>DxY*=XYx0u2^XE%oju#`-MA$s zd{3nGe*)kCH!g249~7IT?8N01{6p@f@EM~8Q#c>keD`7q%6u!3H22<%-O`yiE)@NC zEeT!c_w4ix^@s%*F6o|Zj8RA*q(ITXmvIPdvUCJ(&2F{aXKhE&sM@x zaD|HL1>HDZ@w>^1k2AX`E`NS)XW{-M%%3(UOldX{y273o9?ssv#L*gW@MYHo&XnHf z|4j=g35H+#)pj(fz-*Cx?~9w=PI~9LIu>M=Z2SNHbldhC! z_h?V{ZY9-R(M%Sj-7=Y`-%Ue5njf6in3Q^a&uc?{SLH2{XVynOwcoYBR^hwd^HUO6 zOTJW{@VYzi-yGd3pFXV@{TjMpP3*@k$9J>Nx^3uu=)(7Gea5xYlbpNW8oRBvOZ2|L-=e?p2=u zXTq1Dnw9Hn47S#)zAO*b*&=J!)+zpok?HV^fOS&^Zr0f-_y4*a_MdluR91uiwBMh5 zKRus(>VtRRAI}f|=|v}`4hn`?FDMK+a3Sy=qmG@4rs}-QiXxUBS{p7L^q6pZ!MuC7 zJ{VstXEdI>ruEv?J@3}&AC*6!Jk^$+nL{DFcfIoiZkH)X*zd@nzFTZL{e^6IA!{gO z&3ZwTw7+f|ZAP1}RObigzuD?`eC4Jpv+e8Es}AvVU-LKA`t&kf^V4mg{|hz?%;-?L zrcvca27p7GO6Qb~33($|qOrlJ!kZ+|Oj9O&uuZ{;y>UaQ2J-_rJkby}Y2 z+?37!d)gt#*3c58FT8JGw9V}~qWk}2!afC#CGz_Vbv`Wk|3l8P(=+ zo=jci5Ghjme|xU@r@xDX8ZUY5(=@U9X0xH^@W#M0zEG1TjXepon%1k!xqY*l!tqSF zE0lHal6n86cP`7@6Lv~wciw>ri)oq{m^x!uue4Ii-W?U@BeI37QlNC_t*dK&{O^3a zT)l0{gPx^7b5Gs>#%Lz7vwGI8DJuJ>AAI@dWP;ksYsp+2b~CGK-HF-oS^lzSs#wT| z8b-qQfP{Vh_3;I$Tjzw!#Y%N3gGc--td}zL6f)(4T_X^#AuEsJ& zHVTKQEY+QC^D%ypFmJ|_)%*R*?KpP3zWBVY^sjV|ZTo!d>%1>`j^})qcmKWU^n~AA zyZV;37M9md{;}dh={?P2uf!00rqdJr^bciq-wl|z&-z+abw|Y2B|dGBS^u><-8bOa ztuR;1`%91&<58xkiNC+F|N3t1wND`P$nA12R{weFvFyuSqH1<{+%S>et8}*|AnxqF zvgXaESCT(n`uDWgL@(vhZu@dG>kCTrIh@#1r!2Dn((&sbhjT60zDxt{@(o(s1UB!K z_|(Vq=A?>YNcf4T6Y3o6D~|Z?>)G?IL|>|6k=XR^D5n1ZYg_*>Gb-Dm6g4YFg)QK= zl6_r-ijmcdtm!GaEgdn7XZ)~o6g?smbN0*mMcbQ8Z1Od`cNGMj^%R=_`^G88|6hLd zJQm>S>6NUNjCBi1X?b(-o~g(CHJcrHQ`~QSJFs=S-@5)tr7XQ!>cy-V&0{PE&#U&&}MkSb_ixsBIrp?=gRr&`7;cD<-T zK5b9kli&Oz%+}lqs443S66`+F(#gI3`I?LN$K;m^t94$NS#B|Rscxm==3lWb$s7Ki z+^uaCsphtzy5il#Pd~5O-IMnd<9fGe`J?hGz7-QZ>$DcRt=*DR;AwXLVv}F7_WVC; zQ9CBB_m~{xRP`**vQ{a()$^*U#G{*>SGP9y9`)zb_+7#$Ve(M<@YHWtHQla6#XN6X zEWB5Cc5CtGoi{Z!ci&ReKDZ~fW7_$dFHRh}vs~u4L#Oi-xzn6#&sR0Z3yZM1tXgco zgnhpK_s7+10(yEAC;PtU%vtFFRwd^1Dbu2#-mQ#o9}K4?W^QeKIJxnRs@F@g)VrQ5 zV_$t?;g*jtwoH9fEy+INpqH`dPfu0xL*ik)%b$v}iC|r5XhF+dTrhlnn%=4c$OH=T|u?In)y0bR?o%H`oi}{Atjg?>D z3-UL5_jK;;lxt%sS@opb_~eayzBf;?nDu@CP3H8}C$CHIq&(tdXWhN5Kcb?-jD~NgJc`(H6K$Eb{CHD;_j+aiK{_yDiL=)@d_VttbGag*h zR-MTn5xm>@q2umtyZoN_bjk}Wi&=f{RV{q-Rq4~uRq1gbls~wfKY!uG9*Q}?bZJ~9xvj|Zhy30*t@2&;(1Nx+Xk)czyE%F z!JK$;+nb_H|78(RLnbQZMAfmKx@&n&=#Ss^=BE6|F{{IFJo>!)){~Q0_gxL?%==WY zw(Zd7-|t=t2iRS0=0CSrb*|x~eS+J!o;+*2#lJ}JnTKcPnG@yTPHovRHE)*<*F}$3 z;j&4^a)}eALK~y+Je~Hg@Xo&J6Ri6i4oNYqq&6bm=pE-H?@8dLq zX4RQlH!uGbpMSVq&Gpd-q15$pqHA)pQmwvu6={U7srhtm3Y+{gp?TXAx9iAMSEyzF zIo*BhSm=o9xfNZ)6G#`C+CS zc<1RpxqUGy{dy`#Ze;&4DX;08^u#{stx?FTNwUv&th-dYILhbm^;fM6p8hv{!T00; zbH*~0r*=laZ)Y|>m?X7N@^-UcpWLP|d!96wT`a43k+yWlVXwYsr-Q3nLRfbeS}*P? zzH$7a$Lqt9sf$-7HnM3+iz}8E&zl%>>D|(v@??$0v)=5~nOr085;ohVT;c3)?rEAm z&A(-Dd^nxSz^u9WdvLJHx{kWVVmD^;xmi{>z7@MW<;iI+#(yr2%VgFE$cyOycjWF| zQKT&5KEv2xa%tGP8P9q4oGH}tk$4)vqjultZ%YK`@L#THy;W$tRBZikf2FNTX}ZoP zN4CvVvEMmYuO)an^MvVz7o_HNzP+j4Z$9nW9HEW{`bqz5`ZKo(E7xpDy3^fo>g1mD zI{n@Ujzp{Y#WkL4m91X7W(vdNXH(eEU%4l~F>%#m-J(+!&AZ;qKTw&S|Hw>3KK`c) zXVU3!yFdJhGSg|FEuXw$!NGrrR(;`+Pm=!hu}x^wEd5RLY|CzWRzLh*`p)3jZ|^ymg3C6OIz zZKV8uU%yXM@s^1#N(;lnUv3pi{>mx(KkL#hM>m~#4x`>VKif+<@@7BjG}8+XoZ$11 z*Ti7X-u?-kavA0GrcCVly7;uo)Su>|i?x=$RXKfHOs3h&JoV=?QHD9v7n_T?m$&%a zHm;PaUEy-ayZ#vG?Tu$@{=|Az8%i)7c&c@7=8u1?&9kTQFO&RTTp_x8r`hydVv{ar zZ(*_d-FDmL=t4HbNAW7Ls;P2+T<4}={k&H~x@C&H+{e=n)rG|lTBj}_2y30_@w0f| z&m)`LOQ&T-t*(09E%p21!zaATwtt_v$8(46Q#cg$=>Su2D35U2rmaj5zVtDMez_Fm z-+9{Oz{|VS7}6J|WPfN|yxE`IH@EMwe6zE@Z2RSG?wfnN?!6QXm>Y7=UXgXO?#!Ks zPdTqsUY2^Ix#aNnMrQ@CrMzDxs!Np`YOK1PZv_Sp@ zO+Rxc(@=)FLNM`DV0q_-?OTQA?)s`;xNJ5fQCxV3*ca{(aZfB2K3x~Ee-zTS_soRl ztG<>QKHK%tI_izpxpT?E9AX=nGU?tiXb27FIb8kmz#LdvpcVwt* zo?64=eB*4bnQMY~B%{pL%T z1(~n^8^+GeRU|zxzBB@)ZwyW`tBi|@MuQdytK<_BrkU`w_Rv7u_^LyQ4A6IqROym z#^n!9GOcR`HU>=D_%S+PT#`ZHon?&aKEXY4H&4Y`lz$Lw?YlL{jbm5Z7S_dQ9DNQ{ zem0!;_0{k9E2g$D`lnu?m(RD}P3F6ZxC=zZTfe11eU@#Bb-4d|Ex~8U8r=_C zJ&_DP>A?R|H@fwHTzuQ|zBA|A4c2b=+Hy`{e~#+@)rm4iCxv$LuY1Qd&G+Ql$V1nJ z!*xt6#e#lLSfl2&_psTzPuwy3f9D>uYq`SmMEqf?qwCUp~04^&})Y zgDGx5opO&)=BT z%fD6I;9G9gyzN4V(#dD@{%^nKyZnHQH#bTYf{aC=>u^tKD@)vw6i z-uL9jy60c_pQy;Fvs=8st9OM$(=Ju5TD!MtcZGJ&+x^0+*grY<2o&c1E4w~9Nx@P80!F2Z%r^7>;->wd$dPLnoF=Y7)n z>uz$!xoKA%bW?XP+W9l+!n|NE#SeTzt4p)|`Yw1)DQWTb z$h~#TG3}7vhn;@;(ye})?)SaV?U~%VjqiOXmwF6G^ClhkNxvB%iG|Np%~&L#Xxo0I zFj}m=!tU6QbJqFkZY!@hsrRWpwwvn59=v+mhW3y4>uz}}8*Pft{jC3YCi9u##Igq| zp>1+;6VA!D8QHBnesjV1&AlRG#_IZJFA^^wQ(}Gb@=`Nb^f{?Td=e?Ee}yW%H|qu+8BNH(wY0+uUpQz{HfKj+!|27sPV zxpaT#)MmxaB#<2hrjJ1w8&&e-!_R{LJn>%%q% z-=52su(-tRnmExfe7lE&QotJH$o$_4TT>l_3JilBoHfH{e(mAX+8q{mW$s?DbqAdP zNvG9bF!0(}U%RN*$ZgNf%&BF`5kJJ#+9Co?pS`l&^LiWW(z#Ej3;mR5h*4>}v1IP= zil+Rkw&vC!nlp6V5^CQit_T+_x^wi=ob?Y}KCQiUfn&;!X5mRJ3sNMzj!G3Xmr6Nv zJG|LBr{m}w(|{vi-u6sfc=pMjLkktwv+8WyQMR>NjsMrdrzwx0l^JFnFc$uK`&8}n z|CO&EL>v4xc`a_;Es>r|o2aMv<47U2l%w+}m6=^=h*v7u1Dy z3z_bkaGvig2fM1s|7R*#7cRS@qKs=ZqJv zw4L=mY4($uLAm*M+byHb?gu6rO8;6KAn;7?X(rd+oj%LAoc*_d=2`oY*S1{Soqqps z&$_jhZ(haUX76L+HxdqA_^5p#Rj1VSq`%|~gL^h^)6OIsM+uhsO-WjpJ|U9vKgW%h zt&2KYQe<9aPinRLxcQ?{V5QZ+4tth~eQvQ=i#FYoC@#@R>vicm%GIH^fBl{rJz~z! zf*&5a>-^ZNx%h!q{N#o+OK);r>B|hy%9SozF?~naw2Lz)74yz1bdtR6yE$`9@GC8y zlq*I1zG^*sTiP8jE;0MS9oz6f{qI#QXYP*mu-?}FC@{xshFeXf1w zq8J?;!*A}X*H0~4y4i7UTh=?niQDb0?`6N(6Y1Ea2>KfnL9o!)bPqWy| z49+esNecS+E=y|7hyUUhwtf%tRWIDXH2KyU&EM0NwU=uIw@mx&&MI^Hs=*7Ji3TO& zpQKl9brY0JOi7gg@J-yp$@X-6h2&ZBgqOZ&?jA7E*2r|;S;KM5@z@>l7^Rin^&b;+ zPF(*3- zO#HNabJgSfr`Xl+zHetZU-ish-$Qx!=A&iLtMeByxNS)PZ!k@K|Dm}K2WQ62dvvhc z@5PTLUM<$z|3n}7W`8~vc36I;&o++N<&#WLiYQthQBf^mb>CTI+MREh@Z?2cvH98m z1*#=4w^l{ezmEL7n`?o&>E4;?+nqJ~pPY>M-KJ#w=#ZSo>%}|wvvBb-*ZsV$+V{Ed z+&1;Pr$@K#{IE6Ug3`&S2f072p2RV$yI7qup{J+D4JlO?h9ZfZyWocTIC!^D(DwdCj86QQz}j{o?* zTOF^bzTk;{a8X&fD0yS!8s>{Lw!Har;gw_Nm+gJrF+D~p_G?yaB%5uLSYffEg}<`% z!miD~wLh45-MgHYr&*R2U6J?3U&GxlH)mDrIw7(4BWb_=aDhx)@ICyk!SmGG*y^$8 zgfB0gT%#X+R{j~g*=ADq%_T1%N^h1A{m{6vlKUFZoUlXH0%D0B7Q2_9oEkPY?qB`} zwVzIE(N;{(_fEBNh-+V$tz3A}E8x&yiQ{YXd;BM?Th3#;ap$}F{TC8;AL8%-IQ7M$ z?z?BN8P#^@yy2+0!Cx1*@s5~3ukzO;zxW?>7V|XDT4eh~AVcSJqgDC;*ruGqDWCji z&Ch-l+kUTT^5y*|tLJ)Nl9yaJ?;Gb;wv+ZBoeoa0i2Q!qcljBs$(O2^#Pi(CXX)E) zd+~d%@NCz({;OGqTqh2{bI$y7r)QSePNln>jb3=gJKTRK5OKO$TH^fl@Dm2-rfA0@Atoc?mf8Uhb-$&DdXw7x1}|1ynQH2{CDrzSa;dvfS3di6YOMUs6?vk$Gq)W(U410=ub#dV)U$froIDhkLYPw-db~nAb7?No-e;;>({5rXxzQ5k}erlb)HLgAj5|7}<3FEBQKyw+-B(OC)KGC`JQ`bMJ5Z=e4m8=mM;tMhbg z-6@ar(H!g4w=LbouvwSs`KEP+J~F@N+$hg$yJY8Pk)Hpv&*Z23`<#&bt0!HNP;{7H zmg#F6wcUQ!rN*BLspn*09aX%fl3dT~9D4r3x2lc|CHn2CKG;)#@y<-RdhIyO+jq-M#l^tQX6&$bBj)=fBH`XQfPj z|8d*VK(#%cua{>`x%2W!_iK|^EiI?xtCBd{rGxk9KDpg}`OvBG3om1Bk6JC+YiTmC zP?+h^ySr@bqu=dZAsBM4W93pq>(HIMmT_u0hl^iY`TTEkh`uk&f$J-5B|8+H{7)>G zzQ<9R{pv!Vk9+9ZfKHe9t94aQgx+~9w*MV>$*RA)PWBn5P3HTB?*9x~>%y77eDAzD zJa!tc-z~%{9v51!Shc{-FYzj>~_ z|KYZs@-hCc|Bar^Kj6sjx@O|pS0BHoE!R}LCH!|ms+R4KbBrf$o~ZLoay1RUd+J+G zTSx3+A7R7K)6IU)J)qte@>H|Z+Ba(Hx+LA{6ZASB$z3vjcs$8Kt7s*chjYus9lzTy zd%LWx37tCgmB`|b$k$pcl9w1&uX@wB^G<%me|`3KOzSh_%R}~yhNQ2U^15JBuFkYm zrj@%c%HDYOvq#4u{C0-#mrZJ)PqGU>;yt8cQ4tlWWPIIO%%{)nWMqYth%eHC9C--lO z`1C^i;qiLi{JUH#{L`#wmQ8Huc`qaVI%^51S;G>s@;h_amHf1_xN<}xmq*hMv+vmW)QSJ|0Y9miNv5%iTelTTX47 zv+Dbl6|;=CKlz!lyLZCYSw0&JZ@yM|C+xQUsO&xON$y(eaVF7onvaPaZ~nXH^Nl$L zdKa(kE-cF2pLz1p%)1XB+gm#9>$g##CnmooC1_6YU-YsZg&5DKiS_o z{PD^!vkqY;pDhvIxlDLzuKAuv>;45KN^Lyd{!r%O!;kO2 z&(yJ%df~J&HcZXbj?pYECV!Rm>aMx(IS)mJT)HRoUs2ZCKx%PguXg;j>g#TsemyUX z`Iyb_UiImD#Dd#j8)qDKlK!}ylvDmz{YZI$N z6s*Fh8(M!XUVPst<;{dBmuqXKjH;dV=5DiN$)22*up;r}yd1WZ3k-SKckzFB=ZM(7 zf}?Qr!DG?>EHBCqtjYiXZi9Efjmv`nonJcjYow2(OFj@@HGQ2~=!`Q?_e{Ae zIrBa5EAG*M7p>&t^8D&T)w{3sKUN8t?mgl!pQ>uodO@S)$!@QAz17VJeoPB}DquUi zE@z)dahBi>hIQ@sZm*at*wkj{R@<}IB%e)b{$64HYQloVC2vot$qUEyJvw51=90u# zUS1)V_7AO9%NMQUI=WI|(yDW3A2P=975`~4xWK*nn1v1pAJfO(EP3B_@4OK>CL*2Q zC1bkzvc>Lc8@3$Oj?UllbmHsDtIsX(v*((UW00IEEg2Uc zy1~9Me81@P53$ScA5kmi_@^dy^xz?dJn4NR35PqYm>1p1(dcyb;Qp{;{1D^Iz?_sTboIY{sLKHK9g7tTt0F3?|@+S2n^Tr<3Isf%*bk%eK?3X0@} zx4rvy@A;}o-K}@nV;LnkZn~Hi7_{9)g6n;=*wol)e(U1c>ua7w@8#e+BYr-B>A~qhRE$QZ~^a!R0L88C?snU9i3Q=By`| zF<*|{XR&AVVh&ckH;Cgaf4)vv>2Bn~*WQc&nf||>rS_Jw&1}`gbctNijXCET?thRK zQc)0$S^W0Lt3~tqn7WldpKXen_@AVtk?Cn$D@bng)&fwf;t=hfUh2!VHWwRdc zF5MDwcQ0>};LrSkd&Xkl4#dAbS(EbDct!f|E1W+CeFQx}%~5slm0I=Ys_E)gb0)05 zF?GV5>Qx1)xtESDQ4W+9i3*OB`RcU7d_#Ep!Bo?dl}689xDucK zt)1MuDOt-w?3<&&wY0se@AViDrE;89UUzVF>aQ2eEE1HH+P)`5#PuF~d#^X7USus- z^{2z16CU1Odp297{M)v23t3fZ&G^4wk0gY@N%_{9CJ z^J3Mx^Su81NB>O7>iFXCn-IzKZmHH;bI%VJ^S(}7FZSpt^F0Ud!uEIN>8}@d*37T! z$!t$gf3qQUf^g%d^s|wRYB#+;aB^1k!n}M^5|*IVSG5X^qpRLvq9!t|7LsT zxo^IldJ+0Eeaa>!@tkeZ-|vZPHFl+L-DJO~pfT>b;L?(fVh_)6i84}Lapv}nc$3u& z3qIUFFym*?&-Z7g9`OH`EqQS6$70Kb;FZS~nr*xj|N1cdqzKm3T7fw4CxpGr4SzG^V>C>m#Cv913EPUn!PtwAd_ol2(&r)4u z^6dJ~t#=A1x%u6{;nt<>^JrDb!j?Br?>*u@m%7jM+wzBX%xV4p3@82`Q@wHE=#hza z=baw>l(@I0xB7Rrko4;Zn`;jWSlG%b&XB*{$WgfP&Z#qJC(bxB=U-5<$X*RCHHRyk zSGZh!^@I6h@YdJ&t~@Vu06B!L0SZ#?U()5CoZl!d&jZwc-S;`HdS}QhM!NJznqKL-L_Vxt0PnE!_lWL zN#C}39)F-QIq`ybXRm`wbtPcr{9|Yto_2$ z+P7C9^jQ1Bsy+AR9iH21=1m2)z?zAf64m7VoEzcb|A{%=Bc8Z+*KBPZdlT^<>`^Ybieh9P8IvRt_3H&EmJw$B^q-jr$)QY<5BwOXC85(a}wSd zg|ii}oqp~4n{N!C7Uyf8_{UoJ!@Bjz*NDpp&*xch<6E@&v}Wt2LOCPG*0XxLE4h`f z2#c-!dfPN}#a`a&xfTW*KAz#n=6C!5XHjdv{7Lb>&@P?*56XT7RDNpZU7h&!>PI#C z3#Od=4@cj;@lU=kVm5=+f@|)3`0pR}4Eb#EPbKxB`ub%*S2gHV7V_lQPM;?-%Xi6A z-uTl}SM&Dt`pk;|f8%kySA2ED%bGl|_1OiL4;~!3XmHUu``PN5i~fB$`AGCPYn-Xs zMYEg6p0~TWCY$Qoy_H`0)A-ZxGj@kRE}Ohn<$Gz&+R44HCjxHF3U5uAR$JP*Ok#1u z5sRCWIxgZr<#NsTE#QCux?gnL9cAIOSuxi)PydkFG~rBAA)n;bXFrN~HJKLPbc&qI za`;QB(2I?8n6pK4YA5yxNU`3$&Bt3N=xCWgW$GWdI~EF6)m(g)8{{`N`Gku^uS@3K zt7wy|#&P(LZMI$AJb_)o$G1*)^5nDXTq&Eqb@$$)_4yKOCAg%Te?QjU8F)hO!l97p zXIbYDZ#~g#U0~l6ym-f~gMHyKM|Ex~Djt}7J*K)=t?c~Xf+L-qe4kIfkZ^*}>Fs@u zzSa5X0`R_aNU~ouhP)m`k1(= z`Wws3XO2BAEfn_tRrfT#nz8bV8pqwR>k%s68~@F-e=Fn2e%1A=>~|-t6i&kf9N&-4 z*|n)B`0DQHrybqO^K@_UeB8pa%6#$##giA~t9SCZ%(YpaUYl3BsNQ7toTW+ck6u~I zp)oPN-Rn*NrHffzem?C6eVM%X9(_7^{^bvu1#xjpb4(|_bXhQaZuo(yXCB9wDwy4T zCLqFgG+J4Cav1ljzK_Kp!cLw)v+GnN+ojH?o#z4%pDsHzmnGt`#pblT7BALUHxwG4 zRW8ol+sI`4(@Q(W>HPdB%axXKd{k^;YZL7PHpKY@b-|O`YEg$=QzERZm+Tdt? z`SvC((S%qdAN(s#>AEJ<}qP0mkA z)%QuwOE1Y#urM(*L9EN!ezNCzWwT@IB-?2z?`Exd_4>0`0A~sV_f;0oDXpJn@?RN! z*D46{ui=*QC>MS)|6%>6y*rrPxT*rw^&fFhWv{A!DRFVr@%Ookf$4_@S=l!RzV19S z@5zzFrs9@|`S>&953DOa9WDK6z5W@EkXO+~qR*Pi<4?#lynmP`~HLQti#vl zZ~XduqQ#M;Q_NcxzODN6O8cBZ#d3jschB}2JgdLIZqYN|Bzcl;|AeylYD+e4_3sJp zjM`+7l6xS%g>~EYv`yF8zxJ}-O;{_sB6fP%&iM*O{3buz3cnciGR{^M5kLHP{b{}D zzW;00RFwlgi+{4U=uzgj_a1KU!q)8{s>J^VDh`r}@H z$J-KVT4$VuQ~C;ye){*M*RSnU#m$eq4SY7{{}}`%iamT=L*W^7l)DFIbjqX^5LAHH$t6nqx z?wUP)ZhiXUgto;Ye42}t*WG13_))?#d9A>^EhYCSefWLnL&{_q0qyR zo5LQqmMw7d+wxy>Zj#BVmo-$kmYIldT%DvOYNxT_Ps!c46X#F5Wmwvj;l$JSWJ1Q5 zxca8PKd1F{RNT%gJ4l}qD!#Vy)ZZ-D+M|!--`icpf2~dJX~O9jCBaiW^Oqk!!@I9AOT4MLz$x?N zF~8E59rr#)+kJc;rT9~)qUy;0iQk2`>|dLEs_p~3OV&4=RT3(@|1a2?dg4EOJk#5T z#0P?U=iW|m%P9{1o1$IM{Mohd+iN+)6rM!yC%k!Y9Qy*wBZ@Q}xG&1_exH4IhhpDy z{UeChe-s+v!%P+p3 z)H%8G`GS-^3BR^^`<0qC?zn6`A#b_#ioLyrDrWW`%N}q;Jor#k7U5mF6?m zDbtS>EQxyDroyf5IU)1X7R~BBhI!ZcZ#M2+Gxzk0kU#ZB`V(@lxGxntpY!0lM~le+)D~QrExwuds2j=i{5A^QHF6>74ecxB6n1 z#&=bdujqK9Ld(03t*+HK;zN(jb7_^_S>zlSEi~cP(Phfgn+{!(QFzBYq1ZEUuNBLw z*3$>}2>0>11byh*vG9xV?wSv4-(L@u_2SW8vPJCvJ3}VVl?_)5UQF3>%J{+`0+FM>!1BQmxMH5QB>1hZS-fcme-p_m$n+d zTKkh}9eGU)4O*t~l zU6FmNJNK+RNlz7TU-`Z*L9}Y8>n#C;x9kxM6zn-g$}jV9&U)u3wnzDz#2z*cz5k!z z$2sr*w9H5R<6Zq7N3w2Qm2vx&eSTR=!fGM81$TXxNpuJC=q&qV!uBghecx1%BkQ*w z)ZZo$+Rz^mddsS``ul{l(r*|=I#!x}lj%x7V5wL0{7>`#FOyQd&zKc9uZ&%I)ZoD6 zAF6r^2PSR&x4A1|yI5cI&GV~snQxttl6c=AU|6>82WPdtGQ8I`_@G5zg=4U z?iP>Yk3T2wOYUf`J!x@J#c`jG?st*&RlB1fTvYa6>9k15$GqZb#+&wRzNoIZ-}3K^ z_RY~U{d2%OBwaE^?qo*Mv6T+|zouSPHCO%fSxsXLqgmY6`UlmvFpr zd$(D^F=Ia6h%+lQcE>z0`Effpdslw0>gknL2Wqp0)=ygf8Z|0fkJR;T zD;wQ!b2N)drAcSTtxP@E|HU%$vfBRc70#yNU%KVhUWA!mZJ6efy`0H!dxLJaXnTpk zr*lx27Lb+75A4EOIt_H!od@H@r? z-(T5v`@npSYnMy>Z|r7%KXsQ<$e#3%Pe1MOl5BLm@n`SbJpxa7`2YUz_WLbxBILGJ zOF#lorT^2vAApAcIW!#mP9-1s=ZiY$d{%h^YQ(GsqwpaEa$#0{=l}N z&Cjb@Fh=wEsRh=lE;BidwrhE>*>T|Fj+GBMS#H=fMFl%JhG%_}dRh^(=L^##@6|Wz zAN|)_c)@e3RGG${T-g@ktlC}Uo#@#O1>`Y^;Zg+Kk-zt zl<~fe5mx@JQ&xLEICMqRh@&dM=W^$Tt6`rmKjX6$Jl3VN?59WH>62m60!6QOZF(%i zk$LW@eYsEgqt~yyXG-mUIJq|?%H#Vwo48cLKhi;4zI*(-v%&eEF6V3UZ;q=^bM9Z< zqhUCS=j3Fjpm!4ei)XKp?b`Q$yHI*Ztb2H5(YdCT>z=L6Zu}ak-esik-JhiNDK1n; zYVQ5F-l`t?i;Nme9)GHMD8zKtf9sDKD^21QHtqakuj^yD$JJ~n|B>ZE8#iD1W?r$B z^`Gh8$d^L5W_2bW^nI|SdqLR02HBuE=GKc}w@;h8jPbCMTVlnDFDtK2R4;AZC9{Y} zt2ge$t~;9iX@y1?d2+Z}M5TNjU5jQ zD*M8N;3Ev5Up(}?wEwSk>Auyw-X(wAf7yGzL~_6A%rgp;7bRYvb<}NJ{EqCS(bI2v z8mm@`<<498gXwhp#&urj3euA&D&GHTC7E)n_rZfzE=osMvT~Plo$bjpm(zK)^3em= zQ?r+>GJV6n+i97AlIhQNtcNU|zJI!Tc5!Cv#CNT>zGrMyYkAXkG?&a(VOb)*?s?bp z$hIG>A5OQn$L~AncVg%4-K%CwtjL~prt16;S7z?3nMY>GsW0I_o-pU|)*b#iofF?1 z9P7V-`my`bqN(8*PA*)w@yV41lgnA<(-Vr$FtFV=;o6*VXq(Ii4-Um=d-e7m=`3-5 zqx83UUCiJ9_A3_-i~T8Bka6N;`VWrl42;6AvhUViH=BB)+kb9>!l9#~o_e_t%#U^) zeBcyyift!r(e{{^)2=c&+^TuAN%En*=-Q97Z%;KZUoXhF=+FMOfti5^9Cl21T$9A! zcOljCR=tK*&4C=|lp}{127jnsYmqfUae=g}#O-@bj%!t(N> zUE1$myXJme#ktFPzHZ!$lDdt$xesRb&4`~j>*V)s+k*_c)+Y>C{l6ot3KF*1lY0 zdeic^;Vi%3PfG=FNp{WkNx5Ucc0(b3_GcMuUFRme(v(Vp3inM z^~*ZXCeNJfE-|C|As^?t)vM>aEipbdU3ve%95+2SF;S;)j7wzdPDOjHWa4}xeV}QI zmcFKSfw7+JAtsNug0)+B=k)2PD8KcIJ!&yWN59+Y0gvm3J*&G|^{SWnu6nC#D*qxS zVUDCeOI+8Qo5vq~Ki?&`NU|oD?T4J_y`EgrZ@*`WU5c-M^wxP+&8=HoOH8_d>MZ@h z5ncXBah14!#42_lIft!Nu68l#v0nMY7%=ys!Oz?A`#G@N8DN;8KblM!2gg% zGmbvlGhc{{bzezE)gR}^_wE|n>9_xW`O`AZ#1_HFwTPPqtncEmoaQRL*AZT&zFw7h}BYwl<+f@}_*-7fT2W-)y&N7j$X5Gyly5DVOCCx ziLuVgc(^~VOuaz%RJ?0{Rl<&sYbJ24?$)=-ynZ)p>fD*L<^~i8UvXagtcRo$IcajATXq{W37m;^5xVgB zbQo)@___Bp=C-7B#QydD{O0IJUN5QY5S4L%DxLuL%mvy_Hf0WZ@ENT!p~*YelJziaIDPboH6n2vp3vNTO>1@on;Ir#WJs5 zpw;u@&4%*Sf+ux0?Eh*uoMH=OtSqXRx--#@af|HPr5+}H7S+qEr|o)_qW@yzWaASx zG8_vYmiv8SydgO?Gnakwf;Y{=5f+t<^Vu&H3!i5=e|zS;t!K*Z&$hKlod~LW+PQ33 zV$=VVJ9n1;IU_VN>Gm8BQRjL2_U>sM}?Wz%isJoyg0=I&V4$Lisq^YrHr^KARv z+FxZ{ANS`i;am1^Nu1Y?c(>UfLtMi5{L@f9^4)AlS7ErcbPHq4n)b>K41H4dYj6AJ zO>~(!`Ajb7$zMqo{i<)f0-0yFToo_>%viaQ;pw4S(<=-!gSC{V@W14mne$W7v@*Nt zgN0 zd|$mxPj<&McRxO#yOOQGdSx@~>GF3Owl#rVbN@^_ap3H18JpH;4;4IQTDr`eH8)(V zo~)==f6KdIZtLG7E{4Pq&Z&ZH)ti3aIpg3n>B*ibwlD8CY`*q@)xAc17MlsABAX{m_ZqYZ9;CND(&X zb~23>ZM!CGmwiVrwaR|&vLicl9lCppkL4H4Dslmlg`5*j$ zDV$mBXu=>N{i=4!uivL1YufY+^S%}>b<)|b(af#FFEQaR_x$8&&-+4O^sL&`w`A;7 z;9R^TELXp8?yuWV{p|nkTxuZhlaubSv)*_@mt=)<)>4}#Q%%;D zQHObo^{x&ptlICUUSzqT__^^$b>4ON2k}7OnUrs)vT>P4Qsb}$gmr&TzO2qampd7 zNedIE6}Db^@M>~qy5Z9e4_?RRO%d;$`L3#V>F!yPZ5<`2{LGUge=?cYybgZ%b%w#T zUtd06)+(vGme7#8C)cJUTrqd@v?(js_=@RYjy%6yp6&i*hT!0qm9m|l!p22QuKLxN zo37zn7+=4d(|@+?%YS-DC02BQ?#=8!W7Vi;#Kt`T%NpUXv@W%T$~}BXu5A9Ry=+t9 zXOlaN+SrQMaCY#&C|@qIFegsD{gU34n)`OsRr*VB7C-rQ;mNX<(Gg<(a)!wqx*C%{ zF|0MUX1{pIs36k*#@vL(7OU3?t=O~Wbgl8M{)N8+H)Lq>O=dWFvO}!liDO>Ejo+Oa z`x6UpZ9IJMRU7}w7PFx?w&21lp+Xe_AR;h#1|;LPNuv7*OC*O^L8 zm^|~tf!Uw5&A0bv#?Q!nt*kjUH8y0+{ytZWWB*Ny`IMighosM!n*O1!;GKq=;K{2u zKOGf2-+6-TaI~|jd#=HREd@oN=f2{3#^I2A^}hO#LSfC@cfM@jw^6XzLEhr(GPiH) zcklHF{M#h`y{T}|)tj*qyCzGxol_9pd6w~^`@cWC>{ajXY3OS(9g=Y^wUfC+GUOv$NgR#-8cGvo1C}9@~q_$K}l( z4U@}QuUlMd)s{O^XmtD3kFte)|ITkN>9cjYA6o7EIw(!$S;Xr-DS}K3bh%frEb3in z_Gb#aclR#O2W`2Ui8J_dG6$&D;3$WQE6$p{KbIZm+s3dg|-}-jW|IF1dnz zCU(X;iQ(6m>Gzsx@l5$yzm#`RThor)xy<#&Q}JA;BZAm`^JaYB{zsvNm`%!`kUS2?6hBJ zrl0b0|FLP?HqnFODqAKLzPG9hF!tv2U2k2!s>K$y4b^nk#{pV^&6Pb0=4LAG3lwXM#UC-g~uVM&Vw~Vzx;l%OF z4=R?MC4717v}38}UFOddUMOpu7+lwxyI3RCdEK(R8#2qyZzR1oKKjv+;}y?&1)c17 z!dqAy4W9QN(~7G$oc}dWlJ#|r@GMrNYR9U0b5~AyY}WB}O*`fl zg_-m+`AdJNU{ZgSZuqMIZmJ zetavfD!qCC*P!r7_Qf&Yo8L9I^eyK8xrO+dWVa+PJg=-a%#!+ zoHv#WPrGgGG?*p!Z>tqsVEX*jx8D}k&S>-5rlva0OyZNk1a8?10mn=6`!3&NV|X7c zP?os$HIwwuK(o1$j-|}E4)GuO{p7~;cjuQJ5ImJ@7k5&q`9;h2wi5eoD{e{|EqH0A zm#h3OB*ky1#+raR2c9g@Iq+`QRn;_S>#t^^UpIO1-M!{-+kd9?(Y1eB$A5V18LBJj z_s##&a`r<0fsc%jD<<8T$IRch;o95gvxYZ+UC^AWASiQ9*l8LUJJ0p$6AUUDPVXqc z(qRAW&DLwG5`AyQdQL}dsyHR)IyKk3yFoALLfuKu__a#wWX?y3qe2+EtyLxO z=dRyd+Fd+V%2{rEdfWF^m&3f6%g!uFy2x&OM1Jym?SC(}wK>;&F*}E^{grxo{sx`A zc8`kh8aj6z^%TWZS?9f4^N083gpF3|Q-x}GXLG-u_wLYnpCxHk3D&RsKTde|cX?%wI6?hMO~f^L`|j#0;AhhbPBe?&j(rJ5-x0C{|Z+ zzf-|2$)Qj`QB?)@m`1w8OY{>t1n@g9w7imqNYRma* zf$EEkhrFYFHoMi{v^f?Ow(su=%P(s_{1y?PwPeP+Z*Lizr<&a1UTLwjpt9ZlbBigj z`kMuBQYGd@@$YrpIf~i{%}U z=da#dZY+0l#=Q(fHBZ@u#s7NeZkzedrFy~KT}3%7TpyfR6}NtFl5Dy}BD>9jkOmen zhWuq-o95PTd-|3&o9BS``xDiRv$f0TR<%7>$b4?J>vS3SyB5|h)9P3KNag$>G<}kI z(!uuX=X3UDn%(MUZJ+YucV2hNvAl?+ZsEf!hn5vSlIY$sEpcyqeY1AXnojdx^@ZAA zbHW!+e&nJeH?!rQPGm@pvrC?z$h|)&zOR<~=Xs`gms9AGn`TE{qy1dIAJj?;vUsf> zVN`Bm<57G)UUQ{X;~fp7dv4ipw&@;blB~TM-8ZGpKf|b6X+3|Vua z;^3Og$L>wM;k)JB3q7~<9!6*8U1h$%YvKma(1jNzkG=Y_BXEMu5wSM;_1$TYHQqCM zE>Ql%Inh0Bdd{r6hIMzF&gFD$EPD4LA*cA(b+`K~-?T2#UVNyv=S=OioFgnrSC71P za*sN&KK|Sv&WY1M2t4Y%T(QFRj5`KN38qBP}7$H^?&*|F7fns)ot@;uq{-e2GKhGnwom2F+8%68br zxZdX4a@g6e-p;T~DJk!t>FI?r5;vpDHe?7E+a*Q4DgCme!T0nZ!3FzsLzk;1dq+e{ z@jTLWw=UhLHGXhtL6u?`PF}m8{XKp_4E=oN#SCK zkLk+~?3<*ysxJR)_q`=6rJ164hi7%(`qw|W%SKYs?+l8yU`?eekW4U*!R?k5G?!2PqGi)BDS)WXJR`4g`=R>u?J!>^*+?5eI zE`GmS<3e^oPr~)C=TW;RCfcSlb7zUlw< zEyXsT6?5z7N}s2fJ88T2$*9e#A>9SOpC4V$KO-FWS!-WP)v_Il9DM(l<@hR{-~K;m zP5f?u_NV>=_5Zq7d|Fj<@!Cz5aQjpyp`%-xY`s%zOdj<;a;p`2{`?Hc0lm)duL^4E|F69%BUSaQs+E- z(-&BzK1}G7{k!Gd*H4Z=d=-{YUp~L%uZS&Yt)Q{t+w-9U%pbOgKT>}3CuPH%6WX(# zj`!Rw|3CNr?3X(ZNKH3Pe>Lf(>Fv4ERiCEqE-#xRzg{QL{+uaOx~#-DeTh7o5AKs= z{(RgmvoKA6=i&*H3M_w;6%OwE=Pcd5=9rA0Ui{&vyW8YVWm&mq*KB#&;Cyl$Ybj$c z-`A7RSnNfged77BZ?jT|#;d^AV?S@`?=xmybWqB80aLi>ua$GZDTg&5d-y4A#YV|VMi@Mxa(RDp~MmtQ7rD0=qfi0|fW z?AgU@XZN1%>Gl?I;=8E*Y|5djk7rB|49+$RQQT|9_~iN`w#=ocx=wpUo6b4H|6r0$ zB(`-GMh3*Jt1ve)LRweR)aST=u8@RORpit9nq$3>oNlPgw%t5)_FizB?27EL>5opY z(9uxQP&+MfHoj@@<^Px0IrVTxoLB3-v;IVWMPl!|v)>FJzj!_&RP2?=#8&p;1vc+o z4nFOOI@9y?*UpnB@prjy_NlknZ)tfN{I~nZieD+~-tSht!}#Ob=g#g~E~g^1|6Fwv zn(6PW|xE?G5kz zg9|J?b-Es~SSNE#)qctIF;p;Pe}DC*u;h8aCWRDjy&e!ShMS;I>y}hlXyW6fP zL-f&|{X5J&9?YF=v8z^0PvQKFXG?l6{I*%jT~iV0S$f6YX)RmY909?72k!hzN?P0| z`|GD^Mqh1vmeJO;#eT+Tzx|wAbHeta$3Jm>MaGi{ma}~D&TrB;OwMSm%Hq*Y;SAmE zyt&i!^tNXcOu8OxKHK^6$gDRmPLu8TPhkz6@zjJ@eX2!5?tG)zC2A5@`yE!S*nICv zt**0~B-0;@IZaDug=9&tZ)9xGJRvbvsP=h;*5N$|#3bjKsLzQ=&eJT4&RD`1vZ+jS z_gT)kkT}0>Y(Jl9xovuC$A9qj!3DJmL7prTx2M1RcjnCE-qV(%C;JWjBk#R+Uvgbr z;`S`2Bu~+tS=0V&ur53OSYl0QKBty!eIAeE7D+eb;MSsDyIv?iI=x-yIkUX`nMy&| zhWisuxTedBY;4+c+pgo&dzIHH%&fiO`MiUw z|GZR;n|aqKc$&nz>#d3`J>Zw{W8z`%-!`AUr%%wCaoW|wZtdEV$9oUG+?YF4=0f76 zgQveLa2wruvp@Cvl0~ytxmZ+g4gJDBz2=uqK~WXQGM=46$971q`L%a*o_)wfp${{H zvbH8a-urCv)L7|xjt?e&i<&xHeBz4yjZF4WYF^88eNx%X5D4qifg8-P_yF&u`|}z0Ld~ zw5?I#(h7DH$Cb0vSJgTOK>E84;sr*8b(Uu|>q|!<&7~ec{a0*`GP6r+$ktDxN;0 zW@p}wv!~b9th>Hk-t_mJe=1K3J@#>I=l6AGO6NBS4%%bddu{G9|2-E!8&#HWtg1f2 zm%ml6&hqOdfi+h4iYq7OvsZ7{XI6LO^W@<#ROkuiWGf6wVtTDLkIAjlQnKvU*^)bJ zPP$C-fB%zFa>CM8Wra&WN~gRzn{(gY|NYPGo5>dw_iSEo__5lH$GNgRZr}5j4f{T~ ziPlds;5?Q&GgW$-pX7tP%quwFhg=jB-qzx?r_=Ux#o`<1eE+rF(b&DEe~E~$!(YCK zRZ)}AX*Iq~JYiXtyNY9RsH;ze*^e2U?f3gAJD%1*!{$?BykPZAhu1p{t)F)n>F z$K_sf&?G^eqgge}if7`b^|cv(p9|uj7~W0VbGPD=@M?)3h07MsX8MZrm22nAnjGTd zTT^=NM&8qJy`}2vqBgsZpZ3$pzGiaf*>h$0khbHhYwb?v-8+0q>J696cH4)4zWW~H z=CG3PHCw!~XQ4}5>AD?!=l{j*+O=a=)~c9*z$fJ)o65BVjAUE9A+(ePO^y zV@_}Jg-ZH6mN$Rg7jU32=4d`k%S^>Uo2xZn{!IMaG$Z=()_xnDOjen?q z-oKwUxH{Hx*1z&8KeQ(&&(JDcHofX++rjvog&|uLOmED-C+Fi5uv^pNj`|eaGD>2Xeygq5mx`_{?G8H^- zGE2BWwz9c+zcixh#|ojH_HRr3v=>kAPZSO5jaPS{Kc#=k4;wq?`Xnd&c`Eac7w?L@ zG-(&3!_1xMyCRlx%wn!Pv`er`n5DTc?Qv|a)%rJDzufmIMD(9;zWwI$0(P;YFS{Sk zKgVYJ)p~U3!0n`mtHqWi#+`I2&x|UcZScqU zacoMOL-lc;CrYBWf7`d*w#-T|$V^~q4SPG?cBAi15tILFO?UFotX#A%sp{M#!=1g) zUPkq`e(is8KRbW@-CZ2l_O|qRh^Fw*y?01#&f6!+rxIS;7@ED+^m;8H{GqbC#rRp# zf}hMxB7&yp=an2%QCJm_)V@b)_leZbZ}~@GGvyCW_RP)Ylow7 zSYwaaHuKmu3%on3_guQ;Rn z>_d)unrO@ct$iAk8o6#Iy}#7(`L+DU*1F&q;S>70LVm1Zy0<|7B6Hi-@(7Q`YO{_N z6pMc`=#u}nKB-Fbx2eZ`^|)BAeT@B1S!tI!{_ILy`1Ro~B?hr)k(N@w86Jx3H(8hU z$yLp9;kk7G8Rzc0)OCxKH!{{g5_mRyy)pk@hIsA%gVSd2{pyV0w9(Jxjhga%0Xce_mQR-WiD zQ9s9I`oZw5BXv*BMLPPs9CrM;qT(l{aV2xN=BA|nytz_rl^%yIwO>rSl<#?pi+lPa zO^(B9TP)ry{Swldc3`dhG}AP;^`WXA$y*-X)lhRvNtQY6ckr-S;u1**|C>R=Nvv_~ z|Jj!M$%yG6bkVl4e*0(X!;5#XPI?d#B7M4dUh%J9e@;JEfl0OUj;FPo_LcYMoj>*btAv2yS zGPNFMn#g=~N=Y_`wy=IQ$~jug56YxP%=5ZT#__i9e4&pA4`wC=DbNBtq8;7RbF&^2hc?_4{+I?Y8aP`RDJ?r8f?yT;39VZ?f3p zOSUaL{BJNstd#3G>$Kb9g&{NBG1qfa^)|GWR~!ZV(GLa`GW`hM;Y-4pJ9d#};LqZ_u*J|(;AfK$U-AE#f6JC`3W z>D^s6m2K9C&QF~IcJhVOUIs3^%u+m;Vb-4q%lEFkd5z(P)AXb7k4~M#oTa*8@+O_` z*^1wv9D4cRayoRTeAQ@^@_A>^E2Z;n7xeE^yrDUtwN$LX>-H1{1+5# zz8i6Kr!eEMo0+>VW&J!nNBi_d4_nKV_wC<2pM7G(rNjHX9N5gVYd-Ax7t~lRZ&(XvRbQ&%mSpS`$z z&F$(V*NnwW9vAuuT~t!oHvhRvkyo7Ka&Mzkb|&ZiyRY*tRMd22T4gN2`g~v0#T%9r z^*09z7K9#>2(wjLAAHa2cg6)SGX=3*VL6jIPEV?vsK#A$Lw&nbN3&^$*3wezHO&0i zjl0#Rq*YGqUS2BH_}`($y>_a}ckQF>E!pd%)3}bFe|<#hm-^Dc!08))-&$KNd5`~$ z(79W`5|R~F|Gx>#+HZ9Bga~uuXa9#i+(*@3^zX2?y`EC2&;Q^@ImdCP2iGs3Uf^ML zO?0Bj@!Nam%`Pg^D0f5m2-GbJ6md%I_2=qcvI9orh$@oWpWyt?;b zZO9n`uIdNBD{WUv1UhV;xAkYxEqh7LHBLTDyQ^J{%6Gk6{ocrXmPGBJv%Q*Acz5u4 ziQmoMq38H8ZqJgeMz^4ArlHcGUbTIAH?i``O`}WqF077^iYwn9f5|rL?uA_rt@>SJ zXU-oGcp2+FtIE#yludomFRS}bJPBDj0sHQKH)&YIux#1t9YJa40kJ;%?Cn$hCuppE ztE_oV+TU90-@Ar@JmYqbGaS1XDI9(iRQ~1V{uvc#ld3XHN}L&g`idv<&N5r#a`Q>w z>pRl~3M-~JD_y_)WzG7!jNlsEWhL!t-TmoG4?Y$is1&kx-8?raV}Z(xfLANs*sC{A zdZ4Y#GV5FO(=7(>?b?seP6?nQ7coupj%^Q-A1z5tzr6D<6=y~INPU(zUCymVIL0-s#w zREy`ngE^`OTvzy>9GZN%vhK;cZ^!oK z3grJ0)YNdeb7{BV?Me5dzc5YSv_tow*!eOKHMe*}x!H=}-%L3_LvOl*rm*C>cQ=}z zmq;hA_u)98x#D8`3AqbifhD>UwX)2IM4zayTcfxobgGi;IzbmsMqbmYCI)S7?rM&k zb-r=CaRxuzsHxGBcSGx?E|0@+hy<-?P>>^HS3v#=lB?IA+HD zp5*2jmigw@PMwZ|JlSe96S;M_y>kz(nN)RdrAeUL{oR++1QU2YCZCe9TWV;|{59NH z#rMpG3(U^kwz|tM}hoUgnz_>pnS?fT87Nqn7OKIX9nrqn-Ia6UX||E5z#KCS!)a}F_RvB^zX&G46( z!F<(DX}=P?nVc&h9IKM7&~afgSo?j);`l@JGHze*=VF?XaOK`1o^vy9>D)dP`6WK_ z>y*0M8lP1r;>L+xa$y%6QsWxlJ!(t&vCXsc@J-&sJiBgZyqux@IJak?qtqOooWC-s ze%Ic9aOrnh!j7kJw-!C0(amsGYEBC4rJ0@KHyh75>^lBm@>OK1b8$m&xTBD}{ag8M z|E8)j`PfY<&B)JNaBHSlwEGvy=(lSBD@|Ab{(j4sJ=m-MPqU=>n;#7&At&b)PffAw z-yVGB?Se&Rm4Dn%Pl=O|5%=*(sO%SzB7}^JfnVkI(SSb^m`j z)8w`Tv!#;n>+1PeX0X2QTJ(8S&L_S{b^8wruvJZnI(Oo;?v%Bb?8JeSN#m<=YyTFZ0AiZCh<89DnC+xQK&m;^8T0 z%jZZkpSpF(RJq_^^uo&R?ST?S^;z4FBo>w{l_cJrwDZU%#jk5}%bT~&;J?QmzI$a4 z)4L`17Czhx?q8dBec}t762`J#F#E+zpM91Kp0iumvh=J>aZllLdzY8wwdLjR*E3qK zrM|K|{Z}Mq=^h&nCa$U{sXWu~HJ@2$q{Dsx&*Lq(?udSl*mvmf%CsJ9x2`u6C)Qh= z=-Zz;rxnNXGgh`!r`>8ow&>_v+L`Y;p)cieL3i=uM@d_>ehJOqc608l z>VseR-IsrHyJVS6*_wvis|rjf-?^23)a0g1y}j}~XSe3oTZuO`Sd8MtYP}g-=Ki;u zraQS~@9kd`)g@nj=~jAOE?@HFg-0)6b!4P#)6}(>lmd6=ZtM=)A9!qb<(#COuNSzr zWyMXI_P_|qcNB>JCY)~0n~_09jUub((QaliK?&v#8P&pT~yJj%lS zu>Q3JXK+INpVxlZHqSa=sJbyq>ji_9PcmEn^lc?qE2~;hx~$M%ZYKWu&L17OKfY_7Q>@c?uPyIQ<*J){=N&qwVG7FtyUT-^v7Ij0_ClPvvhv zeBk`ju3+05Zn^LB>9^i%UJScjdG|%U+6({w(!~dUy?J`>kaMi})A_uG+70(!>Moxo zl6Tj5n(yykHfQeCnC<(Y-zizC_xVLM6MJP!bpLIiH+s`q+1@Pb-mG&v{7TNFd$QZF zJTIDdl)*LY0plTa4r{-Z%l}Iz#onCZH0_6&tAzC#$1sbJ{r7!)Yo1PS>+=gKVV1I9 zU1E}vwD-XJ?mq|m8aK_^Ew+5hvja|Z%^q#ck2Fg9|L<18GsaE-mwhl=VO`1kWgTyT>pXDFtHx=eB zW88jrbGrY5_shJ09{!`IXC*$jOJMH)u4x+k{>ba^2zkWmSFzSv{94JMW!vO->ez|3 ztSn={``O{jF0;D&kOgb5{+s_&;Ffn)V#pNXi!<#@PSy2t$x9qLz2eu6{Aq?)Z$2zb zvf+%kiL0^inRIzsVoceBTWdeg*4qD~t2h64(Y<>`n|FVRzB&J)SF`p8PIL8V=^poV zy3hKmR`C~3n(~Bam*43!9Tiv3q-Ql6-=D{5OTMs?T6)n@x*@8jfMu=EL7As~dpb5R zTG9RFE;`!0zS1`3+f~bWo1^A$_V-jB_u28{4rlwXX-CdU$#hLlli$%b z!TNBW!{mErN25C*M)!R#+j%*=Q>)2i+Q)4=8Ff#rE9=}^N=|-jp8qLO?Ee|h<+};>?96$;oY=AyR?9yW^%ZyPuBeUp*_|Zr%^$y={)0N~d@(YVbM3dU(I9 zN7R*&3CrEwMHKUFLm4=GmCxHW{`q_>-@bQp&DL95oO&M~&8!j((GZVYT4AR%>rub9 z>p>?Wvj?oleO~!(?fhDo$N0cXzv)fgi3KP1yZV01PkDA(_*3?Wn#(p*0v|QaGArxk z@H!ehdAZ-3St16SJipkN2Y!Bdp+98H`A#dd$P4;?zNJ#i8Y0_G>l>K$7~_r{{QmF3 zp{i+oJ<1K6eD=Tea$`C#=kKRq$NETr%JnRrjNJ!UwiO-U(6w@nW_$F*#xKWqO3pkP z{V+1NZ}ORG@4Y@sw$$IU-fr@n)n-9;`}4O&>hAJh{txZEfzStPPhP3tuD!Rdcn;X-#9TcNNxI zU2<0KtYE>4WLE!j!M^NCtJFl~#j;pJ^=*qPB}^j^Mb1~1*zWdlf1>>p$6wbOc(p7e z!}=3r=UeL>*Gqf8F5RD&S1dd#L_jg&y zhs9U8Uer2maCS_TJ`lNUqsBT`4XqXqn@M^s`>t)AcA6vJDvRALDkwIKv(jSiPZb*< z@dQ8hrMD$5RlNVN_b zYZdIu*&%H4iC19dE6(>U%X@!#aP52|>#)Z3A6qt)%HG;%d4gNw;uV*lPTcW-`IK4p zc03&!*YAs0$b~-%Ty*AkRO|1i$Komp{gMr)3LBQm%whfYm!WrZ!Vp?I4{+5}sN+TN@8_wN4jD5oY= zcJ7rw>℘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

i69DDKN~* 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

  • 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

    9Rt=(_SUq*M5CYeb4`d#Tgx%_rhPZ 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

    KL{?3JX)1|OY8AWy($*VP`yP< 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

    +SxfN_mD_-#4_+{+E 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

    Zkxp6iw%MAA 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

    l0`#!W`e$KA1C#W$#Ad$K3D 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
    Wrxy1eVMlD{cvlUCLtf!}HOcuW6d2Ysu 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 z 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⁣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 a8C8_Vfu)oo} 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

    ?O&yW>o@FvA1l5? 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 KQw|!U~=fnP=`?1c`l6|F-mqp4x{$CLzIzLzZ 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
    Rp-$p5l?DQy8@IkZ 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

    _gWNKVy-B6#5r^6BJCnZ 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

    sC)d1 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%0A*1!H1wkG6=aXSA_Ch6Dz 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

    ZxPl;R#~{eN;Br;B~G^1th1(0*0? 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

    SL3h7*7kLka*8p#U2-0qm~7jAaiP9r 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 z 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≪U5e4%cnG1hW`tG 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 rbvBV?p5C2f_@eItgH_^PHYuE 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 literal 0 HcmV?d00001 From 16d078369cbaa213f741f605495493c364f4bbfa Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 18 Sep 2023 19:05:49 +0200 Subject: [PATCH 016/278] renaming files --- ...ies_Datasheet_AT91SAM_6175M-ATARM-26-Oct-12.pdf} | Bin ...X40CL_H 20220301.pdf => W25X40CL_H_20220301.pdf} | Bin ...Family.pdf => XILINX_Spartan-II_FPGA_Family.pdf} | Bin 3 files changed, 0 insertions(+), 0 deletions(-) rename doc/datasheets/{Atmel SAM7S Series Datasheet AT91SAM 6175M–ATARM–26-Oct-12.pdf => Atmel_SAM7S_Series_Datasheet_AT91SAM_6175M-ATARM-26-Oct-12.pdf} (100%) rename doc/datasheets/{W25X40CL_H 20220301.pdf => W25X40CL_H_20220301.pdf} (100%) rename doc/datasheets/{XILINX Spartan-II FPGA Family.pdf => XILINX_Spartan-II_FPGA_Family.pdf} (100%) diff --git a/doc/datasheets/Atmel SAM7S Series Datasheet AT91SAM 6175M–ATARM–26-Oct-12.pdf b/doc/datasheets/Atmel_SAM7S_Series_Datasheet_AT91SAM_6175M-ATARM-26-Oct-12.pdf similarity index 100% rename from doc/datasheets/Atmel SAM7S Series Datasheet AT91SAM 6175M–ATARM–26-Oct-12.pdf rename to doc/datasheets/Atmel_SAM7S_Series_Datasheet_AT91SAM_6175M-ATARM-26-Oct-12.pdf diff --git a/doc/datasheets/W25X40CL_H 20220301.pdf b/doc/datasheets/W25X40CL_H_20220301.pdf similarity index 100% rename from doc/datasheets/W25X40CL_H 20220301.pdf rename to doc/datasheets/W25X40CL_H_20220301.pdf diff --git a/doc/datasheets/XILINX Spartan-II FPGA Family.pdf b/doc/datasheets/XILINX_Spartan-II_FPGA_Family.pdf similarity index 100% rename from doc/datasheets/XILINX Spartan-II FPGA Family.pdf rename to doc/datasheets/XILINX_Spartan-II_FPGA_Family.pdf From b0ec0ee60bc4ed5582ffceb7a6d6885ed53ee537 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 19 Sep 2023 16:36:39 +0200 Subject: [PATCH 017/278] maur --- client/dictionaries/mfc_default_keys.dic | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 241581b69..0578bfee4 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -1029,6 +1029,10 @@ F8493407799D 6B8BD9860763 D3A297DC2698 # +# Data from reddit +34635A313344 +593367486137 +# # Keys from Mifare Classic Tool project 044CE1872BC3 045CECA15535 From 6ddf283272519b778fa2b65ad892cec2cf5853a6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 22 Sep 2023 23:32:50 +0200 Subject: [PATCH 018/278] adapt wait after ATR down to 1200 ms, and retries ten times now --- armsrc/i2c.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index fbe625e14..42ed50910 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -1,4 +1,4 @@ -//----------------------------------------------------------------------------- +// //----------------------------------------------------------------------------- // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. // // This program is free software: you can redistribute it and/or modify @@ -42,7 +42,7 @@ // 8051 speaks with smart card. // 1000*50*3.07 = 153.5ms // 1 byte transfer == 1ms with max frame being 256 bytes -#define SIM_WAIT_DELAY 109773 // about 337.7ms delay +#define SIM_WAIT_DELAY 88000 // about 270ms delay // 109773 -- about 337.7ms delay // Direct use the loop to delay. 6 instructions loop, Masterclock 48MHz, // delay=1 is about 200kbps @@ -199,7 +199,7 @@ static bool WaitSCL_L(void) { // It timeout reading response from card // Which ever comes first static bool WaitSCL_L_timeout(void) { - volatile uint32_t delay = 1800; + volatile uint32_t delay = 1200; while (delay--) { // exit on SCL LOW if (SCL_read == false) @@ -596,8 +596,9 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t // sending do { - if (!I2C_Start()) + if (I2C_Start() == false) { return 0; + } // 0xB0 / 0xC0 i2c write I2C_SendByte(device_address & 0xFE); @@ -605,18 +606,21 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t break; I2C_SendByte(msb); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } I2C_SendByte(lsb); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } // 0xB1 / 0xC1 i2c read I2C_Start(); I2C_SendByte(device_address | 1); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) { break; + } _break = false; } while (false); @@ -727,7 +731,7 @@ int I2C_get_version(uint8_t *major, uint8_t *minor) { return PM3_EDEVNOTSUPP; } -// Will read response from smart card module, retries 3 times to get the data. +// Will read response from smart card module, retries 10 times to get the data. bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { uint8_t i = 10; From 3d92b44047c67c338fa78b0755124aa00733c285 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 27 Sep 2023 21:30:30 +0200 Subject: [PATCH 019/278] reduced time out for SCL --- armsrc/i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 42ed50910..be72657df 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -199,7 +199,7 @@ static bool WaitSCL_L(void) { // It timeout reading response from card // Which ever comes first static bool WaitSCL_L_timeout(void) { - volatile uint32_t delay = 1200; + volatile uint32_t delay = 800; while (delay--) { // exit on SCL LOW if (SCL_read == false) From d8817f2cb21f9afb99f5c56c7725b56ab6f5cc0e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 27 Sep 2023 21:31:48 +0200 Subject: [PATCH 020/278] style, length checks for getversion, bit comparision --- armsrc/i2c.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index be72657df..0318d783b 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -262,7 +262,11 @@ static void I2C_Stop(void) { I2C_DELAY_2CLK; SCL_H; I2C_DELAY_2CLK; - if (!WaitSCL_H()) return; + + if (WaitSCL_H() == false) { + return; + } + SDA_H; I2C_DELAY_2CLK; I2C_DELAY_2CLK; @@ -278,7 +282,11 @@ static void I2C_Ack(void) { I2C_DELAY_2CLK; SCL_H; I2C_DELAY_2CLK; - if (!WaitSCL_H()) return; + + if (WaitSCL_H() == false) { + return; + } + SCL_L; I2C_DELAY_2CLK; } @@ -291,7 +299,11 @@ static void I2C_NoAck(void) { I2C_DELAY_2CLK; SCL_H; I2C_DELAY_2CLK; - if (!WaitSCL_H()) return; + + if (WaitSCL_H() == false) { + return; + } + SCL_L; I2C_DELAY_2CLK; } @@ -302,6 +314,7 @@ static bool I2C_WaitAck(void) { SDA_H; I2C_DELAY_1CLK; SCL_H; + if (WaitSCL_H() == false) { return false; } @@ -459,7 +472,7 @@ bool I2C_BufferWrite(const uint8_t *data, uint16_t len, uint8_t device_cmd, uint while (len) { I2C_SendByte(*data); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) break; len--; @@ -602,7 +615,7 @@ int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t // 0xB0 / 0xC0 i2c write I2C_SendByte(device_address & 0xFE); - if (!I2C_WaitAck()) + if (I2C_WaitAck() == false) break; I2C_SendByte(msb); @@ -723,7 +736,7 @@ int I2C_get_version(uint8_t *major, uint8_t *minor) { uint8_t resp[] = {0, 0, 0, 0}; I2C_Reset_EnterMainProgram(); uint8_t len = I2C_BufferRead(resp, sizeof(resp), I2C_DEVICE_CMD_GETVERSION, I2C_DEVICE_ADDRESS_MAIN); - if (len > 0) { + if (len > 1) { *major = resp[0]; *minor = resp[1]; return PM3_SUCCESS; @@ -775,7 +788,7 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { // start [C0 01] stop start C1 len aa bb cc stop] I2C_WriteCmd(I2C_DEVICE_CMD_GENERATE_ATR, I2C_DEVICE_ADDRESS_MAIN); - //wait for sim card to answer. + // wait for sim card to answer. // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. if (I2C_WaitForSim(SIM_WAIT_DELAY) == false) { return false; @@ -869,7 +882,7 @@ void SmartCardRaw(const smart_card_raw_t *p) { } } - if ((flags & SC_RAW) || (flags & SC_RAW_T0)) { + if (((flags & SC_RAW) == SC_RAW) || ((flags & SC_RAW_T0) == SC_RAW_T0)) { uint32_t wait = SIM_WAIT_DELAY; if ((flags & SC_WAIT) == SC_WAIT) { @@ -881,9 +894,10 @@ void SmartCardRaw(const smart_card_raw_t *p) { bool res = I2C_BufferWrite( p->data, p->len, - ((flags & SC_RAW_T0) ? I2C_DEVICE_CMD_SEND_T0 : I2C_DEVICE_CMD_SEND), + (((flags & SC_RAW_T0) == SC_RAW_T0) ? I2C_DEVICE_CMD_SEND_T0 : I2C_DEVICE_CMD_SEND), I2C_DEVICE_ADDRESS_MAIN ); + if (res == false && g_dbglevel > 3) { DbpString(I2C_ERROR); reply_ng(CMD_SMART_RAW, PM3_ESOFT, NULL, 0); From bf7ac0b8ce35de8787d497d79aa0313b6b25bc22 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 27 Sep 2023 21:34:51 +0200 Subject: [PATCH 021/278] in prep for new firmware, no old v3xxx supported anymore --- armsrc/i2c.c | 68 ++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 0318d783b..7dd2a525d 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -502,13 +502,13 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t return 0; } +// uint8_t *pd = data; + // extra wait 500us (514us measured) // 200us (xx measured) WaitUS(600); bool _break = true; - uint16_t readcount = 0; - uint16_t recv_len = 0; do { if (I2C_Start() == false) { @@ -529,7 +529,6 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t // 0xB1 / 0xC1 == i2c read I2C_Start(); I2C_SendByte(device_address | 1); - if (I2C_WaitAck() == false) { break; } @@ -543,6 +542,9 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t return 0; } + uint16_t readcount = 0; + uint16_t recv_len = 0; + while (len) { int16_t tmp = I2C_ReadByte(); @@ -555,51 +557,49 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t len--; // Starting firmware v4 the length is encoded on the first two bytes. - // This only applies if command is I2C_DEVICE_CMD_READ. - if (device_cmd == I2C_DEVICE_CMD_READ) { - switch (readcount) { - case 0: - // Length (MSB) - recv_len = (*data) << 8; - break; - case 1: - // Length (LSB) - recv_len += *data; - // Adjust len if needed - if (len > recv_len) { - len = recv_len; - } - break; - default: - // Data byte received - data++; - break; + switch (readcount) { + case 0: { + // Length (MSB) + recv_len = (*data) << 8; + break; } - } else { - // Length is encoded on 1 byte - if ((readcount == 0) && (len > *data)) { - len = *data; - } else { + case 1: { + // Length (LSB) + recv_len += *data; + // Adjust len if needed + if (len > recv_len) { + len = recv_len; + } + break; + } + default: { + // Data byte received data++; + break; } } + readcount++; // acknowledgements. After last byte send NACK. - if (len == 0) + if (len == 0) { I2C_NoAck(); - else + } else { I2C_Ack(); + } } I2C_Stop(); - // return bytecount - bytes encoding length - if (device_cmd == I2C_DEVICE_CMD_READ) { - return readcount - 2; - } +// Dbprintf("rec len... %u readcount... %u", recv_len, readcount); +// Dbhexdump(readcount, pd, false); - return readcount - 1; + if (readcount < 2 ) { + return 0; + } + + // return bytecount - bytes encoding length + return readcount - 2; } int16_t I2C_ReadFW(uint8_t *data, uint8_t len, uint8_t msb, uint8_t lsb, uint8_t device_address) { From 44fe3ec38f4d763f867ad27c2f6022deebe895b4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 27 Sep 2023 22:09:01 +0200 Subject: [PATCH 022/278] smart raw --timeout parameter --- client/src/cmdsmartcard.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index 55a3b62e4..cf6cbe67d 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -355,6 +355,7 @@ static int smart_responseEx(uint8_t *out, int maxoutlen, bool verbose) { smart_card_raw_t *payload = calloc(1, sizeof(smart_card_raw_t) + sizeof(cmd_getresp)); payload->flags = SC_RAW | SC_LOG; payload->len = sizeof(cmd_getresp); + payload->wait_delay = 0; memcpy(payload->data, cmd_getresp, sizeof(cmd_getresp)); clearCommandBuffer(); @@ -504,9 +505,9 @@ static int CmdSmartRaw(const char *Cmd) { data[4] = 0; } - if (decode_tlv && len > 4) + if (decode_tlv && len > 4) { TLVPrintFromBuffer(buf, len - 2); - else { + } else { if (len > 2) { PrintAndLogEx(INFO, "Response data:"); PrintAndLogEx(INFO, " # | bytes | ascii"); @@ -907,6 +908,7 @@ static void smart_brute_prim(void) { smart_card_raw_t *payload = calloc(1, sizeof(smart_card_raw_t) + 5); payload->flags = SC_RAW_T0; payload->len = 5; + payload->wait_delay = 0; memcpy(payload->data, get_card_data + i, 5); clearCommandBuffer(); @@ -950,6 +952,7 @@ static int smart_brute_sfi(bool decodeTLV) { smart_card_raw_t *payload = calloc(1, sizeof(smart_card_raw_t) + sizeof(READ_RECORD)); payload->flags = SC_RAW_T0; payload->len = sizeof(READ_RECORD); + payload->wait_delay = 0; memcpy(payload->data, READ_RECORD, sizeof(READ_RECORD)); clearCommandBuffer(); @@ -1103,7 +1106,7 @@ static int CmdSmartBruteforceSFI(const char *Cmd) { smart_card_raw_t *payload = calloc(1, sizeof(smart_card_raw_t) + hexlen); payload->flags = SC_RAW_T0; payload->len = hexlen; - + payload->wait_delay = 0; memcpy(payload->data, cmddata, hexlen); clearCommandBuffer(); SendCommandNG(CMD_SMART_RAW, (uint8_t *)payload, sizeof(smart_card_raw_t) + hexlen); @@ -1187,6 +1190,7 @@ int ExchangeAPDUSC(bool verbose, uint8_t *datain, int datainlen, bool activateCa payload->flags |= (SC_SELECT | SC_CONNECT); } payload->len = datainlen; + payload->wait_delay = 0; memcpy(payload->data, datain, datainlen); clearCommandBuffer(); From bb47bdd9795524668a43ddf7f990bb3d7585cd72 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 28 Sep 2023 08:34:29 +0200 Subject: [PATCH 023/278] revert back to old timings --- armsrc/i2c.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 7dd2a525d..50ba3e38b 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -199,7 +199,7 @@ static bool WaitSCL_L(void) { // It timeout reading response from card // Which ever comes first static bool WaitSCL_L_timeout(void) { - volatile uint32_t delay = 800; + volatile uint32_t delay = 1200; while (delay--) { // exit on SCL LOW if (SCL_read == false) @@ -596,7 +596,7 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t if (readcount < 2 ) { return 0; - } + } // return bytecount - bytes encoding length return readcount - 2; @@ -744,7 +744,7 @@ int I2C_get_version(uint8_t *major, uint8_t *minor) { return PM3_EDEVNOTSUPP; } -// Will read response from smart card module, retries 10 times to get the data. +// Will read response from smart card module, retries 3 times to get the data. bool sc_rx_bytes(uint8_t *dest, uint16_t *destlen, uint32_t wait) { uint8_t i = 10; From f9f42337c3b6c4e50a1c4c644b0a427e4ecd5c7d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 28 Sep 2023 08:35:48 +0200 Subject: [PATCH 024/278] Sim Module FW4.42 build from GentilKiwis C impl. --- client/resources/sim014.bin | Bin 0 -> 3658 bytes client/resources/sim014.sha512.txt | 1 + 2 files changed, 1 insertion(+) create mode 100644 client/resources/sim014.bin create mode 100644 client/resources/sim014.sha512.txt diff --git a/client/resources/sim014.bin b/client/resources/sim014.bin new file mode 100644 index 0000000000000000000000000000000000000000..f1d4172722adfe11c9151fd4c77b13a988c4b266 GIT binary patch literal 3658 zcmZSLwq+m@FmaHmVO05O2#kinXb6mkz-S1JhQQzofddZ?d^pg2py|Mc(hCd+7!EKV zU^>8jfaL(&0rvHK-wW|bas)AOge7n!WN?HPa3oZ4BsFl%>EKA3z%geA$MOXnPgihq zZs6qK!RdE^)9(ZW182acBZ>hN7=@pFn83i$;GoDkfl>HD0sGTEA1)nI44A;c@ZjI# z2P#Zon@Sk$zBWJI15zf$8wHZs!pOP!!4^K2Lx&Utpo*V-SPa&8=@7^mkpv-;1aXz$ z3DPVDD%Jn1_$v7t#H#;S@m4A}@Kyh>;;D3PV5|OL#aWp*fl)w+M*!@OhU^JUN+5$K zFe!m87x~&$!f5xk`N7vc6PT2Qc%v>IYH&Yv=+e;!#|ca-ASM3~Phe7hFdw90UVzw> z(hrP6+#mmxh^T%5X|;iAeXx~{bMb?%>@0^4HLzVe)WCG<(4oT$NB&-5zrc2Z6Z+FAHYQ`$2N(~{N)$a?K9DOD*X*}4HzyVSw^1(4ui1*(F zCd~(5{)5D~vWtMkL4o_kgyC!Rga1N&GLDfTsUso$|5Ml!Sl(~plm1Lj|%a2gG~e*I3Hvnlj0(!5+?nxO$e7MJ^BCd@cSuz?@~ZUWP)YE ziQ>tJ5@vm90(tVGgawJsio_NHu|e_pz1!;zOD`4{Lgs{ko@xeOUbRgVKfO3r#AVVqpRyLj>BA0>>FzczI=KPfI@nw*jFe(~bP z4fng6JDZ*qgHtXjS%Wk8e^Au_S^VJd;rVao1&Eh0>4M@ClxaZeaRQT?5N}k&Wtbii zHxZnoL=J-z&=fw9_9=`3tRQ6%K%9SzAN*(HJvxC&ONd9{$pj|d4?^5056!qVM~Kfv zVFt57?=K-fSA!YCUsemFE|0+a58|4PA|zXxym9=!Q|@Rs+Nrd*o5 zX#FIH(&MX2kB62{WOUx-0AWA*I&l%hr1j3T8859bJ$T^Ku}g=Ppzb_0L5TO=r3qly z6X#q|slmj38&sUAi2W>KwEI=fsPtq4qsWKFB}^X{D@|ZhdGcX#3Cjm1P}w(yK?&ql zmJdo!pbEl?Nri#IiAjlp!I4pz!I@D2Bv?8lz`0YwxxK-;Paycn{nFkSm-;TvKQu>a z4ci-#x$hT$P+|K2#BKtU%7?}8KPUgPDJog8RNZcQQhCoht3A Sz0{**Fyrs~nTKX5fkgo&x$T$$ literal 0 HcmV?d00001 diff --git a/client/resources/sim014.sha512.txt b/client/resources/sim014.sha512.txt new file mode 100644 index 000000000..322da8e8b --- /dev/null +++ b/client/resources/sim014.sha512.txt @@ -0,0 +1 @@ +cc10a02576c95b7b37fa1ae48ea029c17a123afcc65c2fe934d3dd4d244a8a47ec12ca9a53179fbf23349fa791d83289ad6175ce9cbba10bfe6adaaf303806d3 *client/resources/sim014.bin From 22e4bbe4f15c118c8c624f503996131b2fcefb81 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 28 Sep 2023 08:37:27 +0200 Subject: [PATCH 025/278] text --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4e7a51d3..1bde51946 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `sim014.bin` - new sim module firmware v4.42 with improved ISO7816 Protocol T0 support (@gentilkiwi) - Added datasheet for sim module (@iceman1001) - Changed `smart raw --timeout` - allows for a custom timeout (@iceman1001) - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) From 1234b081329096cb6f9ade265beae429fc2c2c24 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 28 Sep 2023 08:46:04 +0200 Subject: [PATCH 026/278] adapt to new sim module firmware version --- Makefile | 2 +- client/src/cmdsmartcard.c | 6 +-- doc/cheatsheet.md | 2 +- .../Troubleshooting.md | 6 +-- .../2_Configuration-and-Verification.md | 54 ++++++++++++++----- doc/path_notes.md | 2 +- tools/pm3_online_check.py | 2 +- tools/pm3_tests.sh | 2 +- 8 files changed, 52 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 64b0aa6ab..c86e765a6 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ all clean install uninstall check: %: client/% bootrom/% armsrc/% recovery/% mfk #all clean install uninstall check: %: hitag2crack/% INSTALLTOOLS=pm3_eml2lower.sh pm3_eml2upper.sh pm3_mfdread.py pm3_mfd2eml.py pm3_eml2mfd.py pm3_amii_bin2eml.pl pm3_reblay-emulating.py pm3_reblay-reading.py -INSTALLSIMFW=sim011.bin sim011.sha512.txt sim013.bin sim013.sha512.txt +INSTALLSIMFW=sim011.bin sim011.sha512.txt sim013.bin sim013.sha512.txt sim014.bin sim014.sha512.txt INSTALLSCRIPTS=pm3 pm3-flash pm3-flash-all pm3-flash-bootrom pm3-flash-fullimage INSTALLSHARES=tools/jtag_openocd traces INSTALLDOCS=doc/*.md doc/md diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index cf6cbe67d..da11873e9 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -523,16 +523,16 @@ out: } static int CmdSmartUpgrade(const char *Cmd) { - PrintAndLogEx(INFO, "-------------------------------------------------------------------"); + PrintAndLogEx(INFO, "--------------------------------------------------------------------"); PrintAndLogEx(WARNING, _RED_("WARNING") " - sim module firmware upgrade"); PrintAndLogEx(WARNING, _RED_("A dangerous command, do wrong and you could brick the sim module")); - PrintAndLogEx(INFO, "-------------------------------------------------------------------"); + PrintAndLogEx(INFO, "--------------------------------------------------------------------"); PrintAndLogEx(NORMAL, ""); CLIParserContext *ctx; CLIParserInit(&ctx, "smart upgrade", "Upgrade RDV4 sim module firmware", - "smart upgrade -f sim013.bin" + "smart upgrade -f sim014.bin" ); void *argtable[] = { diff --git a/doc/cheatsheet.md b/doc/cheatsheet.md index a859f4392..c25b7f486 100644 --- a/doc/cheatsheet.md +++ b/doc/cheatsheet.md @@ -712,7 +712,7 @@ pm3 --> mem load -f iclass_default_keys --iclass Upgrade Sim Module firmware ``` -pm3 --> smart upgrade -f sim013.bin +pm3 --> smart upgrade -f sim014.bin ``` ## Smart Card diff --git a/doc/md/Installation_Instructions/Troubleshooting.md b/doc/md/Installation_Instructions/Troubleshooting.md index d63e49b75..a0982a3c0 100644 --- a/doc/md/Installation_Instructions/Troubleshooting.md +++ b/doc/md/Installation_Instructions/Troubleshooting.md @@ -163,9 +163,9 @@ proxmark3 --flash --image /usr/local/share/proxmark3/firmware/f proxmark3 --flash --image /usr/share/proxmark3/firmware/fullimage.elf using the script: -pm3 --> smart upgrade -f /usr/local/share/proxmark3/firmware/sim013.bin +pm3 --> smart upgrade -f /usr/local/share/proxmark3/firmware/sim014.bin <> -pm3 --> smart upgrade -f /usr/share/proxmark3/firmware/sim013.bin +pm3 --> smart upgrade -f /usr/share/proxmark3/firmware/sim014.bin ``` If you didn't install the Proxmark but you're working from the sources directory and depending how you launch the client, your working directory might be the root of the repository: @@ -188,7 +188,7 @@ client/proxmark3 --flash --image armsrc/obj/fullimage.elf <> ./proxmark3 --flash --image ../armsrc/obj/fullimage.elf -pm3 --> smart upgrade -f sim013.bin +pm3 --> smart upgrade -f sim014.bin ``` etc. diff --git a/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md b/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md index 791605f17..d40dc50ff 100644 --- a/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md +++ b/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md @@ -40,7 +40,7 @@ Set all t55xx settings to defaults (will set all 4 at once) To make sure you got the latest sim module firmware. -_Latest version is v4.12_ +_Latest version is v4.42_ ``` [usb] pm3 --> hw status @@ -57,44 +57,50 @@ or #db# Smart card module (ISO 7816) #db# version.................v3.11 +or + +#db# Smart card module (ISO 7816) +#db# version.................v4.13 + + ``` These versions is obsolete. -If you didn't download sim013.bin from the RRG Repo be aware that it might be corrupted or faulty. +If you didn't download sim014.bin from the RRG Repo be aware that it might be corrupted or faulty. You find a hash text file in this folder. It was generated with the following linux command. ``` -sha512sum -b sim013.bin > sim013.sha512.txt +sha512sum -b sim014.bin > sim014.sha512.txt ``` -You should validate the sim013.bin file against this hash file in order to be sure the file is not corrupted or faulty. +You should validate the sim014.bin file against this hash file in order to be sure the file is not corrupted or faulty. The following command upgrades your device sim module firmware. Don't not turn off your device during the execution of this command!! Even its a quite fast command you should be warned. You may brick it if you interrupt it. ``` -[usb] pm3 --> smart upgrade -f /usr/local/share/proxmark3/firmware/sim013.bin +[usb] pm3 --> smart upgrade -f /usr/local/share/proxmark3/firmware/sim014.bin # or if from local repo -[usb] pm3 --> smart upgrade -f sim013.bin +[usb] pm3 --> smart upgrade -f sim014.bin ``` You get the following output if the execution was successful: ``` -[=] ------------------------------------------------------------------- +[=] -------------------------------------------------------------------- [!] ⚠️ WARNING - sim module firmware upgrade [!] ⚠️ A dangerous command, do wrong and you could brick the sim module -[=] ------------------------------------------------------------------- +[=] -------------------------------------------------------------------- -[=] firmware file sim013.bin -[=] Checking integrity sim013.sha512.txt -[+] loaded 866 bytes from binary file sim013.bin -[+] loaded 141 bytes from binary file sim013.sha512.txt +[=] firmware file sim014.bin +[=] Checking integrity sim014.sha512.txt +[+] loaded 3658 bytes from binary file sim014.bin +[+] loaded 158 bytes from binary file sim014.sha512.txt [=] Don't turn off your PM3! [+] Sim module firmware uploading to PM3... - 🕑 864 bytes sent + 🕑 3658 bytes sent [+] Sim module firmware updating... [#] FW 0000 [#] FW 0080 @@ -103,6 +109,28 @@ You get the following output if the execution was successful: [#] FW 0200 [#] FW 0280 [#] FW 0300 +[#] FW 0380 +[#] FW 0400 +[#] FW 0480 +[#] FW 0500 +[#] FW 0580 +[#] FW 0600 +[#] FW 0680 +[#] FW 0700 +[#] FW 0780 +[#] FW 0800 +[#] FW 0880 +[#] FW 0900 +[#] FW 0980 +[#] FW 0A00 +[#] FW 0A80 +[#] FW 0B00 +[#] FW 0B80 +[#] FW 0C00 +[#] FW 0C80 +[#] FW 0D00 +[#] FW 0D80 +[#] FW 0E00 [+] Sim module firmware upgrade successful ``` diff --git a/doc/path_notes.md b/doc/path_notes.md index a111e8cd1..1225f7a33 100644 --- a/doc/path_notes.md +++ b/doc/path_notes.md @@ -64,7 +64,7 @@ The recovery / firmware files will be copied to ``` * Proxmark3 firmware: `bootrom.elf`, `fullimage.elf`, `proxmark3_recovery.bin` (used for JTAG) -* SIM firmware: `sim013.bin`, `sim013.sha512.txt` +* SIM firmware: `sim014.bin`, `sim014.sha512.txt` ## Traces diff --git a/tools/pm3_online_check.py b/tools/pm3_online_check.py index a7961d319..4db9a2c9f 100755 --- a/tools/pm3_online_check.py +++ b/tools/pm3_online_check.py @@ -122,7 +122,7 @@ def pm3_lf_t55xx(child): def pm3_flash_sm(child): try: print("[+] Updating smart card fw") - child.sendline('smart upgrade -f sim013.bin') + child.sendline('smart upgrade -f sim014.bin') i = child.expect('pm3 --> ') msg = escape_ansi(str(child.before)) print("================") diff --git a/tools/pm3_tests.sh b/tools/pm3_tests.sh index 479861b6d..0615a1447 100755 --- a/tools/pm3_tests.sh +++ b/tools/pm3_tests.sh @@ -249,7 +249,7 @@ while true; do if $TESTALL || $TESTCOMMON; then echo -e "\n${C_BLUE}Testing common:${C_NC}" if ! CheckFileExist "hardnested tables exists" "$RESOURCEPATH/hardnested_tables/bitflip_0_001_states.bin.lz4"; then break; fi - if ! CheckFileExist "simmodule fw file exists" "$RESOURCEPATH/sim013.bin"; then break; fi + if ! CheckFileExist "simmodule fw file exists" "$RESOURCEPATH/sim014.bin"; then break; fi if ! CheckFileExist "iCLASS dictionary exists" "$DICPATH/iclass_default_keys.dic"; then break; fi if ! CheckFileExist "MFC dictionary exists" "$DICPATH/mfc_default_keys.dic"; then break; fi if ! CheckFileExist "MFDES dictionary exists" "$DICPATH/mfdes_default_keys.dic"; then break; fi From 59d67b3606794aed51fe0a456550c84fc63558cb Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 28 Sep 2023 08:54:32 +0200 Subject: [PATCH 027/278] fix newline in output --- client/src/emv/emv_tags.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/emv/emv_tags.c b/client/src/emv/emv_tags.c index 0ae242905..9536ce66a 100644 --- a/client/src/emv/emv_tags.c +++ b/client/src/emv/emv_tags.c @@ -822,9 +822,11 @@ bool emv_tag_dump(const struct tlv *tlv, int level) { emv_tag_dump_string(tlv, tag, level); break; case EMV_TAG_NUMERIC: + PrintAndLogEx(NORMAL, ""); emv_tag_dump_numeric(tlv, tag, level); break; case EMV_TAG_YYMMDD: + PrintAndLogEx(NORMAL, ""); emv_tag_dump_yymmdd(tlv, tag, level); break; case EMV_TAG_CVR: From 278a179308a5f1501c7b0d5ae5ec24b538b4ba3d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 29 Sep 2023 20:50:39 +0200 Subject: [PATCH 028/278] fixed sim fw --- client/resources/sim014.bin | Bin 3658 -> 3658 bytes client/resources/sim014.sha512.txt | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/client/resources/sim014.bin b/client/resources/sim014.bin index f1d4172722adfe11c9151fd4c77b13a988c4b266..d4f91b0c36e29b078f4250bdd58ee1423ae8028e 100644 GIT binary patch delta 14 VcmX>lb4q5zBTmM!&5t?LSpYCk1<3#a delta 14 VcmX>lb4q5zBTmN1&5t?LSpYC$1 Date: Fri, 29 Sep 2023 21:41:27 +0200 Subject: [PATCH 029/278] thanks @gentilkiwi for pointing it out --- client/resources/sim014.sha512.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/resources/sim014.sha512.txt b/client/resources/sim014.sha512.txt index 0313d3608..2daf74b65 100644 --- a/client/resources/sim014.sha512.txt +++ b/client/resources/sim014.sha512.txt @@ -1 +1 @@ -8b754191cec19a8172ff77443eee67490f61c53161af2e831ff4e8c7909b788802f5c0b68cecdc5decabe7852479740a0122832803af26b68beab814ced543b8 *client/resources/sim_c.bin +8b754191cec19a8172ff77443eee67490f61c53161af2e831ff4e8c7909b788802f5c0b68cecdc5decabe7852479740a0122832803af26b68beab814ced543b8 *client/resources/sim014.bin From 164073497bc38529a7fb8d7b94eebc7935411097 Mon Sep 17 00:00:00 2001 From: Iceman Date: Sun, 1 Oct 2023 10:13:12 +0200 Subject: [PATCH 030/278] Update README.md Signed-off-by: Iceman --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d65262674..10b80f84d 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ The Proxmark3 is the swiss-army tool of RFID, allowing for interactions with the |:--------------:|:------------------:|:------------------:| | ![MacOS Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/MacOS%20Build%20and%20Test/badge.svg?branch=master) | ![Ubuntu Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/Ubuntu%20Build%20and%20Test/badge.svg?branch=master) | [![Windows Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml) | +| Trivia | +|:--------------:| +| ![visitors](https://visitor-badge.laobi.icu/badge?page_id=RfidResearchGroup.proxmark3) | # Table of Contents 1. [PROXMARK3 INSTALLATION AND OVERVIEW](#proxmark3-installation-and-overview) From 3f5a9221a5dcb55d27ecf719aa928e16d64b59d8 Mon Sep 17 00:00:00 2001 From: Iceman Date: Sun, 1 Oct 2023 10:14:18 +0200 Subject: [PATCH 031/278] Update README.md Signed-off-by: Iceman --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 10b80f84d..229a7f5f3 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,6 @@ The Proxmark3 is the swiss-army tool of RFID, allowing for interactions with the |:--------------:|:------------------:|:------------------:| | ![MacOS Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/MacOS%20Build%20and%20Test/badge.svg?branch=master) | ![Ubuntu Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/Ubuntu%20Build%20and%20Test/badge.svg?branch=master) | [![Windows Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml) | -| Trivia | -|:--------------:| -| ![visitors](https://visitor-badge.laobi.icu/badge?page_id=RfidResearchGroup.proxmark3) | - # Table of Contents 1. [PROXMARK3 INSTALLATION AND OVERVIEW](#proxmark3-installation-and-overview) 2. [Notes / helpful documents](#notes--helpful-documents) From bb5d61dca7cbfe9fcc1c3812d687e2d0555416e8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 1 Oct 2023 13:05:08 +0200 Subject: [PATCH 032/278] added some helper functions --- armsrc/dbprint.c | 34 +++++++++++++++++++------------ armsrc/dbprint.h | 1 + armsrc/i2c.c | 8 -------- armsrc/i2c.h | 9 +++++++++ client/src/cmdsmartcard.c | 8 +++++--- client/src/util.c | 24 +++++++++++++++++++--- client/src/util.h | 2 ++ common/cardhelper.c | 3 ++- common/commonutil.c | 42 +++++++++++++++++++++++++++++++++++++++ common/commonutil.h | 1 + include/pm3_cmd.h | 7 +++++++ 11 files changed, 111 insertions(+), 28 deletions(-) diff --git a/armsrc/dbprint.c b/armsrc/dbprint.c index 218223231..dc4ec9b46 100644 --- a/armsrc/dbprint.c +++ b/armsrc/dbprint.c @@ -76,11 +76,11 @@ void Dbprintf(const char *fmt, ...) { // prints HEX & ASCII void Dbhexdump(int len, const uint8_t *d, bool bAsci) { #if DEBUG - char ascii[9]; + char ascii[17]; while (len > 0) { - int l = (len > 8) ? 8 : len; + int l = (len > 16) ? 16 : len; memcpy(ascii, d, l); ascii[l] = 0; @@ -97,36 +97,44 @@ void Dbhexdump(int len, const uint8_t *d, bool bAsci) { else Dbprintf("%*D", l, d, " "); - len -= 8; - d += 8; + len -= 16; + d += 16; } #endif } -void print_result(const char *name, const uint8_t *buf, size_t len) { +void print_result(const char *name, const uint8_t *d, size_t n) { - const uint8_t *p = buf; - uint16_t tmp = len & 0xFFF0; + const uint8_t *p = d; + uint16_t tmp = n & 0xFFF0; - for (; p - buf < tmp; p += 16) { + for (; p - d < tmp; p += 16) { Dbprintf("[%s: %02d/%02d] %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", name, - p - buf, - len, + p - d, + n, p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15] ); } - if (len % 16 != 0) { + + if (n % 16 != 0) { char s[46] = {0}; char *sp = s; - for (; p - buf < len; p++) { + for (; p - d < n; p++) { sprintf(sp, "%02x ", p[0]); sp += 3; } - Dbprintf("[%s: %02d/%02d] %s", name, p - buf, len, s); + Dbprintf("[%s: %02d/%02d] %s", name, p - d, n, s); } } +// Prints message and hexdump +void print_dbg(char *msg, uint8_t *d, uint16_t n) { + if (g_dbglevel == DBG_DEBUG) { + print_result(msg, d, n); + } +} + /* useful when debugging new protocol implementations like FeliCa void PrintToSendBuffer(void) { DbpString("Printing ToSendBuffer:"); diff --git a/armsrc/dbprint.h b/armsrc/dbprint.h index 0795db274..4bfa6c89f 100644 --- a/armsrc/dbprint.h +++ b/armsrc/dbprint.h @@ -28,6 +28,7 @@ void Dbprintf(const char *fmt, ...); void DbprintfEx(uint32_t flags, const char *fmt, ...); void Dbhexdump(int len, const uint8_t *d, bool bAsci); void print_result(const char *name, const uint8_t *buf, size_t len); +void print_dbg(char *msg, uint8_t *d, uint16_t n); //void PrintToSendBuffer(void); #endif diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 50ba3e38b..9fa2bdd35 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -39,11 +39,6 @@ #define I2C_ERROR "I2C_WaitAck Error" -// 8051 speaks with smart card. -// 1000*50*3.07 = 153.5ms -// 1 byte transfer == 1ms with max frame being 256 bytes -#define SIM_WAIT_DELAY 88000 // about 270ms delay // 109773 -- about 337.7ms delay - // Direct use the loop to delay. 6 instructions loop, Masterclock 48MHz, // delay=1 is about 200kbps // timer. @@ -58,9 +53,6 @@ static void __attribute__((optimize("O0"))) I2CSpinDelayClk(uint16_t delay) { #define I2C_DELAY_2CLK I2CSpinDelayClk(2) #define I2C_DELAY_XCLK(x) I2CSpinDelayClk((x)) -// The SIM module v4 supports up to 384 bytes for the length. -#define ISO7816_MAX_FRAME 270 - // try i2c bus recovery at 100kHz = 5us high, 5us low void I2C_recovery(void) { diff --git a/armsrc/i2c.h b/armsrc/i2c.h index da5da0532..52c96862e 100644 --- a/armsrc/i2c.h +++ b/armsrc/i2c.h @@ -30,6 +30,15 @@ #define I2C_DEVICE_CMD_GETVERSION 0x06 #define I2C_DEVICE_CMD_SEND_T0 0x07 +// The SIM module v4 supports up to 384 bytes for the length. +#define ISO7816_MAX_FRAME 270 + +// 8051 speaks with smart card. +// 1000*50*3.07 = 153.5ms +// 1 byte transfer == 1ms with max frame being 256 bytes +#define SIM_WAIT_DELAY 88000 // about 270ms delay // 109773 -- about 337.7ms delay + + void I2C_recovery(void); void I2C_init(bool has_ticks); void I2C_Reset(void); diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index da11873e9..9cf3e3301 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -328,7 +328,7 @@ static int smart_responseEx(uint8_t *out, int maxoutlen, bool verbose) { needGetData = true; } - if (needGetData == true) { + if (needGetData) { // Don't discard data we already received except the SW code. // If we only received 1 byte, this is the echo of INS, we discard it. totallen -= 2; @@ -1222,8 +1222,9 @@ int ExchangeAPDUSC(bool verbose, uint8_t *datain, int datainlen, bool activateCa } bool smart_select(bool verbose, smart_card_atr_t *atr) { - if (atr) + if (atr) { memset(atr, 0, sizeof(smart_card_atr_t)); + } clearCommandBuffer(); SendCommandNG(CMD_SMART_ATR, NULL, 0); @@ -1241,8 +1242,9 @@ bool smart_select(bool verbose, smart_card_atr_t *atr) { smart_card_atr_t card; memcpy(&card, (smart_card_atr_t *)resp.data.asBytes, sizeof(smart_card_atr_t)); - if (atr) + if (atr) { memcpy(atr, &card, sizeof(smart_card_atr_t)); + } if (verbose) PrintAndLogEx(INFO, "ISO7816-3 ATR : %s", sprint_hex(card.atr, card.atr_len)); diff --git a/client/src/util.c b/client/src/util.c index e531b51ea..65e3295f9 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -944,11 +944,11 @@ int hextobinarray_n(char *target, char *source, int sourcelen) { return count; } -// convert hex to human readable binary string +// convert hexstring to human readable binary string int hextobinstring(char *target, char *source) { return hextobinstring_n(target, source, strlen(source)); } - +// convert hexstring to human readable binary string int hextobinstring_n(char *target, char *source, int sourcelen) { int length = hextobinarray_n(target, source, sourcelen); if (length == 0) { @@ -958,6 +958,23 @@ int hextobinstring_n(char *target, char *source, int sourcelen) { return length; } +// convert bytes to binary string +int byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen) { + //uint8_t *p = *source; + for (int i = 0 ; i < sourcelen; ++i) { + uint8_t b = *(source++); + *(target++) = ((b >> 7) & 0x1) + '0'; + *(target++) = ((b >> 6) & 0x1) + '0'; + *(target++) = ((b >> 5) & 0x1) + '0'; + *(target++) = ((b >> 4) & 0x1) + '0'; + *(target++) = ((b >> 3) & 0x1) + '0'; + *(target++) = ((b >> 2) & 0x1) + '0'; + *(target++) = ((b >> 1) & 0x1) + '0'; + *(target++) = (b & 0x1) + '0'; + } + *target = '\0'; +} + // convert binary array of 0x00/0x01 values to hex // return number of bits converted int binarraytohex(char *target, const size_t targetlen, const char *source, size_t srclen) { @@ -1007,8 +1024,9 @@ int binarraytohex(char *target, const size_t targetlen, const char *source, size // convert binary array to human readable binary void binarraytobinstring(char *target, char *source, int length) { - for (int i = 0 ; i < length; ++i) + for (int i = 0 ; i < length; ++i) { *(target++) = *(source++) + '0'; + } *target = '\0'; } diff --git a/client/src/util.h b/client/src/util.h index cfaf97167..bbae06fcf 100644 --- a/client/src/util.h +++ b/client/src/util.h @@ -122,6 +122,8 @@ int binarraytohex(char *target, const size_t targetlen, const char *source, size void binarraytobinstring(char *target, char *source, int length); int binstring2binarray(uint8_t *target, char *source, int length); +int byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen); + uint8_t GetParity(const uint8_t *bits, uint8_t type, int length); void wiegand_add_parity(uint8_t *target, uint8_t *source, uint8_t length); void wiegand_add_parity_swapped(uint8_t *target, uint8_t *source, uint8_t length); diff --git a/common/cardhelper.c b/common/cardhelper.c index 7523c9a72..7103769c9 100644 --- a/common/cardhelper.c +++ b/common/cardhelper.c @@ -60,13 +60,14 @@ bool IsCardHelperPresent(bool verbose) { bool IsHIDSamPresent(bool verbose) { if (IfPm3Smartcard() == false) { + PrintAndLogEx(WARNING, "Proxmark3 does not have SMARTCARD support enabled, exiting"); return false; } // detect SAM smart_card_atr_t card; smart_select(verbose, &card); - if (!card.atr_len) { + if (card.atr_len == 0) { PrintAndLogEx(ERR, "Can't get ATR from a smart card"); return false; } diff --git a/common/commonutil.c b/common/commonutil.c index 58e694d76..c9ae5981c 100644 --- a/common/commonutil.c +++ b/common/commonutil.c @@ -485,3 +485,45 @@ void reverse_array_copy(const uint8_t *src, int src_len, uint8_t *dest) { dest[i] = src[(src_len - 1) - i]; } } + +static int hexchar_to_dec(char ch) { + if (ch >= '0' && ch <= '9') { + return ch - '0'; + } + if (ch >= 'a' && ch <= 'f') { + return ch - 'a' + 10; + } + if (ch >= 'A' && ch <= 'F') { + return ch - 'A' + 10; + } + return -1; +} + +// no spaces allowed for input hex string +bool hexstr_to_byte_array(const char *hexstr, uint8_t *d, size_t *n) { + + size_t hexstr_len = strlen(hexstr); + if (hexstr_len & 1) { + return false; + } + + *n = (hexstr_len >> 1); + + for (int i = 0; i < *n; i++) { + + char c1 = *hexstr++; + char c2 = *hexstr++; + + if (c1 == '\0' || c2 == '\0') { + return false; + } + + int b = (hexchar_to_dec(c1) << 4) | hexchar_to_dec(c2); + if (b < 0) { + // Error: invalid hex character + return false; + } + d[i] = (uint8_t) b; + } + return true; +} diff --git a/common/commonutil.h b/common/commonutil.h index aef8240a6..f057486a2 100644 --- a/common/commonutil.h +++ b/common/commonutil.h @@ -109,4 +109,5 @@ uint16_t get_sw(const uint8_t *d, uint16_t n); void reverse_array(uint8_t *d, size_t n); void reverse_array_copy(const uint8_t *src, int src_len, uint8_t *dest); +bool hexstr_to_byte_array(const char *hexstr, uint8_t *d, size_t *n); #endif diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index 05b313482..db9851613 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -585,6 +585,7 @@ typedef struct { #define CMD_HF_ICLASS_RESTORE 0x039B #define CMD_HF_ICLASS_CREDIT_EPURSE 0x039C + // For ISO1092 / FeliCa #define CMD_HF_FELICA_SIMULATE 0x03A0 #define CMD_HF_FELICA_SNIFF 0x03A1 @@ -669,6 +670,7 @@ typedef struct { #define CMD_HF_MFU_COUNTER_TEAROFF 0x0741 + #define CMD_HF_SNIFF 0x0800 #define CMD_HF_PLOT 0x0801 @@ -698,6 +700,11 @@ typedef struct { #define CMD_HF_MIFARE_G4_GDM_CONFIG 0x0872 #define CMD_HF_MIFARE_G4_GDM_WRCFG 0x0873 +// HID SAM +#define CMD_HF_SAM_PICOPASS 0x0900 +#define CMD_HF_SAM_SEOS 0x0901 +#define CMD_HF_SAM_MFC 0x0902 + #define CMD_UNKNOWN 0xFFFF //Mifare simulation flags From bc701c8ddc203d640927d43781fcb852b39cf4f0 Mon Sep 17 00:00:00 2001 From: David Driscoll Date: Mon, 2 Oct 2023 10:31:17 -0400 Subject: [PATCH 033/278] Fixing macOS errors. --- tools/cryptorf/sma_multi.cpp | 179 +---------------------------------- 1 file changed, 4 insertions(+), 175 deletions(-) diff --git a/tools/cryptorf/sma_multi.cpp b/tools/cryptorf/sma_multi.cpp index c8f6ec0ec..dcb412eba 100644 --- a/tools/cryptorf/sma_multi.cpp +++ b/tools/cryptorf/sma_multi.cpp @@ -332,21 +332,6 @@ static inline uint8_t next_left_fast(uint8_t in, uint64_t *left) { return lookup->out; } -static inline uint8_t next_left_ksbyte(uint64_t *left) { - lookup_entry *lookup; - uint8_t bt; - - *left = (((*left) >> 5) | ((uint64_t)left_addition[((*left) & 0xf801f)] << 30)); - lookup = &(lookup_left[((*left) & 0xf801f)]); - *left = (((*left) >> 5) | ((uint64_t)lookup->addition << 30)); - bt = lookup->out << 4; - *left = (((*left) >> 5) | ((uint64_t)left_addition[((*left) & 0xf801f)] << 30)); - lookup = &(lookup_left[((*left) & 0xf801f)]); - *left = (((*left) >> 5) | ((uint64_t)lookup->addition << 30)); - bt |= lookup->out; - return bt; -} - static inline uint8_t next_right_fast(uint8_t in, uint64_t *right) { if (in) *right ^= ((in & 0xf8) << 12); lookup_entry *lookup = &(lookup_right[((*right) & 0x7c1f)]); @@ -451,7 +436,7 @@ static void ice_sm_right_thread( static uint32_t ice_sm_right(const uint8_t *ks, uint8_t *mask, vector *pcrstates) { map bincstates; - g_topbits = ATOMIC_VAR_INIT(0); + g_topbits = 0; std::vector threads(g_num_cpus); for (uint8_t m = 0; m < g_num_cpus; m++) { @@ -589,72 +574,6 @@ static void ice_sm_left(const uint8_t *ks, uint8_t *mask, vector *pcstates reverse(pcstates->begin(), pcstates->end()); } -static inline uint32_t sm_right(const uint8_t *ks, uint8_t *mask, vector *pcrstates) { - uint8_t tmp_mask[16]; - size_t topbits = 0; - map bincstates; - map::iterator it; - - - for (uint64_t counter = 0; counter < 0x2000000; counter++) { - // Reset the current bitcount of correct bits - size_t bits = 0; - - // Copy the state we are going to test - uint64_t rstate = counter; - - for (size_t pos = 0; pos < 16; pos++) { - next_right_fast(0, &rstate); - uint8_t bt = next_right_fast(0, &rstate) << 4; - next_right_fast(0, &rstate); - bt |= next_right_fast(0, &rstate); - - // xor the bits with the keystream and count the "correct" bits - bt ^= ks[pos]; - - // Save the mask for the left produced bits - tmp_mask[pos] = bt; - - for (size_t bit = 0; bit < 8; bit++) { - // When the bit is xored away (=zero), it was the same, so correct ;) - if ((bt & 0x01) == 0) bits++; - bt >>= 1; - } - } - - if (bits > topbits) { - topbits = bits; - // Copy the winning mask - memcpy(mask, tmp_mask, 16); - } - - // Ignore states under 90 - if (bits >= 90) { - // Make sure the bits are used for ordering - bincstates[(((uint64_t)bits) << 56) | counter] = counter; - } - - if ((counter & 0xfffff) == 0) { - printf("."); - fflush(stdout); - } - } - printf("\n"); - - // Clear the candidate state vector - pcrstates->clear(); - - // Copy the order the states from lowest-bin to highest-bin - for (it = bincstates.begin(); it != bincstates.end(); ++it) { - pcrstates->push_back(it->second); - } - - // Reverse the vector order (so the highest bin comes first) - reverse(pcrstates->begin(), pcrstates->end()); - - return topbits; -} - static inline void previous_all_input(vector *pcstates, uint32_t gc_byte_index, cipher_state_side css) { uint8_t btGc, in; vector ncstates; @@ -741,94 +660,6 @@ static inline void search_gc_candidates_right(const uint64_t rstate_before_gc, c } } -static inline void sm_left(const uint8_t *ks, const uint8_t *mask, vector *pcstates) { - map bincstates; - map::iterator it; - uint64_t counter; - size_t pos, bits; - uint8_t correct_bits[16]; - uint8_t bt; - cs_t state; - lookup_entry *lookup; - - // Reset and initialize the cryptostate and vecctor - memset(&state, 0x00, sizeof(cs_t)); - state.invalid = false; - - for (counter = 0; counter < 0x800000000ull; counter++) { - uint64_t lstate = counter; - - for (pos = 0; pos < 16; pos++) { - - lstate = (((lstate) >> 5) | ((uint64_t)left_addition[((lstate) & 0xf801f)] << 30)); - lookup = &(lookup_left[((lstate) & 0xf801f)]); - lstate = (((lstate) >> 5) | ((uint64_t)lookup->addition << 30)); - bt = lookup->out << 4; - lstate = (((lstate) >> 5) | ((uint64_t)left_addition[((lstate) & 0xf801f)] << 30)); - lookup = &(lookup_left[((lstate) & 0xf801f)]); - lstate = (((lstate) >> 5) | ((uint64_t)lookup->addition << 30)); - bt |= lookup->out; - - // xor the bits with the keystream and count the "correct" bits - bt ^= ks[pos]; - - // When the REQUIRED bits are NOT xored away (=zero), ignore this wrong state - if ((bt & mask[pos]) != 0) break; - - // Save the correct bits for statistical information - correct_bits[pos] = bt; - } - - // If we have parsed all 16 bytes of keystream, we have a valid CANDIDATE! - if (pos == 16) { - // Count the total correct bits - bits = 0; - for (pos = 0; pos < 16; pos++) { - // Get the next byte-value with correct bits - bt = correct_bits[pos]; - - // Count all the (correct) bits - // When the bit is xored away (=zero), it was the same, so correct ;) - if ((bt & 0x01) == 0) bits++; - if (((bt >> 1) & 0x01) == 0) bits++; - if (((bt >> 2) & 0x01) == 0) bits++; - if (((bt >> 3) & 0x01) == 0) bits++; - if (((bt >> 4) & 0x01) == 0) bits++; - if (((bt >> 5) & 0x01) == 0) bits++; - if (((bt >> 6) & 0x01) == 0) bits++; - if (((bt >> 7) & 0x01) == 0) bits++; - - } - - // Print the left candidate - // printf("%09llx (%d)\n",counter,bits); - printf("."); - fflush(stdout); - - state.l = counter; - // Make sure the bits are used for ordering - bincstates[(((uint64_t)bits) << 56) | counter] = state; - } - - if ((counter & 0xffffffffull) == 0) { - printf("%02.1f%%.", ((float)100 / 8) * (counter >> 32)); - fflush(stdout); - } - } - - printf("100%%\n"); - - // Clear the candidate state vector - pcstates->clear(); - - // Copy the order the states from lowest-bin to highest-bin - for (it = bincstates.begin(); it != bincstates.end(); ++it) { - pcstates->push_back(it->second); - } - // Reverse the vector order (so the highest bin comes first) - reverse(pcstates->begin(), pcstates->end()); -} - static inline void search_gc_candidates_left(const uint64_t lstate_before_gc, const uint8_t *Q, vector *pcstates) { vector csl_cand, csl_search; vector::iterator itsearch, itcand; @@ -885,7 +716,7 @@ static inline void search_gc_candidates_left(const uint64_t lstate_before_gc, co void combine_valid_left_right_states(vector *plcstates, vector *prcstates, vector *pgc_candidates) { vector::iterator itl, itr; - size_t pos, count; + size_t pos; uint64_t gc; bool valid; @@ -902,7 +733,6 @@ void combine_valid_left_right_states(vector *plcstates, vector *prcs // Clean up the candidate list pgc_candidates->clear(); - count = 0; for (itl = outer.begin(); itl != outer.end(); ++itl) { for (itr = inner.begin(); itr != inner.end(); ++itr) { valid = true; @@ -923,7 +753,6 @@ void combine_valid_left_right_states(vector *plcstates, vector *prcs pgc_candidates->push_back(gc); } - count++; } } printf("Found a total of " _YELLOW_("%llu")" combinations, ", ((unsigned long long)plcstates->size()) * prcstates->size()); @@ -1120,8 +949,8 @@ int main(int argc, const char *argv[]) { printf("Filtering the correct one using the middle part\n"); - key_found = ATOMIC_VAR_INIT(false); - key = ATOMIC_VAR_INIT(0); + key_found = false; + key = 0; std::vector threads(g_num_cpus); for (uint8_t m = 0; m < g_num_cpus; m++) { threads[m] = std::thread(ice_compare, m, g_num_cpus, &pgc_candidates, &ostate, ref(Ci), ref(Q), ref(Ch), ref(Ci_1)); From fb23d2047f304283a2a61d82932bd1aa9f0b170d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 20:11:23 +0200 Subject: [PATCH 034/278] reworked the JSON format for 14a, 14b, 15, cryptorf, lto, NDEF.\nDeprecated EML format. Pm3 client do not save EML files any more.nPm3 client will continue to load EML files. --- CHANGELOG.md | 2 + client/src/cmdflashmem.c | 3 +- client/src/cmdflashmemspiffs.c | 13 +- client/src/cmdhf14a.c | 20 +- client/src/cmdhf14b.c | 12 +- client/src/cmdhf15.c | 54 ++-- client/src/cmdhfcryptorf.c | 15 +- client/src/cmdhffudan.c | 9 +- client/src/cmdhficlass.c | 20 +- client/src/cmdhflegic.c | 8 +- client/src/cmdhflto.c | 3 +- client/src/cmdhfmf.c | 86 ++---- client/src/cmdhfmfdes.c | 6 +- client/src/cmdhfmfp.c | 20 +- client/src/cmdhfmfu.c | 24 +- client/src/cmdhfst25ta.c | 11 +- client/src/cmdhftopaz.c | 6 +- client/src/cmdhfxerox.c | 15 +- client/src/cmdlfem4x05.c | 4 +- client/src/cmdlfem4x50.c | 12 +- client/src/cmdlfhitag.c | 2 +- client/src/cmdlft55xx.c | 10 +- client/src/fileutils.c | 502 +++++++++++++++++++++++++-------- client/src/fileutils.h | 45 ++- client/src/nfc/ndef.c | 30 ++ client/src/nfc/ndef.h | 2 +- include/iclass_cmd.h | 2 +- 27 files changed, 617 insertions(+), 319 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bde51946..873bc53ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed the json file formats for mfc, 14b, 15, legic, cryptorf, ndef (@iceman1001) + - Depricated the EML file format when saving dump files. (@iceman1001) - Added `sim014.bin` - new sim module firmware v4.42 with improved ISO7816 Protocol T0 support (@gentilkiwi) - Added datasheet for sim module (@iceman1001) - Changed `smart raw --timeout` - allows for a custom timeout (@iceman1001) diff --git a/client/src/cmdflashmem.c b/client/src/cmdflashmem.c index 2cfe3849c..9d1f5605f 100644 --- a/client/src/cmdflashmem.c +++ b/client/src/cmdflashmem.c @@ -379,8 +379,7 @@ static int CmdFlashMemDump(const char *Cmd) { } if (filename[0] != '\0') { - saveFile(filename, ".bin", dump, len); - saveFileEML(filename, dump, len, 16); + pm3_save_dump(filename, dump, len, jsfRaw); } free(dump); diff --git a/client/src/cmdflashmemspiffs.c b/client/src/cmdflashmemspiffs.c index e84b3e597..218109755 100644 --- a/client/src/cmdflashmemspiffs.c +++ b/client/src/cmdflashmemspiffs.c @@ -370,14 +370,13 @@ static int CmdFlashMemSpiFFSDump(const char *Cmd) { "Dumps device SPIFFS file to a local file\n" "Size is handled by first sending a STAT command against file to verify existence", "mem spiffs dump -s tag.bin --> download binary file from device\n" - "mem spiffs dump -s tag.bin -d aaa -e --> download tag.bin, save as aaa.eml format" + "mem spiffs dump -s tag.bin -d a001 -e --> download tag.bin, save as `a001.bin`" ); void *argtable[] = { arg_param_begin, arg_str1("s", "src", "", "SPIFFS file to save"), arg_str0("d", "dest", "", "file name to save to "), - arg_lit0("e", "eml", "also save in EML format"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -390,7 +389,6 @@ static int CmdFlashMemSpiFFSDump(const char *Cmd) { char dest[FILE_PATH_SIZE] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 2), (uint8_t *)dest, FILE_PATH_SIZE, &dlen); - bool eml = arg_get_lit(ctx, 3); CLIParserFree(ctx); // get size from spiffs itself ! @@ -433,15 +431,6 @@ static int CmdFlashMemSpiFFSDump(const char *Cmd) { else saveFile(fn, ".bin", dump, len); // default - if (eml) { - uint8_t eml_len = 16; - if (strstr(fn, "class") != NULL) - eml_len = 8; - else if (strstr(fn, "mfu") != NULL) - eml_len = 4; - - saveFileEML(fn, dump, len, eml_len); - } free(dump); return PM3_SUCCESS; } diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index ecd57e181..439641f09 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -2748,6 +2748,7 @@ int CmdHF14ANdefRead(const char *Cmd) { CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); bool verbose = arg_get_lit(ctx, 2); + bool verbose2 = arg_get_lit(ctx, 2) > 1; CLIParserFree(ctx); bool activate_field = true; @@ -2934,11 +2935,24 @@ int CmdHF14ANdefRead(const char *Cmd) { memcpy(ndef_file + (i - offset), response, segment_size); } - if (fnlen != 0) { - saveFile(filename, ".bin", ndef_file, ndef_size); - } + if (verbose2) { + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, "--- " _CYAN_("NDEF raw") " ----------------"); + print_buffer(ndef_file, ndef_size, 1); + } NDEFRecordsDecodeAndPrint(ndef_file, ndef_size, verbose); + + pm3_save_dump(filename, ndef_file, ndef_size, jsfNDEF); + + if (verbose == false) { + PrintAndLogEx(HINT, "Try " _YELLOW_("`hf 14a ndefread -v`") " for more details"); + } else { + if (verbose2 == false) { + PrintAndLogEx(HINT, "Try " _YELLOW_("`hf 14a ndefread -vv`") " for more details"); + } + } + free(ndef_file); return PM3_SUCCESS; } diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index 1ba73e797..59a452fb6 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -1546,7 +1546,7 @@ static int CmdHF14BDump(const char *Cmd) { } size_t datalen = (lastblock + 2) * ST25TB_SR_BLOCK_SIZE; - pm3_save_dump(filename, data, datalen, jsf14b, ST25TB_SR_BLOCK_SIZE); + pm3_save_dump(filename, data, datalen, jsf14b_v2); } } @@ -2121,9 +2121,13 @@ int CmdHF14BNdefRead(const char *Cmd) { goto out; } - if (fnlen != 0) { - saveFile(filename, ".bin", response + 2, resplen - 4); - } + // get total NDEF length before save. If fails, we save it all + size_t n = 0; + if (NDEFGetTotalLength(response + 2, resplen - 4, &n) != PM3_SUCCESS) + n = resplen - 4; + + pm3_save_dump(filename, response + 2, n, jsfNDEF); + res = NDEFRecordsDecodeAndPrint(response + 2, resplen - 4, verbose); out: diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index 75b972871..eea85272a 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -62,7 +62,7 @@ typedef struct { uint8_t lock; - uint8_t block[4]; + uint8_t block[8]; } t15memory_t; // structure and database for uid -> tagtype lookups @@ -1143,14 +1143,14 @@ static int CmdHF15ELoad(const char *Cmd) { static int CmdHF15ESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf 15 esave", - "Save emulator memory into three files (BIN/EML/JSON) ", + "Save emulator memory into two files (BIN/JSON) ", "hf 15 esave -f hf-15-01020304" "hf 15 esave -b 8 -c 42 -f hf-15-01020304" ); void *argtable[] = { arg_param_begin, arg_str1("f", "file", "", "filename of dump"), - arg_int0("b", "blocksize", "", "block size, defaults to 4"), + arg_int0(NULL, "bsize", "", "block size, defaults to 4"), arg_int0("c", "count", "", "number of blocks to export, defaults to all"), arg_param_end }; @@ -1176,13 +1176,18 @@ static int CmdHF15ESave(const char *Cmd) { } PrintAndLogEx(INFO, "Downloading %u bytes from emulator memory", bytes); - if (!GetFromDevice(BIG_BUF_EML, dump, bytes, 0, NULL, 0, NULL, 2500, false)) { + if (GetFromDevice(BIG_BUF_EML, dump, bytes, 0, NULL, 0, NULL, 2500, false) == false) { PrintAndLogEx(WARNING, "Fail, transfer from device time-out"); free(dump); return PM3_ETIMEOUT; } - pm3_save_dump(filename, dump, bytes, jsf15, blocksize); + if (blocksize == 8) { + pm3_save_dump(filename, dump, bytes, jsf15_v3); + } else { + pm3_save_dump(filename, dump, bytes, jsf15_v2); + } + free(dump); return PM3_SUCCESS; } @@ -1604,9 +1609,12 @@ static int CmdHF15Dump(const char *Cmd) { // memory. t15memory_t mem[256]; - uint8_t data[256 * 4] = {0}; + uint8_t data[256 * 8] = {0}; memset(data, 0, sizeof(data)); + // keep track of which block length tag returned? + uint8_t blklen = 4; + for (int retry = 0; (retry < 5 && blocknum < 0x100); retry++) { req[10] = blocknum; @@ -1646,9 +1654,15 @@ static int CmdHF15Dump(const char *Cmd) { break; } + // lock byte value mem[blocknum].lock = resp.data.asBytes[0]; - memcpy(mem[blocknum].block, resp.data.asBytes + 1, 4); - memcpy(data + (blocknum * 4), resp.data.asBytes + 1, 4); + + // is tag responding with 4 or 8 bytes? + if (resp.length == 11) { + blklen = 8; + } + memcpy(mem[blocknum].block, resp.data.asBytes + 1, blklen); + memcpy(data + (blocknum * 4), resp.data.asBytes + 1, blklen); retry = 0; blocknum++; @@ -1659,6 +1673,10 @@ static int CmdHF15Dump(const char *Cmd) { DropField(); + if (blklen == 8) { + PrintAndLogEx(INFO, "8 byte block length detected"); + } + PrintAndLogEx(NORMAL, "\n"); PrintAndLogEx(INFO, "block# | data |lck| ascii"); PrintAndLogEx(INFO, "---------+--------------+---+----------"); @@ -1672,9 +1690,9 @@ static int CmdHF15Dump(const char *Cmd) { PrintAndLogEx(INFO, "%3d/0x%02X | %s | %s | %s" , i , i - , sprint_hex(mem[i].block, 4) + , sprint_hex(mem[i].block, blklen) , lck - , sprint_ascii(mem[i].block, 4) + , sprint_ascii(mem[i].block, blklen) ); } PrintAndLogEx(NORMAL, ""); @@ -1687,8 +1705,11 @@ static int CmdHF15Dump(const char *Cmd) { FillFileNameByUID(fptr, SwapEndian64(uid, sizeof(uid), 8), "-dump", sizeof(uid)); } - size_t datalen = blocknum * 4; - pm3_save_dump(filename, data, datalen, jsf15, 4); + if (blklen == 8) { + pm3_save_dump(filename, data, (blocknum * blklen), jsf15_v3); + } else { + pm3_save_dump(filename, data, (blocknum * blklen), jsf15_v2); + } return PM3_SUCCESS; } @@ -2000,15 +2021,16 @@ static int CmdHF15Readblock(const char *Cmd) { return PM3_EWRONGANSWER; } + // print response char lck[16] = {0}; if (data[1]) { - snprintf(lck, sizeof(lck), _RED_("%d"), data[1]); + snprintf(lck, sizeof(lck), _RED_("%02X"), data[1]); } else { - snprintf(lck, sizeof(lck), "%d", data[1]); + snprintf(lck, sizeof(lck), "%02X", data[1]); } PrintAndLogEx(NORMAL, ""); - PrintAndLogEx(INFO, " #%3d |lck| ascii", block); + PrintAndLogEx(INFO, "#%3d |lck| ascii", block); PrintAndLogEx(INFO, "------------+---+------"); PrintAndLogEx(INFO, "%s| %s | %s", sprint_hex(data + 2, resp.length - 4), lck, sprint_ascii(data + 2, resp.length - 4)); PrintAndLogEx(NORMAL, ""); @@ -2834,7 +2856,7 @@ static int CmdHF15View(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump (bin/eml/json)"), + arg_str1("f", "file", "", "filename of dump"), // arg_lit0("z", "dense", "dense dump output style"), arg_param_end }; diff --git a/client/src/cmdhfcryptorf.c b/client/src/cmdhfcryptorf.c index 552c25590..12e522f2a 100644 --- a/client/src/cmdhfcryptorf.c +++ b/client/src/cmdhfcryptorf.c @@ -414,9 +414,8 @@ static int CmdHFCryptoRFDump(const char *Cmd) { FillFileNameByUID(fptr, card.uid, "-dump", card.uidlen); } - saveFileEML(filename, data, datalen, 4); - saveFile(filename, ".bin", data, datalen); - // json? + pm3_save_dump(filename, data, datalen, jsfCryptorf); + return switch_off_field_cryptorf(); } @@ -486,14 +485,14 @@ static int CmdHFCryptoRFESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf cryptorf esave", - "Save emulator memory to bin/eml/json file\n" + "Save emulator memory to to two files (bin/json)\n" "if filename is not supplied, UID will be used.", "hf cryptorf esave\n" "hf cryptorf esave -f filename" ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dumpfile"), + arg_str0("f", "file", "", "filename of dump"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -527,11 +526,7 @@ static int CmdHFCryptoRFESave(const char *Cmd) { FillFileNameByUID(fptr, data, "-dump", 4); } - saveFile(filename, ".bin", data, numofbytes); - //needs to change - saveFileEML(filename, data, numofbytes, 8); - //needs to change - saveFileJSON(filename, jsfRaw, data, numofbytes, NULL); + pm3_save_dump(filename, data, numofbytes, jsfCryptorf); free(data); return PM3_SUCCESS; } diff --git a/client/src/cmdhffudan.c b/client/src/cmdhffudan.c index 53e580e1b..7403afeb6 100644 --- a/client/src/cmdhffudan.c +++ b/client/src/cmdhffudan.c @@ -339,14 +339,7 @@ static int CmdHFFudanDump(const char *Cmd) { free(fptr); } - saveFile(dataFilename, ".bin", (uint8_t *)carddata, sizeof(carddata)); - saveFileEML(dataFilename, (uint8_t *)carddata, sizeof(carddata), MAX_FUDAN_BLOCK_SIZE); - - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = (uint8_t *)carddata; - xdump.dumplen = sizeof(carddata); - saveFileJSON(dataFilename, jsfFudan, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_dump(dataFilename, (uint8_t *)carddata, sizeof(carddata), jsfFudan); return PM3_SUCCESS; } diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 86dda89cd..08ed01068 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -19,8 +19,8 @@ #include "cmdhficlass.h" #include #include "cliparser.h" -#include "cmdparser.h" // command_t -#include "commonutil.h" // ARRAYLEN +#include "cmdparser.h" // command_t +#include "commonutil.h" // ARRAYLEN #include "cmdtrace.h" #include "util_posix.h" #include "comms.h" @@ -34,13 +34,13 @@ #include "cardhelper.h" #include "wiegand_formats.h" #include "wiegand_formatutils.h" -#include "cmdsmartcard.h" // smart select fct +#include "cmdsmartcard.h" // smart select fct #include "proxendian.h" #include "iclass_cmd.h" -#include "crypto/asn1utils.h" // ASN1 decoder +#include "crypto/asn1utils.h" // ASN1 decoder #include "preferences.h" -#define PICOPASS_BLOCK_SIZE 8 + #define NUM_CSNS 9 #define MAC_ITEM_SIZE 24 // csn(8) + epurse(8) + nr(4) + mac(4) = 24 bytes #define ICLASS_KEYS_MAX 8 @@ -1016,7 +1016,7 @@ static int CmdHFiClassELoad(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump (bin/eml/json)"), + arg_str1("f", "file", "", "filename of dump"), arg_lit0("m", "mem", "use RDV4 spiffs"), arg_lit0("v", "verbose", "verbose output"), arg_param_end @@ -1149,7 +1149,7 @@ static int CmdHFiClassESave(const char *Cmd) { FillFileNameByUID(fptr, dump, "-dump", 8); } - pm3_save_dump(filename, dump, bytes, jsfIclass, PICOPASS_BLOCK_SIZE); + pm3_save_dump(filename, dump, bytes, jsfIclass); free(dump); PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass view -f") "` to view dump file"); @@ -1497,7 +1497,7 @@ static int CmdHFiClassDecrypt(const char *Cmd) { strcat(fptr, "hf-iclass-"); FillFileNameByUID(fptr, hdr->csn, "-dump-decrypted", sizeof(hdr->csn)); - pm3_save_dump(fptr, decrypted, decryptedlen, jsfIclass, PICOPASS_BLOCK_SIZE); + pm3_save_dump(fptr, decrypted, decryptedlen, jsfIclass); printIclassDumpContents(decrypted, 1, (decryptedlen / 8), decryptedlen, dense_output); @@ -2045,7 +2045,7 @@ write_dump: // save the dump to .bin file PrintAndLogEx(SUCCESS, "saving dump file - %u blocks read", bytes_got / 8); - pm3_save_dump(filename, tag_data, bytes_got, jsfIclass, PICOPASS_BLOCK_SIZE); + pm3_save_dump(filename, tag_data, bytes_got, jsfIclass); PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass decrypt -f") "` to decrypt dump file"); PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass view -f") "` to view dump file"); @@ -3026,7 +3026,7 @@ static int CmdHFiClassView(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump (bin/eml/json)"), + arg_str1("f", "file", "", "filename of dump"), arg_int0(NULL, "first", "", "Begin printing from this block (default first user block)"), arg_int0(NULL, "last", "", "End printing at this block (default 0, ALL)"), arg_lit0("v", "verbose", "verbose output"), diff --git a/client/src/cmdhflegic.c b/client/src/cmdhflegic.c index 488f8dcb2..676ed3911 100644 --- a/client/src/cmdhflegic.c +++ b/client/src/cmdhflegic.c @@ -858,7 +858,7 @@ static int CmdLegicReader(const char *Cmd) { static int CmdLegicDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf legic dump", - "Read all memory from LEGIC Prime tags and saves to (bin/eml/json) dump file\n" + "Read all memory from LEGIC Prime tags and saves to (bin/json) dump file\n" "It autodetects card type (MIM22, MIM256, MIM1024)", "hf legic dump --> use UID as filename\n" "hf legic dump -f myfile \n" @@ -951,7 +951,7 @@ static int CmdLegicDump(const char *Cmd) { FillFileNameByUID(filename, data, "-dump", 4); } - pm3_save_dump(filename, data, readlen, jsfLegic, LEGIC_BLOCK_SIZE); + pm3_save_dump(filename, data, readlen, jsfLegic_v2); free(data); return PM3_SUCCESS; } @@ -1119,7 +1119,7 @@ static int CmdLegicELoad(const char *Cmd) { static int CmdLegicESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf legic esave", - "Saves a (bin/eml/json) dump file of emulator memory", + "Saves a (bin/json) dump file of emulator memory", "hf legic esave --> uses UID as filename\n" "hf legic esave -f myfile --22\n" "hf legic esave -f myfile --22 --de\n" @@ -1188,7 +1188,7 @@ static int CmdLegicESave(const char *Cmd) { legic_xor(data, numofbytes); } - pm3_save_dump(filename, data, numofbytes, jsfLegic, LEGIC_BLOCK_SIZE); + pm3_save_dump(filename, data, numofbytes, jsfLegic_v2); return PM3_SUCCESS; } diff --git a/client/src/cmdhflto.c b/client/src/cmdhflto.c index d11f0c6d1..e263c850e 100644 --- a/client/src/cmdhflto.c +++ b/client/src/cmdhflto.c @@ -771,8 +771,7 @@ static int CmdHfLTODump(const char *Cmd) { char *fptr = filename + snprintf(filename, sizeof(filename), "hf-lto-"); FillFileNameByUID(fptr, dump, "-dump", 5); } - saveFile(filename, ".bin", dump, dump_len); - saveFileEML(filename, dump, dump_len, 32); + pm3_save_dump(filename, dump, dump_len, jsfLto); free(dump); return PM3_SUCCESS; } diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 7f8be4fbf..1267235de 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -472,7 +472,7 @@ void mf_print_sector_hdr(uint8_t sector) { static bool mf_write_block(const uint8_t *key, uint8_t keytype, uint8_t blockno, uint8_t *block) { uint8_t data[26]; - memcpy(data, key, MFKEY_SIZE); + memcpy(data, key, MIFARE_KEY_SIZE); memcpy(data + 10, block, MFBLOCK_SIZE); clearCommandBuffer(); @@ -1230,14 +1230,7 @@ static int CmdHF14AMfDump(const char *Cmd) { free(fptr); } - saveFile(dataFilename, ".bin", mem, bytes); - saveFileEML(dataFilename, mem, bytes, MFBLOCK_SIZE); - - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = mem; - xdump.dumplen = bytes; - saveFileJSON(dataFilename, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_mf_dump(dataFilename, mem, bytes, jsfCardMemory); free(mem); return PM3_SUCCESS; } @@ -3164,13 +3157,7 @@ all_found: strncpy(filename, fptr, sizeof(filename) - 1); free(fptr); - saveFile(filename, ".bin", dump, bytes); - saveFileEML(filename, dump, bytes, MFBLOCK_SIZE); - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = dump; - xdump.dumplen = bytes; - saveFileJSON(filename, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_mf_dump(filename, dump, bytes, jsfCardMemory); // Generate and show statistics t1 = msclock() - t1; @@ -4452,7 +4439,7 @@ static int CmdHF14AMfESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf esave", - "Save emulator memory into three files (BIN/EML/JSON) ", + "Save emulator memory into two files (bin//json) ", "hf mf esave\n" "hf mf esave --4k\n" "hf mf esave --4k -f hf-mf-01020304.eml" @@ -4522,30 +4509,7 @@ static int CmdHF14AMfESave(const char *Cmd) { FillFileNameByUID(fptr, dump, "-dump", 4); } - saveFile(filename, ".bin", dump, bytes); - saveFileEML(filename, dump, bytes, MFBLOCK_SIZE); - - iso14a_mf_extdump_t xdump = {0}; - xdump.card_info.ats_len = 0; - // Check for 4 bytes uid: bcc corrected and single size uid bits in ATQA - if ((dump[0] ^ dump[1] ^ dump[2] ^ dump[3]) == dump[4] && (dump[6] & 0xc0) == 0) { - xdump.card_info.uidlen = 4; - memcpy(xdump.card_info.uid, dump, xdump.card_info.uidlen); - xdump.card_info.sak = dump[5]; - memcpy(xdump.card_info.atqa, &dump[6], sizeof(xdump.card_info.atqa)); - } - // Check for 7 bytes UID: double size uid bits in ATQA - else if ((dump[8] & 0xc0) == 0x40) { - xdump.card_info.uidlen = 7; - memcpy(xdump.card_info.uid, dump, xdump.card_info.uidlen); - xdump.card_info.sak = dump[7]; - memcpy(xdump.card_info.atqa, &dump[8], sizeof(xdump.card_info.atqa)); - } else { - PrintAndLogEx(WARNING, "Invalid dump. UID/SAK/ATQA not found"); - } - xdump.dump = dump; - xdump.dumplen = bytes; - saveFileJSON(filename, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_mf_dump(filename, dump, bytes, jsfCardMemory); free(dump); return PM3_SUCCESS; } @@ -5217,7 +5181,7 @@ static int CmdHF14AMfCGetSc(const char *Cmd) { static int CmdHF14AMfCSave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf csave", - "Save magic gen1a card memory into three files (BIN/EML/JSON)" + "Save magic gen1a card memory into two files (bin/json)" "or into emulator memory", "hf mf csave\n" "hf mf csave --4k" @@ -5364,13 +5328,7 @@ static int CmdHF14AMfCSave(const char *Cmd) { FillFileNameByUID(fptr, card.uid, "-dump", card.uidlen); } - saveFile(filename, ".bin", dump, bytes); - saveFileEML(filename, dump, bytes, MFBLOCK_SIZE); - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = dump; - xdump.dumplen = bytes; - saveFileJSON(filename, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_mf_dump(filename, dump, bytes, jsfCardMemory); free(dump); return PM3_SUCCESS; } @@ -6176,16 +6134,19 @@ int CmdHFMFNDEFRead(const char *Cmd) { print_buffer(data, datalen, 1); } - if (fnlen != 0) { - saveFile(filename, ".bin", data, datalen); - } - res = NDEFDecodeAndPrint(data, datalen, verbose); if (res != PM3_SUCCESS) { PrintAndLogEx(INFO, "Trying to parse NDEF records w/o NDEF header"); res = NDEFRecordsDecodeAndPrint(data, datalen, verbose); } + // get total NDEF length before save. If fails, we save it all + size_t n = 0; + if (NDEFGetTotalLength(data, datalen, &n) != PM3_SUCCESS) + n = datalen; + + pm3_save_dump(filename, data, n, jsfNDEF); + if (verbose == false) { PrintAndLogEx(HINT, "Try " _YELLOW_("`hf mf ndefread -v`") " for more details"); } else { @@ -6282,8 +6243,8 @@ int CmdHFMFNDEFFormat(const char *Cmd) { // init keys to default key - uint8_t keyA[MIFARE_4K_MAXSECTOR][MFKEY_SIZE]; - uint8_t keyB[MIFARE_4K_MAXSECTOR][MFKEY_SIZE]; + uint8_t keyA[MIFARE_4K_MAXSECTOR][MIFARE_KEY_SIZE]; + uint8_t keyB[MIFARE_4K_MAXSECTOR][MIFARE_KEY_SIZE]; for (uint8_t i = 0; i < MIFARE_4K_MAXSECTOR; i++) { memcpy(keyA[i], g_mifare_default_key, sizeof(g_mifare_default_key)); @@ -6314,7 +6275,6 @@ int CmdHFMFNDEFFormat(const char *Cmd) { DropField(); } - // load key file if exist if (strlen(keyFilename)) { // @@ -7402,7 +7362,6 @@ static int CmdHF14AMfView(const char *Cmd) { block_cnt = MIFARE_4K_MAXBLOCK; if (verbose) { - PrintAndLogEx(INFO, "File: " _YELLOW_("%s"), filename); PrintAndLogEx(INFO, "File size %zu bytes, file blocks %d (0x%x)", bytes_read, block_cnt, block_cnt); } @@ -7896,7 +7855,7 @@ static int CmdHF14AGen4Save(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf gsave", - "Save `magic gen4 gtu` card memory into three files (BIN/EML/JSON)" + "Save `magic gen4 gtu` card memory into two files (bin/json)" "or into emulator memory", "hf mf gsave\n" "hf mf gsave --4k\n" @@ -7908,7 +7867,7 @@ static int CmdHF14AGen4Save(const char *Cmd) { arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (def)"), arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), arg_lit0(NULL, "4k", "MIFARE Classic 4k / S70"), - arg_str0("p", "pwd", "", "password 4bytes"), + arg_str0("p", "pwd", "", "password 4 bytes"), arg_str0("f", "file", "", "filename of dump"), arg_lit0(NULL, "emu", "to emulator memory"), arg_param_end @@ -8079,14 +8038,7 @@ static int CmdHF14AGen4Save(const char *Cmd) { FillFileNameByUID(fptr, card.uid, "-dump", card.uidlen); } - saveFile(filename, ".bin", dump, bytes); - saveFileEML(filename, dump, bytes, MFBLOCK_SIZE); - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = dump; - xdump.dumplen = bytes; - saveFileJSON(filename, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); - + pm3_save_mf_dump(filename, dump, bytes, jsfCardMemory); free(dump); return PM3_SUCCESS; } diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index 03dcea842..59abee163 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -1126,9 +1126,9 @@ static int CmdHF14aDesChk(const char *Cmd) { CLIParserInit(&ctx, "hf mfdes chk", "Checks keys with MIFARE DESFire card.", "hf mfdes chk --aid 123456 -k 000102030405060708090a0b0c0d0e0f -> check key on aid 0x123456\n" - "hf mfdes chk -d mfdes_default_keys -> check keys from dictionary against all existing aid on card\n" - "hf mfdes chk -d mfdes_default_keys --aid 123456 -> check keys from dictionary against aid 0x123456\n" - "hf mfdes chk --aid 123456 --pattern1b -j keys -> check all 1-byte keys pattern on aid 0x123456 and save found keys to json\n" + "hf mfdes chk -d mfdes_default_keys -> check keys against all existing aid on card\n" + "hf mfdes chk -d mfdes_default_keys --aid 123456 -> check keys against aid 0x123456\n" + "hf mfdes chk --aid 123456 --pattern1b -j keys -> check all 1-byte keys pattern on aid 0x123456 and save found keys to `keys.json`\n" "hf mfdes chk --aid 123456 --pattern2b --startp2b FA00 -> check all 2-byte keys pattern on aid 0x123456. Start from key FA00FA00...FA00"); void *argtable[] = { diff --git a/client/src/cmdhfmfp.c b/client/src/cmdhfmfp.c index c0078819b..9d854290e 100644 --- a/client/src/cmdhfmfp.c +++ b/client/src/cmdhfmfp.c @@ -1448,14 +1448,7 @@ static int CmdHFMFPDump(const char *Cmd) { free(fptr); } - saveFile(data_fn, ".bin", mem, MIFARE_4K_MAX_BYTES); - saveFileEML(data_fn, mem, MIFARE_4K_MAX_BYTES, MFBLOCK_SIZE); - - iso14a_mf_extdump_t xdump; - xdump.card_info = card; - xdump.dump = mem; - xdump.dumplen = MIFARE_4K_MAX_BYTES; - saveFileJSON(data_fn, jsfCardMemory, (uint8_t *)&xdump, sizeof(xdump), NULL); + pm3_save_mf_dump(filename, dump, MIFARE_4K_MAX_BYTES, jsfCardMemory); */ free(mem); return PM3_SUCCESS; @@ -1746,16 +1739,19 @@ int CmdHFMFPNDEFRead(const char *Cmd) { print_buffer(data, datalen, 1); } - if (fnlen != 0) { - saveFile(filename, ".bin", data, datalen); - } - res = NDEFDecodeAndPrint(data, datalen, verbose); if (res != PM3_SUCCESS) { PrintAndLogEx(INFO, "Trying to parse NDEF records w/o NDEF header"); res = NDEFRecordsDecodeAndPrint(data, datalen, verbose); } + // get total NDEF length before save. If fails, we save it all + size_t n = 0; + if (NDEFGetTotalLength(data, datalen, &n) != PM3_SUCCESS) + n = datalen; + + pm3_save_dump(filename, data, n, jsfNDEF); + if (verbose == false) { PrintAndLogEx(HINT, "Try " _YELLOW_("`hf mfp ndefread -v`") " for more details"); } else { diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 13b8c9cb4..8c46ad992 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -2677,7 +2677,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { } uint16_t datalen = pages * MFU_BLOCK_SIZE + MFU_DUMP_PREFIX_LENGTH; - pm3_save_dump(filename, (uint8_t *)&dump_file_data, datalen, jsfMfuMemory, MFU_BLOCK_SIZE); + pm3_save_dump(filename, (uint8_t *)&dump_file_data, datalen, jsfMfuMemory); if (is_partial) { PrintAndLogEx(WARNING, "Partial dump created. (%d of %d blocks)", pages, card_mem_size); @@ -2840,7 +2840,7 @@ int CmdHF14MfUTamper(const char *Cmd) { static int CmdHF14AMfURestore(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mfu restore", - "Restore MIFARE Ultralight/NTAG dump file to tag.\n", + "Restore MIFARE Ultralight/NTAG dump file (bin/eml/json) to tag.\n", "hf mfu restore -f myfile -s -> special write\n" "hf mfu restore -f myfile -k AABBCCDD -s -> special write, use key\n" "hf mfu restore -f myfile -k AABBCCDD -ser -> special write, use key, write dump pwd, ..." @@ -2848,7 +2848,7 @@ static int CmdHF14AMfURestore(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "specify dump filename (bin/eml/json)"), + arg_str1("f", "file", "", "specify dump filename"), arg_str0("k", "key", "", "key for authentication (UL-C 16 bytes, EV1/NTAG 4 bytes)"), arg_lit0("l", NULL, "swap entered key's endianness"), arg_lit0("s", NULL, "enable special write UID -MAGIC TAG ONLY-"), @@ -4443,14 +4443,20 @@ int CmdHF14MfuNDEFRead(const char *Cmd) { } DropField(); - if (fnlen != 0) { - saveFile(filename, ".bin", records, (size_t)maxsize); - } + status = NDEFRecordsDecodeAndPrint(records, (size_t)maxsize, verbose); if (status != PM3_SUCCESS) { status = NDEFDecodeAndPrint(records, (size_t)maxsize, verbose); } + // get total NDEF length before save. If fails, we save it all + size_t n = 0; + if (NDEFGetTotalLength(records, maxsize, &n) != PM3_SUCCESS) + n = maxsize; + + pm3_save_dump(filename, records, n, jsfNDEF); + + char *jooki = strstr((char *)records, "s.jooki.rocks/s/?s="); if (jooki) { jooki += 17; @@ -4557,12 +4563,12 @@ static int CmdHF14AMfuEView(const char *Cmd) { static int CmdHF14AMfuESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mfu esave", - "Saves emulator memory to a MIFARE Ultralight/NTAG dump file (bin/eml/json)\n" + "Saves emulator memory to a MIFARE Ultralight/NTAG dump file (bin/json)\n" "By default number of pages saved depends on defined tag type.\n" "You can override this with option --end.", "hf mfu esave\n" "hf mfu esave --end 255 -> saves whole memory\n" - "hf mfu esave -f hf-mfu-04010203040506-dump.json" + "hf mfu esave -f hf-mfu-04010203040506-dump" ); void *argtable[] = { @@ -4613,7 +4619,7 @@ static int CmdHF14AMfuESave(const char *Cmd) { // save dump. Last block contains PACK + RFU uint16_t datalen = (end + 1) * MFU_BLOCK_SIZE + MFU_DUMP_PREFIX_LENGTH; - res = pm3_save_dump(filename, (uint8_t *)dump, datalen, jsfMfuMemory, MFU_BLOCK_SIZE); + res = pm3_save_dump(filename, (uint8_t *)dump, datalen, jsfMfuMemory); free(dump); return res; diff --git a/client/src/cmdhfst25ta.c b/client/src/cmdhfst25ta.c index 86dfe0584..fe6e2e94c 100644 --- a/client/src/cmdhfst25ta.c +++ b/client/src/cmdhfst25ta.c @@ -404,10 +404,15 @@ int CmdHFST25TANdefRead(const char *Cmd) { return PM3_ESOFT; } - if (fnlen != 0) { - saveFile(filename, ".bin", response + 2, resplen - 4); - } NDEFRecordsDecodeAndPrint(response + 2, resplen - 4, verbose); + + // get total NDEF length before save. If fails, we save it all + size_t n = 0; + if (NDEFGetTotalLength(response, resplen, &n) != PM3_SUCCESS) + n = resplen; + + pm3_save_dump(filename, response + 2, n, jsfNDEF); + return PM3_SUCCESS; } diff --git a/client/src/cmdhftopaz.c b/client/src/cmdhftopaz.c index 649882416..97ba7e5f0 100644 --- a/client/src/cmdhftopaz.c +++ b/client/src/cmdhftopaz.c @@ -897,9 +897,9 @@ static int CmdHFTopazDump(const char *Cmd) { } if (topaz_tag.size) - pm3_save_dump(filename, (uint8_t *)&topaz_tag, sizeof(topaz_tag_t) + topaz_tag.size, jsfTopaz, TOPAZ_BLOCK_SIZE); + pm3_save_dump(filename, (uint8_t *)&topaz_tag, sizeof(topaz_tag_t) + topaz_tag.size, jsfTopaz); else - pm3_save_dump(filename, (uint8_t *)&topaz_tag, sizeof(topaz_tag_t), jsfTopaz, TOPAZ_BLOCK_SIZE); + pm3_save_dump(filename, (uint8_t *)&topaz_tag, sizeof(topaz_tag_t), jsfTopaz); if (set_dynamic) { free(topaz_tag.dynamic_memory); @@ -916,7 +916,7 @@ static int CmdHFTopazView(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump (bin/eml/json)"), + arg_str1("f", "file", "", "filename of dump"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); diff --git a/client/src/cmdhfxerox.c b/client/src/cmdhfxerox.c index fec69855e..5f6f1e11c 100644 --- a/client/src/cmdhfxerox.c +++ b/client/src/cmdhfxerox.c @@ -611,9 +611,7 @@ static int CmdHFXeroxDump(const char *Cmd) { int fnlen = 0; char filename[FILE_PATH_SIZE] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); - bool decrypt = arg_get_lit(ctx, 2); - CLIParserFree(ctx); iso14b_raw_cmd_t *packet = (iso14b_raw_cmd_t *)calloc(1, sizeof(iso14b_raw_cmd_t) + 11); @@ -682,7 +680,6 @@ static int CmdHFXeroxDump(const char *Cmd) { PrintAndLogEx(NORMAL, "." NOLF); fflush(stdout); -// PrintAndLogEx(INPLACE, "blk %3d", blocknum); } } @@ -773,23 +770,13 @@ static int CmdHFXeroxDump(const char *Cmd) { PrintAndLogEx(NORMAL, ""); if (0 == filename[0]) { // generate filename from uid - /* - PrintAndLogEx(INFO, "Using UID as filename"); - - sprintf(filename, "hf-xerox-%02X%02X%02X%02X%02X%02X%02X%02X-dump%s", - card.uid[7],card.uid[6],card.uid[5],card.uid[4],card.uid[3],card.uid[2],card.uid[1],card.uid[0], - decrypt ? "-dec" : ""); - */ char *fptr = filename; PrintAndLogEx(INFO, "Using UID as filename"); fptr += snprintf(fptr, sizeof(filename), "hf-xerox-"); FillFileNameByUID(fptr, SwapEndian64(card.uid, card.uidlen, 8), decrypt ? "-dump-dec" : "-dump", card.uidlen); } - size_t datalen = blocknum * 4; - saveFile(filename, ".bin", data, datalen); - saveFileEML(filename, data, datalen, 4); -// saveFileJSON(filename, jsf15, data, datalen, NULL); + pm3_save_dump(filename, data, blocknum * 4, jsf14b_v2); return PM3_SUCCESS; } diff --git a/client/src/cmdlfem4x05.c b/client/src/cmdlfem4x05.c index 665518a40..862be6f9c 100644 --- a/client/src/cmdlfem4x05.c +++ b/client/src/cmdlfem4x05.c @@ -709,9 +709,9 @@ int CmdEM4x05Dump(const char *Cmd) { } PrintAndLogEx(NORMAL, ""); if (card_type == EM_4369 || card_type == EM_4469) - pm3_save_dump(filename, (uint8_t *)data, sizeof(data), jsfEM4x69, 4); + pm3_save_dump(filename, (uint8_t *)data, sizeof(data), jsfEM4x69); else - pm3_save_dump(filename, (uint8_t *)data, sizeof(data), jsfEM4x05, 4); + pm3_save_dump(filename, (uint8_t *)data, sizeof(data), jsfEM4x05); } PrintAndLogEx(NORMAL, ""); return success; diff --git a/client/src/cmdlfem4x50.c b/client/src/cmdlfem4x50.c index a304a84fe..d44d71dcf 100644 --- a/client/src/cmdlfem4x50.c +++ b/client/src/cmdlfem4x50.c @@ -194,7 +194,7 @@ int CmdEM4x50ELoad(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "dump filename (bin/eml/json)"), + arg_str1("f", "file", "", "dump filename"), arg_param_end }; @@ -223,7 +223,7 @@ int CmdEM4x50ELoad(const char *Cmd) { int CmdEM4x50ESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "lf em 4x50 esave", - "Saves bin/eml/json dump file of emulator memory.", + "Saves bin/json dump file of emulator memory.", "lf em 4x50 esave -> use UID as filename\n" "lf em 4x50 esave -f mydump\n" ); @@ -264,7 +264,7 @@ int CmdEM4x50ESave(const char *Cmd) { FillFileNameByUID(fptr, (uint8_t *)&data[4 * EM4X50_DEVICE_ID], "-dump", 4); } - pm3_save_dump(filename, data, DUMP_FILESIZE, jsfEM4x50, 4); + pm3_save_dump(filename, data, DUMP_FILESIZE, jsfEM4x50); return PM3_SUCCESS; } @@ -796,7 +796,7 @@ int CmdEM4x50Reader(const char *Cmd) { int CmdEM4x50Dump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "lf em 4x50 dump", - "Reads all blocks/words from EM4x50 tag and saves dump in bin/eml/json format", + "Reads all blocks/words from EM4x50 tag and saves dump in (bin/json) format", "lf em 4x50 dump\n" "lf em 4x50 dump -f mydump\n" "lf em 4x50 dump -p 12345678\n" @@ -805,7 +805,7 @@ int CmdEM4x50Dump(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "specify dump filename (bin/eml/json)"), + arg_str0("f", "file", "", "specify dump filename"), arg_str0("p", "pwd", "", "password, 4 hex bytes, lsb"), arg_param_end }; @@ -867,7 +867,7 @@ int CmdEM4x50Dump(const char *Cmd) { memcpy(data + (i * 4), words[i].byte, 4); } - pm3_save_dump(filename, data, sizeof(data), jsfEM4x50, 4); + pm3_save_dump(filename, data, sizeof(data), jsfEM4x50); return PM3_SUCCESS; } diff --git a/client/src/cmdlfhitag.c b/client/src/cmdlfhitag.c index 1cbae7bd3..45206750f 100644 --- a/client/src/cmdlfhitag.c +++ b/client/src/cmdlfhitag.c @@ -1127,7 +1127,7 @@ static int CmdLFHitag2Dump(const char *Cmd) { PrintAndLogEx(SUCCESS, "Dumping tag memory..."); - pm3_save_dump(filename, data, 48, jsfHitag, 4); + pm3_save_dump(filename, data, 48, jsfHitag); return PM3_SUCCESS; } diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index 9ce8219c2..e9da9de64 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -2217,7 +2217,7 @@ static int CmdT55xxDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "lf t55xx dump", "This command dumps a T55xx card Page 0 block 0-7.\n" - "It will create three files (bin/eml/json)", + "It will create two files (bin/json)", "lf t55xx dump\n" "lf t55xx dump -p aabbccdd --override\n" "lf t55xx dump -f my_lf_dump" @@ -2315,17 +2315,13 @@ static int CmdT55xxDump(const char *Cmd) { } // Swap endian so the files match the txt display - uint32_t data[T55x7_BLOCK_COUNT]; + uint32_t data[T55x7_BLOCK_COUNT] = {0}; for (int i = 0; i < T55x7_BLOCK_COUNT; i++) { data[i] = BSWAP_32(cardmem[i].blockdata); } - // saveFileEML will add .eml extension to filename - // saveFile (binary) passes in the .bin extension. - saveFileJSON(filename, jsfT55x7, (uint8_t *)data, T55x7_BLOCK_COUNT * sizeof(uint32_t), NULL); - saveFileEML(filename, (uint8_t *)data, T55x7_BLOCK_COUNT * sizeof(uint32_t), sizeof(uint32_t)); - saveFile(filename, ".bin", data, sizeof(data)); + pm3_save_dump(filename, (uint8_t*)data, (T55x7_BLOCK_COUNT * sizeof(uint32_t)), jsfT55x7); } return PM3_SUCCESS; diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 7383c396f..8ed6e01ee 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -27,9 +27,7 @@ #include "proxmark3.h" #include "util.h" #include "cmdhficlass.h" // pagemap -#include "protocols.h" // iclass defines -#include "cmdhftopaz.h" // TOPAZ defines -#include "mifare/mifaredefault.h" // MFP / AES defines +#include "iclass_cmd.h" #ifdef _WIN32 #include "scandir.h" @@ -329,12 +327,8 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } } - char *fileName = newfilenamemcopyEx(preferredName, ".json", e_save_path); - if (fileName == NULL) { - return PM3_EMALLOC; - } - int retval = PM3_SUCCESS; + char path[PATH_MAX_LENGTH] = {0}; json_t *root = json_object(); JsonSaveStr(root, "Created", "proxmark3"); @@ -344,26 +338,26 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "raw", data, datalen); break; } - case jsfCardMemory: { + case jsfMfc_v2: { iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)(void *) data; - JsonSaveStr(root, "FileType", "mfcard"); + JsonSaveStr(root, "FileType", "mfc v2"); JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card_info.uid, xdump->card_info.uidlen); JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card_info.atqa, 2); JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card_info.sak), 1); - for (size_t i = 0; i < (xdump->dumplen / 16); i++) { - char path[PATH_MAX_LENGTH] = {0}; + for (size_t i = 0; i < (xdump->dumplen / MFBLOCK_SIZE); i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 16], 16); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); if (mfIsSectorTrailer(i)) { snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyA", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 16], 6); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], 6); snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyB", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 16 + 10], 6); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 10], 6); - uint8_t *adata = &xdump->dump[i * 16 + 6]; + uint8_t *adata = &xdump->dump[i * MFBLOCK_SIZE + 6]; snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditions", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 16 + 6], 4); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 6], 4); snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 3); JsonSaveStr(root, path, mfGetAccessConditionsDesc(0, adata)); @@ -390,7 +384,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card_info.atqa, 2); JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card_info.sak), 1); for (size_t i = 0; i < (xdump->dumplen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; + snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 4], 4); } @@ -405,8 +399,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, memcpy(uid, tmp->data, 3); memcpy(uid + 3, tmp->data + 4, 4); - char path[PATH_MAX_LENGTH] = {0}; - JsonSaveBufAsHexCompact(root, "$.Card.UID", uid, sizeof(uid)); JsonSaveBufAsHexCompact(root, "$.Card.Version", tmp->version, sizeof(tmp->version)); JsonSaveBufAsHexCompact(root, "$.Card.TBO_0", tmp->tbo, sizeof(tmp->tbo)); @@ -420,11 +412,12 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } // size of header 56b - size_t len = (datalen - MFU_DUMP_PREFIX_LENGTH) / 4; + + size_t len = (datalen - MFU_DUMP_PREFIX_LENGTH) / MFU_BLOCK_SIZE; for (size_t i = 0; i < len; i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, tmp->data + (i * 4), 4); + JsonSaveBufAsHexCompact(root, path, tmp->data + (i * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE); } break; } @@ -436,7 +429,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.UID", uid, sizeof(uid)); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } @@ -460,10 +452,10 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.AIA", hdr->app_issuer_area, sizeof(hdr->app_issuer_area)); } - for (size_t i = 0; i < (datalen / 8); i++) { - char path[PATH_MAX_LENGTH] = {0}; + for (size_t i = 0; i < (datalen / PICOPASS_BLOCK_SIZE); i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, data + (i * 8), 8); + JsonSaveBufAsHexCompact(root, path, data + (i * PICOPASS_BLOCK_SIZE), PICOPASS_BLOCK_SIZE); } break; @@ -475,25 +467,49 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.ConfigBlock", conf, sizeof(conf)); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } break; } - case jsf14b: { - JsonSaveStr(root, "FileType", "14b"); - JsonSaveBufAsHexCompact(root, "raw", data, datalen); + case jsf14b_v2: { + JsonSaveStr(root, "FileType", "14b v2"); + for (size_t i = 0; i < datalen / 4; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 4], 4); + } break; } - case jsf15: { - JsonSaveStr(root, "FileType", "15693"); - JsonSaveBufAsHexCompact(root, "raw", data, datalen); + // handles ISO15693 w blocksize of 4 bytes + case jsf15_v2: { + JsonSaveStr(root, "FileType", "15693 v2"); + for (size_t i = 0; i < datalen / 4; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 4], 4); + } break; } - case jsfLegic: { - JsonSaveStr(root, "FileType", "legic"); - JsonSaveBufAsHexCompact(root, "raw", data, datalen); + // handles ISO15693 w blocksize of 8 bytes + case jsf15_v3: { + JsonSaveStr(root, "FileType", "15693 v3"); + for (size_t i = 0; i < datalen / 8; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 8], 8); + } + break; + } + case jsfLegic_v2: { + JsonSaveStr(root, "FileType", "legic v2"); + JsonSaveBufAsHexCompact(root, "$.Card.UID", data, 4); + size_t i = 0; + for (; i < datalen / 16; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 16], 16); + } + if (datalen % 16) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); + } break; } case jsfT5555: { @@ -503,7 +519,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.ConfigBlock", conf, sizeof(conf)); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } @@ -517,7 +532,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.Protection2", data + (15 * 4), 4); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } @@ -530,7 +544,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.Config", data + (4 * 4), 4); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } @@ -544,7 +557,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.UID", data + (33 * 4), 4); for (size_t i = 0; i < (datalen / 4); i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * 4), 4); } @@ -564,8 +576,6 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, memcpy(vdata, data + (14 + atslen), 2 * 64 * 17); for (size_t i = 0; i < datalen; i++) { - char path[PATH_MAX_LENGTH] = {0}; - if (vdata[0][i][0]) { snprintf(path, sizeof(path), "$.SectorKeys.%zu.KeyA", i); JsonSaveBufAsHexCompact(root, path, &vdata[0][i][1], AES_KEY_LEN); @@ -591,31 +601,27 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, memcpy(dvdata, &data[14 + datslen], 4 * 0xE * (24 + 1)); for (int i = 0; i < (int)datalen; i++) { - char path[PATH_MAX_LENGTH] = {0}; if (dvdata[0][i][0]) { snprintf(path, sizeof(path), "$.DES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[0][i][1], 8); + JsonSaveBufAsHexCompact(root, path, &dvdata[0][i][1], DES_KEY_LEN); } if (dvdata[1][i][0]) { snprintf(path, sizeof(path), "$.3DES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[1][i][1], 16); + JsonSaveBufAsHexCompact(root, path, &dvdata[1][i][1], T2DES_KEY_LEN); } if (dvdata[2][i][0]) { snprintf(path, sizeof(path), "$.AES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[2][i][1], 16); + JsonSaveBufAsHexCompact(root, path, &dvdata[2][i][1], AES_KEY_LEN); } if (dvdata[3][i][0]) { snprintf(path, sizeof(path), "$.K3KDES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[3][i][1], 24); + JsonSaveBufAsHexCompact(root, path, &dvdata[3][i][1], T3DES_KEY_LEN); } } break; } - case jsfFido: { - break; - } case jsfCustom: { (*callback)(root); break; @@ -626,8 +632,8 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, JsonSaveBufAsHexCompact(root, "$.Card.UID", tag->uid, sizeof(tag->uid)); JsonSaveBufAsHexCompact(root, "$.Card.H0R1", tag->HR01, sizeof(tag->HR01)); JsonSaveBufAsHexCompact(root, "$.Card.Size", (uint8_t *) & (tag->size), 2); + for (size_t i = 0; i < TOPAZ_STATIC_MEMORY / 8; i++) { - char path[PATH_MAX_LENGTH] = {0}; snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, &tag->data_blocks[i][0], TOPAZ_BLOCK_SIZE); } @@ -638,24 +644,67 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } + case jsfLto: { + JsonSaveStr(root, "FileType", "lto"); + for (size_t i = 0; i < datalen / 32; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 32], 32); + } + break; + } + case jsfCryptorf: { + JsonSaveStr(root, "FileType", "cryptorf"); + for (size_t i = 0; i < datalen / 8; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 8], 8); + } + break; + } + case jsfNDEF: { + JsonSaveStr(root, "FileType", "ndef"); + JsonSaveInt(root, "Ndef.Size", datalen); + size_t i = 0; + for (; i < datalen / 16; i++) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 16], 16); + } + if (datalen % 16) { + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); + } + break; + } + // no action + case jsfFido: + break; + // depricated + case jsfCardMemory: + case jsf14b: + case jsf15: + case jsfLegic: default: break; } - int res = json_dump_file(root, fileName, JSON_INDENT(2)); - if (res) { - PrintAndLogEx(FAILED, "error: can't save the file: " _YELLOW_("%s"), fileName); + char *fn = newfilenamemcopyEx(preferredName, ".json", e_save_path); + if (fn == NULL) { + return PM3_EMALLOC; + } + + if (json_dump_file(root, fn, JSON_INDENT(2))) { + PrintAndLogEx(FAILED, "error: can't save the file: " _YELLOW_("%s"), fn); retval = 200; + free(fn); goto out; } if (verbose) { - PrintAndLogEx(SUCCESS, "saved to json file " _YELLOW_("%s"), fileName); + PrintAndLogEx(SUCCESS, "saved to json file " _YELLOW_("%s"), fn); } + free(fn); out: json_decref(root); - free(fileName); return retval; } int saveFileJSONroot(const char *preferredName, void *root, size_t flags, bool verbose) { @@ -1083,56 +1132,56 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - typedef union UDATA { - void *v; - uint8_t *bytes; - mfu_dump_t *mfu; - topaz_tag_t *topaz; - } UDATA; - UDATA udata = (UDATA)data; char ctype[100] = {0}; JsonLoadStr(root, "$.FileType", ctype); - if (!strcmp(ctype, "raw")) { - JsonLoadBufAsHex(root, "$.raw", udata.bytes, maxdatalen, datalen); + // Proxmark3 settings file. No + if (!strcmp(ctype, "settings")) { + goto out; } - if (!strcmp(ctype, "mfcard")) { + udata_t udata = (udata_t)data; + size_t len = 0; + char blocks[PATH_MAX_LENGTH] = {0}; + + if (!strcmp(ctype, "raw")) { + JsonLoadBufAsHex(root, "$.raw", udata.bytes, maxdatalen, datalen); + goto out; + } + + // depricated mfcard + if (!strcmp(ctype, "mfcard") || !strcmp(ctype, "mfc v2")) { size_t sptr = 0; - for (int i = 0; i < 256; i++) { - char blocks[30] = {0}; - snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + for (int i = 0; i < maxdatalen; i++) { - size_t len = 0; - uint8_t block[16]; - JsonLoadBufAsHex(root, blocks, block, 16, &len); - if (!len) - break; - - if (sptr + 16 > maxdatalen) { + if (sptr + MFBLOCK_SIZE > maxdatalen) { retval = PM3_EMALLOC; goto out; } - memcpy(&udata.bytes[sptr], block, 16); + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + uint8_t block[MFBLOCK_SIZE]; + JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); + if (!len) + break; + + memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); sptr += len; } *datalen = sptr; + goto out; } if (!strcmp(ctype, "fudan")) { size_t sptr = 0; - for (int i = 0; i < 256; i++) { + for (int i = 0; i < maxdatalen; i++) { if (sptr + 4 > maxdatalen) { retval = PM3_EMALLOC; goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (!len) break; @@ -1141,6 +1190,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } *datalen = sptr; + goto out; } if (!strcmp(ctype, "mfu")) { @@ -1164,10 +1214,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.mfu->data[sptr], MFU_BLOCK_SIZE, &len); if (!len) break; @@ -1179,6 +1226,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz --udata.mfu->pages; *datalen += sptr; + goto out; } if (!strcmp(ctype, "hitag")) { @@ -1189,10 +1237,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (!len) break; @@ -1201,27 +1246,26 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } *datalen = sptr; + goto out; } if (!strcmp(ctype, "iclass")) { size_t sptr = 0; - for (size_t i = 0; i < (maxdatalen / 8); i++) { - if (sptr + 8 > maxdatalen) { + for (size_t i = 0; i < (maxdatalen / PICOPASS_BLOCK_SIZE); i++) { + if (sptr + PICOPASS_BLOCK_SIZE > maxdatalen) { retval = PM3_EMALLOC; goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); - - size_t len = 0; - JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 8, &len); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], PICOPASS_BLOCK_SIZE, &len); if (!len) break; sptr += len; } *datalen = sptr; + goto out; } if (!strcmp(ctype, "t55x7")) { @@ -1232,10 +1276,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (!len) break; @@ -1243,6 +1284,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz sptr += len; } *datalen = sptr; + goto out; } if (!strcmp(ctype, "EM4X50")) { @@ -1253,10 +1295,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (!len) break; @@ -1264,14 +1303,80 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz sptr += len; } *datalen = sptr; + goto out; } + // depricated if (!strcmp(ctype, "15693")) { JsonLoadBufAsHex(root, "$.raw", udata.bytes, maxdatalen, datalen); + goto out; } + // handles ISO15693 w blocksize of 4 bytes. + if (!strcmp(ctype, "15693 v2")) { + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 4); i++) { + if (sptr + 4 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + // handles ISO15693 w blocksize of 8 bytes. + if (!strcmp(ctype, "15693 v3")) { + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 8); i++) { + if (sptr + 8 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 8, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + if (!strcmp(ctype, "legic v2")) { + size_t sptr = 0; + for (int i = 0; i < 64; i++) { + if (sptr + 16 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 16, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + // depricated if (!strcmp(ctype, "legic")) { JsonLoadBufAsHex(root, "$.raw", udata.bytes, maxdatalen, datalen); + goto out; } if (!strcmp(ctype, "topaz")) { @@ -1288,22 +1393,19 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - char blocks[30] = {0}; snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); - - size_t len = 0; JsonLoadBufAsHex(root, blocks, &udata.topaz->data_blocks[sptr][0], TOPAZ_BLOCK_SIZE, &len); if (!len) break; sptr += len; - // ICEMAN todo: add dynamic memory. // uint16_z Size // uint8_t *dynamic_memory; } *datalen += sptr; + goto out; } if (!strcmp(ctype, "mfpkeys")) { @@ -1327,7 +1429,6 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t offset = (14 + atslen) + (i * 2 * AES_KEY_LEN); - char blocks[40] = {0}; snprintf(blocks, sizeof(blocks), "$.SectorKeys.%zu.KeyA", i); JsonLoadBufAsHex(root, blocks, udata.bytes + offset, AES_KEY_LEN, datalen); @@ -1337,8 +1438,143 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz sptr += (2 * AES_KEY_LEN); } *datalen += sptr; + goto out; } + if (!strcmp(ctype, "mfdes")) { + JsonLoadBufAsHex(root, "$.Card.UID", udata.bytes, 7, datalen); + JsonLoadBufAsHex(root, "$.Card.SAK", udata.bytes + 10, 1, datalen); + JsonLoadBufAsHex(root, "$.Card.ATQA", udata.bytes + 11, 2, datalen); + uint8_t atslen = udata.bytes[13]; + if (atslen > 0) { + JsonLoadBufAsHex(root, "$.Card.ATS", udata.bytes + 14, atslen, datalen); + } + +// size_t sptr = (14 + atslen); +// uint8_t dvdata[4][0xE][24 + 1] = {{{0}}}; + + /* + for (int i = 0; i < (int)datalen; i++) { + char path[PATH_MAX_LENGTH] = {0}; + + if (dvdata[0][i][0]) { + snprintf(path, sizeof(path), "$.DES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[0][i][1], DES_KEY_LEN); + } + + if (dvdata[1][i][0]) { + snprintf(path, sizeof(path), "$.3DES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[1][i][1], T2DES_KEY_LEN); + } + if (dvdata[2][i][0]) { + snprintf(path, sizeof(path), "$.AES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[2][i][1], AES_KEY_LEN); + } + if (dvdata[3][i][0]) { + snprintf(path, sizeof(path), "$.K3KDES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[3][i][1], T3DES_KEY_LEN); + } + } + */ +// memcpy(&data[14 + atslen], dvdata, 4 * 0xE * (24 + 1)); + + goto out; + } + + if (!strcmp(ctype, "14b v2")) { + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 4); i++) { + if (sptr + 4 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + if (!strcmp(ctype, "lto")) { + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 32); i++) { + if (sptr + 32 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 32, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + if (!strcmp(ctype, "cryptorf")) { + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 8); i++) { + if (sptr + 8 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 8, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + if (!strcmp(ctype, "ndef")) { + + json_error_t up_error = {0}; + int i1 = 0; + size_t ndefsize = 0; + if (json_unpack_ex(root, &up_error, 0, "{s:i}", "Ndef.Size", &i1) == 0) { + ndefsize = i1; + } + + size_t sptr = 0; + for (int i = 0; i < (maxdatalen / 16); i++) { + if (sptr + 16 > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 16, &len); + if (!len) + break; + + sptr += len; + } + + *datalen = sptr; + goto out; + } + + // unidentified file format + if (verbose) { + PrintAndLogEx(FAILED, "Unidentified file format `" _YELLOW_("%s") "`", path); + } + retval = PM3_EFILE; + out: if (callback != NULL) { @@ -2082,17 +2318,20 @@ int searchFile(char **foundpath, const char *pm3dir, const char *searchname, con int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumplen) { - int res = 0; + int res = PM3_SUCCESS; DumpFileType_t dftype = getfiletype(fn); switch (dftype) { case BIN: { - res = loadFile_safe(fn, ".bin", pdump, dumplen); + loadFile_safe(fn, ".bin", pdump, dumplen); + if (res != PM3_SUCCESS) { + PrintAndLogEx(WARNING, "File IO failed"); + } break; } case EML: { res = loadFileEML_safe(fn, pdump, dumplen); - if (res == PM3_ESOFT) { - PrintAndLogEx(WARNING, "file IO failed"); + if (res != PM3_SUCCESS) { + PrintAndLogEx(WARNING, "File IO failed"); } break; } @@ -2103,8 +2342,9 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl return PM3_EMALLOC; } res = loadFileJSON(fn, *pdump, maxdumplen, dumplen, NULL); - if (res == PM3_SUCCESS) + if (res == PM3_SUCCESS) { return res; + } free(*pdump); @@ -2116,7 +2356,7 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl break; } case DICTIONARY: { - PrintAndLogEx(ERR, "Error: Only BIN/EML/JSON formats allowed"); + PrintAndLogEx(ERR, "Only BIN/EML/JSON formats allowed"); return PM3_EINVARG; } case MCT: { @@ -2128,15 +2368,49 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl return res; } -int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft, size_t blocksize) { - +int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft) { + if (fn == NULL || strlen(fn) == 0) { + return PM3_EINVARG; + } if (d == NULL || n == 0) { PrintAndLogEx(INFO, "No data to save, skipping..."); return PM3_EINVARG; } - saveFile(fn, ".bin", d, n); - saveFileEML(fn, d, n, blocksize); saveFileJSON(fn, jsft, d, n, NULL); return PM3_SUCCESS; } + +int pm3_save_mf_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft) { + + if (fn == NULL || d == NULL || n == 0) { + PrintAndLogEx(INFO, "No data to save, skipping..."); + return PM3_EINVARG; + } + saveFile(fn, ".bin", d, n); + + iso14a_mf_extdump_t jd = {0}; + jd.card_info.ats_len = 0; + + // Check for 4 bytes uid: bcc corrected and single size uid bits in ATQA + if ((d[0] ^ d[1] ^ d[2] ^ d[3]) == d[4] && (d[6] & 0xC0) == 0) { + jd.card_info.uidlen = 4; + memcpy(jd.card_info.uid, d, jd.card_info.uidlen); + jd.card_info.sak = d[5]; + memcpy(jd.card_info.atqa, &d[6], sizeof(jd.card_info.atqa)); + } + // Check for 7 bytes UID: double size uid bits in ATQA + else if ((d[8] & 0xC0) == 0x40) { + jd.card_info.uidlen = 7; + memcpy(jd.card_info.uid, d, jd.card_info.uidlen); + jd.card_info.sak = d[7]; + memcpy(jd.card_info.atqa, &d[8], sizeof(jd.card_info.atqa)); + } else { + PrintAndLogEx(WARNING, "Invalid dump. UID/SAK/ATQA not found"); + } + jd.dump = d; + jd.dumplen = n; + saveFileJSON(fn, jsfMfc_v2, (uint8_t *)&jd, sizeof(jd), NULL); + return PM3_SUCCESS; +} + diff --git a/client/src/fileutils.h b/client/src/fileutils.h index 81cb13e05..98ecc466d 100644 --- a/client/src/fileutils.h +++ b/client/src/fileutils.h @@ -29,15 +29,32 @@ #include "mifare/mifarehost.h" #include "cmdhfmfu.h" +#include "protocols.h" // iclass defines +#include "cmdhftopaz.h" // TOPAZ defines +#include "mifare/mifaredefault.h" // MFP / AES defines + +typedef union { + void *v; + uint8_t *bytes; + mfu_dump_t *mfu; + topaz_tag_t *topaz; + iso14a_mf_extdump_t *mfc; +} udata_t; + typedef enum { jsfRaw, jsfCardMemory, + jsfMfc_v2, jsfMfuMemory, jsfHitag, jsfIclass, jsf14b, + jsf14b_v2, jsf15, + jsf15_v2, + jsf15_v3, jsfLegic, + jsfLegic_v2, jsfT55x7, jsfT5555, jsfMfPlusKeys, @@ -49,6 +66,9 @@ typedef enum { jsfFido, jsfFudan, jsfTopaz, + jsfLto, + jsfCryptorf, + jsfNDEF, } JSONFileType; typedef enum { @@ -276,18 +296,33 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl /** STUB - * @brief Utility function to save data to three file files (BIN/EML/JSON). + * @brief Utility function to save data to three file files (BIN/JSON). * It also tries to save according to user preferences set dump folder paths. * E.g. dumpdata.bin - * E.g. dumpdata.eml * E.g. dumpdata.json - + * * @param fn * @param d The binary data to write to the file * @param n the length of the data * @param jsft json format type for the different memory cards (MFC, MFUL, LEGIC, 14B, 15, ICLASS etc) - * @param blocksize * @return PM3_SUCCESS if OK */ -int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft, size_t blocksize); +int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft); + +/** STUB + * @brief Utility function to save data to three file files (BIN/JSON). + * It also tries to save according to user preferences set dump folder paths. + * E.g. dumpdata.bin + * E.g. dumpdata.json + * + * This function is dedicated for MIFARE CLASSIC dumps. Checking for 4 or 7 byte UID in indata. + * Saves the corrected data in the json file + * + * @param fn + * @param d The binary data to write to the file + * @param n the length of the data + * @param jsft json format type for the different memory cards (MFC, MFUL, LEGIC, 14B, 15, ICLASS etc) + * @return PM3_SUCCESS if OK + */ +int pm3_save_mf_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft); #endif // FILEUTILS_H diff --git a/client/src/nfc/ndef.c b/client/src/nfc/ndef.c index e0bc83c14..50dec1b35 100644 --- a/client/src/nfc/ndef.c +++ b/client/src/nfc/ndef.c @@ -1278,3 +1278,33 @@ int NDEFDecodeAndPrint(uint8_t *ndef, size_t ndefLen, bool verbose) { } return PM3_SUCCESS; } + + +int NDEFGetTotalLength(uint8_t *ndef, size_t ndeflen, size_t *outlen) { + + size_t idx = 0; + while (idx < ndeflen) { + + if (ndef[idx] == 0x00 || + ndef[idx] == 0x01 || + ndef[idx] == 0x02 || + ndef[idx] == 0x03 || + ndef[idx] == 0xFD) { + idx++; + idx += ndefTLVGetLength(&ndef[idx], &idx); + continue; + } + + if (ndef[idx] == 0xFE) { + idx++; + break; + } + + // invalid NDEF + *outlen = 0; + return PM3_ESOFT; + } + + *outlen = idx; + return PM3_SUCCESS; +} \ No newline at end of file diff --git a/client/src/nfc/ndef.h b/client/src/nfc/ndef.h index 643bb70a7..31967c61a 100644 --- a/client/src/nfc/ndef.h +++ b/client/src/nfc/ndef.h @@ -76,5 +76,5 @@ typedef struct { int NDEFDecodeAndPrint(uint8_t *ndef, size_t ndefLen, bool verbose); int NDEFRecordsDecodeAndPrint(uint8_t *ndefRecord, size_t ndefRecordLen, bool verbose); - +int NDEFGetTotalLength(uint8_t *ndef, size_t ndeflen, size_t *outlen); #endif // _NDEF_H_ diff --git a/include/iclass_cmd.h b/include/iclass_cmd.h index dca08b6aa..e7e1d0cd3 100644 --- a/include/iclass_cmd.h +++ b/include/iclass_cmd.h @@ -24,7 +24,7 @@ //----------------------------------------------------------------------------- // iCLASS / PICOPASS //----------------------------------------------------------------------------- - +#define PICOPASS_BLOCK_SIZE 8 // iCLASS reader flags #define FLAG_ICLASS_READER_INIT 0x01 From 89db5d38752459fd360ea10873cb7244fa1e8389 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 20:59:01 +0200 Subject: [PATCH 035/278] text --- client/src/cmdhf14b.c | 2 +- client/src/cmdhf15.c | 20 +++++++------- client/src/cmdhfcryptorf.c | 8 +++--- client/src/cmdhffudan.c | 6 ++--- client/src/cmdhficlass.c | 20 +++++++------- client/src/cmdhflegic.c | 4 +-- client/src/cmdhfmf.c | 26 +++++++++--------- client/src/cmdhfmfp.c | 6 ++--- client/src/cmdhfmfu.c | 10 +++---- client/src/cmdhfntag424.c | 2 +- client/src/cmdhftopaz.c | 6 ++--- client/src/cmdlfem4x50.c | 4 +-- client/src/cmdlft55xx.c | 2 +- client/src/fileutils.c | 54 +++----------------------------------- client/src/fileutils.h | 13 --------- doc/cheatsheet.md | 10 +++---- 16 files changed, 66 insertions(+), 127 deletions(-) diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index 59a452fb6..9ceb7f3ee 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -2168,7 +2168,7 @@ static int CmdHF14BView(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("v", "verbose", "verbose output"), arg_param_end }; diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index eea85272a..a4f6e5922 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -1143,13 +1143,13 @@ static int CmdHF15ELoad(const char *Cmd) { static int CmdHF15ESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf 15 esave", - "Save emulator memory into two files (BIN/JSON) ", + "Save emulator memory into two files (bin/json) ", "hf 15 esave -f hf-15-01020304" "hf 15 esave -b 8 -c 42 -f hf-15-01020304" ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_int0(NULL, "bsize", "", "block size, defaults to 4"), arg_int0("c", "count", "", "number of blocks to export, defaults to all"), arg_param_end @@ -1542,7 +1542,7 @@ static int CmdHF15WriteDsfid(const char *Cmd) { static int CmdHF15Dump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf 15 dump", - "This command dumps the contents of a ISO-15693 tag and save it to file", + "This command dumps the contents of a ISO-15693 tag and save to file (bin/json)", "hf 15 dump\n" "hf 15 dump -*\n" "hf 15 dump -u E011223344556677 -f hf-15-my-dump.bin" @@ -1550,7 +1550,7 @@ static int CmdHF15Dump(const char *Cmd) { void *argtable[6 + 2] = {}; uint8_t arglen = arg_add_default(argtable); - argtable[arglen++] = arg_str0("f", "file", "", "filename of dump"), + argtable[arglen++] = arg_str0("f", "file", "", "Specify a filename for dump file"), argtable[arglen++] = arg_param_end; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -2175,7 +2175,7 @@ static int CmdHF15Write(const char *Cmd) { static int CmdHF15Restore(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf 15 restore", - "This command restore the contents of a dump file onto a ISO-15693 tag", + "This command restore the contents of a dump file (bin/eml/json) onto a ISO-15693 tag", "hf 15 restore\n" "hf 15 restore -*\n" "hf 15 restore -u E011223344556677 -f hf-15-my-dump.bin" @@ -2183,10 +2183,10 @@ static int CmdHF15Restore(const char *Cmd) { void *argtable[6 + 5] = {}; uint8_t arglen = arg_add_default(argtable); - argtable[arglen++] = arg_str0("f", "file", "", "filename of dump"), - argtable[arglen++] = arg_int0("r", "retry", "", "number of retries (def 3)"), - argtable[arglen++] = arg_int0(NULL, "bs", "", "block size (def 4)"), - argtable[arglen++] = arg_lit0("v", "verbose", "verbose output"); + argtable[arglen++] = arg_str0("f", "file", "", "Specify a filename for dump file"), + argtable[arglen++] = arg_int0("r", "retry", "", "number of retries (def 3)"), + argtable[arglen++] = arg_int0(NULL, "bs", "", "block size (def 4)"), + argtable[arglen++] = arg_lit0("v", "verbose", "verbose output"); argtable[arglen++] = arg_param_end; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -2856,7 +2856,7 @@ static int CmdHF15View(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), // arg_lit0("z", "dense", "dense dump output style"), arg_param_end }; diff --git a/client/src/cmdhfcryptorf.c b/client/src/cmdhfcryptorf.c index 12e522f2a..ef0979182 100644 --- a/client/src/cmdhfcryptorf.c +++ b/client/src/cmdhfcryptorf.c @@ -423,13 +423,13 @@ static int CmdHFCryptoRFELoad(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf cryptorf eload", - "Loads CryptoRF tag dump into emulator memory on device", + "Loads CryptoRF tag dump (bin/eml/json) into emulator memory on device", "hf cryptorf eload -f hf-cryptorf-0102030405-dump.bin\n" ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -485,14 +485,14 @@ static int CmdHFCryptoRFESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf cryptorf esave", - "Save emulator memory to to two files (bin/json)\n" + "Save emulator memory to file (bin/json)\n" "if filename is not supplied, UID will be used.", "hf cryptorf esave\n" "hf cryptorf esave -f filename" ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); diff --git a/client/src/cmdhffudan.c b/client/src/cmdhffudan.c index 7403afeb6..85e857e6e 100644 --- a/client/src/cmdhffudan.c +++ b/client/src/cmdhffudan.c @@ -235,14 +235,14 @@ static int CmdHFFudanReader(const char *Cmd) { static int CmdHFFudanDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf fudan dump", - "Dump FUDAN tag to binary file\n" + "Dump FUDAN tag to file (bin/json)\n" "If no given, UID will be used as filename", "hf fudan dump -f mydump --> dump using filename\n" ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -453,7 +453,7 @@ static int CmdHFFudanView(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 08ed01068..8fa9910f7 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1009,14 +1009,14 @@ static int CmdHFiClassReader(const char *Cmd) { static int CmdHFiClassELoad(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass eload", - "Load emulator memory with data from (bin/eml/json) iCLASS dump file", - "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.eml\n" + "Load emulator memory with data from (bin/json) iCLASS dump file", + "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.json\n" "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.bin -m\n" ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("m", "mem", "use RDV4 spiffs"), arg_lit0("v", "verbose", "verbose output"), arg_param_end @@ -1103,7 +1103,7 @@ static int CmdHFiClassELoad(const char *Cmd) { static int CmdHFiClassESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass esave", - "Save emulator memory to file.\n" + "Save emulator memory to file (bin/json)\n" "if filename is not supplied, CSN will be used.", "hf iclass esave\n" "hf iclass esave -f hf-iclass-dump\n" @@ -1111,7 +1111,7 @@ static int CmdHFiClassESave(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump file"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_int0("s", "size", "<256|2048>", "number of bytes to save (default 256)"), arg_param_end }; @@ -1308,7 +1308,7 @@ static int CmdHFiClassDecrypt(const char *Cmd) { "which is defined by the configuration block.\n" "\nOBS!\n" "In order to use this function, the file `iclass_decryptionkey.bin` must reside\n" - "in the resources directory. The file should be 16 bytes binary data\n" + "in the resources directory. The file must be 16 bytes binary data\n" "or...\n" "make sure your cardhelper is placed in the sim module", "hf iclass decrypt -f hf-iclass-AA162D30F8FF12F1-dump.bin\n" @@ -1317,7 +1317,7 @@ static int CmdHFiClassDecrypt(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump file (bin/eml/json)"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_str0("d", "data", "", "3DES encrypted data"), arg_str0("k", "key", "", "3DES transport key"), arg_lit0("v", "verbose", "verbose output"), @@ -2328,7 +2328,7 @@ static int CmdHFiClassCreditEpurse(const char *Cmd) { static int CmdHFiClassRestore(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass restore", - "Restore data from dumpfile onto a iCLASS tag", + "Restore data from dumpfile (bin/eml/json) onto a iCLASS tag", "hf iclass restore -f hf-iclass-AA162D30F8FF12F1-dump.bin --first 6 --last 18 --ki 0\n" "hf iclass restore -f hf-iclass-AA162D30F8FF12F1-dump.bin --first 6 --last 18 --ki 0 --elite\n" "hf iclass restore -f hf-iclass-AA162D30F8FF12F1-dump.bin --first 6 --last 18 -k 1122334455667788 --elite\n" @@ -2336,7 +2336,7 @@ static int CmdHFiClassRestore(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "specify a filename to restore (bin/eml/json)"), + arg_str1("f", "file", "", "specify a filename to restore"), arg_str0("k", "key", "", "Access key as 8 hex bytes"), arg_int0(NULL, "ki", "", "Key index to select key from memory 'hf iclass managekeys'"), arg_int1(NULL, "first", "", "The first block number to restore"), @@ -3026,7 +3026,7 @@ static int CmdHFiClassView(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_int0(NULL, "first", "", "Begin printing from this block (default first user block)"), arg_int0(NULL, "last", "", "End printing at this block (default 0, ALL)"), arg_lit0("v", "verbose", "verbose output"), diff --git a/client/src/cmdhflegic.c b/client/src/cmdhflegic.c index 676ed3911..33aad2518 100644 --- a/client/src/cmdhflegic.c +++ b/client/src/cmdhflegic.c @@ -966,7 +966,7 @@ static int CmdLegicRestore(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "Filename to restore"), + arg_str1("f", "file", "", "Specify a filename to restore"), arg_lit0(NULL, "ob", "obfuscate dump data (xor with MCC)"), arg_param_end }; @@ -1406,7 +1406,7 @@ static int CmdLegicView(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "Filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("v", "verbose", "verbose output"), arg_param_end }; diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 1267235de..fb620edbf 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -1130,7 +1130,7 @@ static int FastDumpWithEcFill(uint8_t numsectors) { static int CmdHF14AMfDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf dump", - "Dump MIFARE Classic tag to binary file\n" + "Dump MIFARE Classic tag to file (bin/json)\n" "If no given, UID will be used as filename", "hf mf dump --mini --> MIFARE Mini\n" "hf mf dump --1k --> MIFARE Classic 1k\n" @@ -1140,7 +1140,7 @@ static int CmdHF14AMfDump(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_str0("k", "keys", "", "filename of keys"), arg_lit0(NULL, "mini", "MIFARE Classic Mini / S20"), arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (def)"), @@ -1264,7 +1264,7 @@ static int CmdHF14AMfRestore(const char *Cmd) { arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), arg_lit0(NULL, "4k", "MIFARE Classic 4k / S70"), arg_str0("u", "uid", "", "uid, (4|7|10 hex bytes)"), - arg_str0("f", "file", "", "specify dump filename (bin/eml/json)"), + arg_str0("f", "file", "", "specify a filename for dump file"), arg_str0("k", "kfn", "", "key filename"), arg_lit0(NULL, "ka", "use specified keyfile to authenticate"), arg_lit0(NULL, "force", "override warnings"), @@ -4250,7 +4250,7 @@ int CmdHF14AMfELoad(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "mini", "MIFARE Classic Mini / S20"), arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (def)"), arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), @@ -4439,14 +4439,14 @@ static int CmdHF14AMfESave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf esave", - "Save emulator memory into two files (bin//json) ", + "Save emulator memory to file (bin/json) ", "hf mf esave\n" "hf mf esave --4k\n" "hf mf esave --4k -f hf-mf-01020304.eml" ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "mini", "MIFARE Classic Mini / S20"), arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (def)"), arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), @@ -4952,7 +4952,7 @@ static int CmdHF14AMfCLoad(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "emu", "from emulator memory"), arg_param_end }; @@ -5181,14 +5181,14 @@ static int CmdHF14AMfCGetSc(const char *Cmd) { static int CmdHF14AMfCSave(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf csave", - "Save magic gen1a card memory into two files (bin/json)" + "Save magic gen1a card memory to file (bin/json)" "or into emulator memory", "hf mf csave\n" "hf mf csave --4k" ); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "mini", "MIFARE Classic Mini / S20"), arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (def)"), arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), @@ -7332,7 +7332,7 @@ static int CmdHF14AMfView(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("v", "verbose", "verbose output"), arg_lit0(NULL, "sk", "Save extracted keys to file"), arg_param_end @@ -7509,7 +7509,7 @@ static int CmdHF14AGen4Load(const char *cmd) { arg_lit0(NULL, "4k", "MIFARE Classic 4k / S70"), arg_str0("p", "pwd", "", "password 4bytes"), arg_lit0("v", "verbose", "verbose output"), - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "emu", "from emulator memory"), arg_int0(NULL, "start", "", "index of block to start writing (default 0)"), arg_int0(NULL, "end", "", "index of block to end writing (default last block)"), @@ -7855,7 +7855,7 @@ static int CmdHF14AGen4Save(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf gsave", - "Save `magic gen4 gtu` card memory into two files (bin/json)" + "Save `magic gen4 gtu` card memory to file (bin/json)" "or into emulator memory", "hf mf gsave\n" "hf mf gsave --4k\n" @@ -7868,7 +7868,7 @@ static int CmdHF14AGen4Save(const char *Cmd) { arg_lit0(NULL, "2k", "MIFARE Classic/Plus 2k"), arg_lit0(NULL, "4k", "MIFARE Classic 4k / S70"), arg_str0("p", "pwd", "", "password 4 bytes"), - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "emu", "to emulator memory"), arg_param_end }; diff --git a/client/src/cmdhfmfp.c b/client/src/cmdhfmfp.c index 9d854290e..9c02e8aea 100644 --- a/client/src/cmdhfmfp.c +++ b/client/src/cmdhfmfp.c @@ -1384,15 +1384,15 @@ static int CmdHFMFPChk(const char *Cmd) { static int CmdHFMFPDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mfp dump", - "Dump MIFARE Plus tag to binary file\n" + "Dump MIFARE Plus tag to file (bin/json)\n" "If no given, UID will be used as filename", "hf mfp dump\n" "hf mfp dump --keys hf-mf-066C8B78-key.bin --> MIFARE Plus with keys from specified file\n"); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), - arg_str0("k", "keys", "", "filename of keys"), + arg_str0("f", "file", "", "Specify a filename for dump file"), + arg_str0("k", "keys", "", "Specify a filename for keys file"), arg_lit0(NULL, "ns", "no save to file"), arg_lit0("v", "verbose", "Verbose mode"), arg_param_end diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 8c46ad992..c15ad1b74 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -2434,7 +2434,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mfu dump", - "Dump MIFARE Ultralight/NTAG tag to binary/eml/json files.\n" + "Dump MIFARE Ultralight/NTAG tag to files (bin/json)\n" "It autodetects card type." "Supports:\n" "Ultralight, Ultralight-C, Ultralight EV1\n" @@ -2848,7 +2848,7 @@ static int CmdHF14AMfURestore(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "specify dump filename"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_str0("k", "key", "", "key for authentication (UL-C 16 bytes, EV1/NTAG 4 bytes)"), arg_lit0("l", NULL, "swap entered key's endianness"), arg_lit0("s", NULL, "enable special write UID -MAGIC TAG ONLY-"), @@ -3065,7 +3065,7 @@ static int CmdHF14AMfUeLoad(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "Filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_int0("q", "qty", "", "Number of blocks to load from eml file"), arg_lit0("v", "verbose", "verbose output"), arg_param_end @@ -4574,7 +4574,7 @@ static int CmdHF14AMfuESave(const char *Cmd) { void *argtable[] = { arg_param_begin, arg_int0("e", "end", "", "index of last block"), - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_param_end }; @@ -4634,7 +4634,7 @@ static int CmdHF14AMfuView(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "Filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("v", "verbose", "Verbose output"), arg_param_end }; diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index fa6170c94..b3b6c47c7 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -41,7 +41,7 @@ static int CmdHF_ntag424_view(const char *Cmd) { ); void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "Filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_lit0("v", "verbose", "Verbose output"), arg_param_end }; diff --git a/client/src/cmdhftopaz.c b/client/src/cmdhftopaz.c index 97ba7e5f0..5b8ab2677 100644 --- a/client/src/cmdhftopaz.c +++ b/client/src/cmdhftopaz.c @@ -838,13 +838,13 @@ static int CmdHFTopazDump(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf topaz dump", - "Dump TOPAZ tag to binary file\n" + "Dump TOPAZ tag to file (bin/json)\n" "If no given, UID will be used as filename", "hf topaz dump\n"); void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_lit0(NULL, "ns", "no save to file"), arg_param_end }; @@ -916,7 +916,7 @@ static int CmdHFTopazView(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "filename of dump"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); diff --git a/client/src/cmdlfem4x50.c b/client/src/cmdlfem4x50.c index d44d71dcf..b94acfcc5 100644 --- a/client/src/cmdlfem4x50.c +++ b/client/src/cmdlfem4x50.c @@ -194,7 +194,7 @@ int CmdEM4x50ELoad(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str1("f", "file", "", "dump filename"), + arg_str1("f", "file", "", "Specify a filename for dump file"), arg_param_end }; @@ -1113,7 +1113,7 @@ int CmdEM4x50Restore(const char *Cmd) { void *argtable[] = { arg_param_begin, arg_str0("u", "uid", "", "uid, 4 hex bytes, msb"), - arg_str0("f", "file", "", "specify dump filename (bin/eml/json)"), + arg_str0("f", "file", "", "specify a filename for dump file"), arg_str0("p", "pwd", "", "password, 4 hex bytes, lsb"), arg_param_end }; diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index e9da9de64..639fa2ce0 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -2336,7 +2336,7 @@ static int CmdT55xxRestore(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_str0("f", "file", "", "filename of dump file"), + arg_str0("f", "file", "", "Specify a filename for dump file"), arg_str0("p", "pwd", "", "password if target card has password set (4 hex bytes)"), arg_param_end }; diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 8ed6e01ee..845b49fcd 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -264,57 +264,6 @@ int saveFile(const char *preferredName, const char *suffix, const void *data, si return PM3_SUCCESS; } -// dump file -int saveFileEML(const char *preferredName, uint8_t *data, size_t datalen, size_t blocksize) { - - if (data == NULL || datalen == 0) { - return PM3_EINVARG; - } - - char *fileName = newfilenamemcopyEx(preferredName, ".eml", spDump); - if (fileName == NULL) { - return PM3_EMALLOC; - } - - int retval = PM3_SUCCESS; - int blocks = datalen / blocksize; - uint16_t currblock = 1; - - // We should have a valid filename now, e.g. dumpdata-3.bin - - // Opening file for writing in text mode - FILE *f = fopen(fileName, "w+"); - if (!f) { - PrintAndLogEx(WARNING, "file not found or locked `" _YELLOW_("%s") "`", fileName); - retval = PM3_EFILE; - goto out; - } - - for (size_t i = 0; i < datalen; i++) { - fprintf(f, "%02X", data[i]); - - // no extra line in the end - if ((i + 1) % blocksize == 0 && currblock != blocks) { - fprintf(f, "\n"); - currblock++; - } - } - // left overs - if (datalen % blocksize != 0) { - int index = blocks * blocksize; - for (size_t j = 0; j < datalen % blocksize; j++) { - fprintf(f, "%02X", data[index + j]); - } - } - fflush(f); - fclose(f); - PrintAndLogEx(SUCCESS, "saved " _YELLOW_("%" PRId32) " blocks to text file " _YELLOW_("%s"), blocks, fileName); - -out: - free(fileName); - return retval; -} - // dump file (normally, we also got preference file, etc) int saveFileJSON(const char *preferredName, JSONFileType ftype, uint8_t *data, size_t datalen, void (*callback)(json_t *)) { return saveFileJSONex(preferredName, ftype, data, datalen, true, callback, spDump); @@ -1543,12 +1492,15 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz if (!strcmp(ctype, "ndef")) { + /* + // when we will read and return extra values from NDEF json json_error_t up_error = {0}; int i1 = 0; size_t ndefsize = 0; if (json_unpack_ex(root, &up_error, 0, "{s:i}", "Ndef.Size", &i1) == 0) { ndefsize = i1; } + */ size_t sptr = 0; for (int i = 0; i < (maxdatalen / 16); i++) { diff --git a/client/src/fileutils.h b/client/src/fileutils.h index 98ecc466d..885692569 100644 --- a/client/src/fileutils.h +++ b/client/src/fileutils.h @@ -100,19 +100,6 @@ char *newfilenamemcopyEx(const char *preferredName, const char *suffix, savePath */ int saveFile(const char *preferredName, const char *suffix, const void *data, size_t datalen); -/** - * @brief Utility function to save data to a textfile (EML). This method takes a preferred name, but if that - * file already exists, it tries with another name until it finds something suitable. - * E.g. dumpdata-15.txt - * - * @param preferredName - * @param data The binary data to write to the file - * @param datalen the length of the data - * @param blocksize the length of one row - * @return 0 for ok, 1 for failz -*/ -int saveFileEML(const char *preferredName, uint8_t *data, size_t datalen, size_t blocksize); - /** STUB * @brief Utility function to save JSON data to a file. This method takes a preferred name, but if that * file already exists, it tries with another name until it finds something suitable. diff --git a/doc/cheatsheet.md b/doc/cheatsheet.md index c25b7f486..f012a0f17 100644 --- a/doc/cheatsheet.md +++ b/doc/cheatsheet.md @@ -140,7 +140,7 @@ Decrypt iCLASS Block / file ``` Options --- --f, --file filename of dumpfile +-f, --file Specify a filename for dump file -d, --data 3DES encrypted data -k, --key 3DES transport key -v, --verbose verbose output @@ -153,7 +153,7 @@ Load iCLASS dump into memory for simulation ``` Options --- --f, --file filename of dump +-f, --file Specify a filename for dump file --json load JSON type dump --eml load EML type dump @@ -261,8 +261,8 @@ Dump MIFARE Classic card contents ``` Options: --- --f, --file filename of dump --k, --keys filename of keys +-f, --file Specify a filename for dump file +-k, --keys Specify a filename for keys file --mini MIFARE Classic Mini / S20 --1k MIFARE Classic 1k / S50 (default) --2k MIFARE Classic/Plus 2k @@ -335,7 +335,7 @@ Accepts (BIN/EML/JSON) ``` Options --- --f, --file filename of dump +-f, --file Specify a filename for dump file --mini MIFARE Classic Mini / S20 --1k MIFARE Classic 1k / S50 (def) --2k MIFARE Classic/Plus 2k From 115e85e5d4a6bcc551b9329597f34c4a562be00d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 21:01:08 +0200 Subject: [PATCH 036/278] missing defines --- client/src/mifare/mifaredefault.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/src/mifare/mifaredefault.h b/client/src/mifare/mifaredefault.h index 7bb7e144a..f399bb7b0 100644 --- a/client/src/mifare/mifaredefault.h +++ b/client/src/mifare/mifaredefault.h @@ -21,10 +21,13 @@ #include "common.h" +#define DES_KEY_LEN 8 #define AES_KEY_LEN 16 +#define T2DES_KEY_LEN 16 +#define T3DES_KEY_LEN 24 + #define MAX_AES_KEYS_LIST_LEN 1024 -#define MFKEY_SIZE 6 #define MFBLOCK_SIZE 16 #define MIFARE_4K_MAXBLOCK 256 From e94a65303826f0ff7c2eca3fd24418d037cadfed Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 21:04:21 +0200 Subject: [PATCH 037/278] missing return --- client/src/util.c | 2 +- client/src/util.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/util.c b/client/src/util.c index 65e3295f9..6e6da4359 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -959,7 +959,7 @@ int hextobinstring_n(char *target, char *source, int sourcelen) { } // convert bytes to binary string -int byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen) { +void byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen) { //uint8_t *p = *source; for (int i = 0 ; i < sourcelen; ++i) { uint8_t b = *(source++); diff --git a/client/src/util.h b/client/src/util.h index bbae06fcf..c606113fe 100644 --- a/client/src/util.h +++ b/client/src/util.h @@ -122,7 +122,7 @@ int binarraytohex(char *target, const size_t targetlen, const char *source, size void binarraytobinstring(char *target, char *source, int length); int binstring2binarray(uint8_t *target, char *source, int length); -int byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen); +void byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen); uint8_t GetParity(const uint8_t *bits, uint8_t type, int length); void wiegand_add_parity(uint8_t *target, uint8_t *source, uint8_t length); From 010668ebb110b47c3e19e1b1948f79c7da96c9dc Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 21:39:15 +0200 Subject: [PATCH 038/278] clean up --- armsrc/Standalone/hf_iceclass.c | 1 - armsrc/iso15693.c | 4 ++-- client/gen_pm3mfsim_script.sh | 4 ++-- client/luascripts/hf_mf_tnp3_sim.lua | 6 ------ client/src/cmdhf15.c | 2 +- client/src/cmdlf.c | 4 ++-- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/armsrc/Standalone/hf_iceclass.c b/armsrc/Standalone/hf_iceclass.c index 481475bbc..ea38574db 100644 --- a/armsrc/Standalone/hf_iceclass.c +++ b/armsrc/Standalone/hf_iceclass.c @@ -69,7 +69,6 @@ #define HF_ICALSSS_READSIM_TEMP_MOD_BIN "iceclass-temp-mod.bin" #define HF_ICLASS_FULLSIM_MOD "iceclass-modified" #define HF_ICLASS_FULLSIM_MOD_BIN HF_ICLASS_FULLSIM_MOD".bin" -#define HF_ICLASS_FULLSIM_MOD_EML HF_ICLASS_FULLSIM_MOD".eml" #define HF_ICLASS_ATTACK_BIN "iclass_mac_attack" #define HF_ICLASS_CC_A "iceclass_cc_a.bin" diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index 54aaa16bd..da2f9255e 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -1060,7 +1060,7 @@ int GetIso15693AnswerFromTag(uint8_t *response, uint16_t max_len, uint16_t timeo if (dtf->len > dtf->max_len) { ret = PM3_EOVFLOW; - Dbprintf("overflow (%d > %d", dtf->len, dtf->max_len); + Dbprintf("overflow (%d > %d)", dtf->len, dtf->max_len); } break; } @@ -1083,7 +1083,7 @@ int GetIso15693AnswerFromTag(uint8_t *response, uint16_t max_len, uint16_t timeo if (dt->len > dt->max_len) { ret = PM3_EOVFLOW; - Dbprintf("overflow (%d > %d", dt->len, dt->max_len); + Dbprintf("overflow (%d > %d)", dt->len, dt->max_len); } break; } diff --git a/client/gen_pm3mfsim_script.sh b/client/gen_pm3mfsim_script.sh index 6947c9bda..fa1ae728e 100644 --- a/client/gen_pm3mfsim_script.sh +++ b/client/gen_pm3mfsim_script.sh @@ -30,6 +30,6 @@ fi rm $2 echo "hf mf eclr" >> $2 -echo "hf mf eload" $1 >> $2 +echo "hf mf eload -f " $1 >> $2 echo "hf mf ekeyprn" >> $2 -echo "hf mf sim -u" `cat $1.eml | (read -n 8 uid; echo $uid)` >> $2 +echo "hf mf sim --1k -u" `cat $1.eml | (read -n 8 uid; echo $uid)` >> $2 diff --git a/client/luascripts/hf_mf_tnp3_sim.lua b/client/luascripts/hf_mf_tnp3_sim.lua index d44a883fd..f04c8d7fa 100644 --- a/client/luascripts/hf_mf_tnp3_sim.lua +++ b/client/luascripts/hf_mf_tnp3_sim.lua @@ -87,12 +87,6 @@ local function ExitMsg(msg) print() end -local function writedumpfile(infile) - t = infile:read('*all') - len = string.len(t) - local len,hex = bin.unpack(('H%d'):format(len),t) - return hex -end -- blocks with data -- there are two dataareas, in block 8 or block 36, ( 1==8 , -- checksum type = 0, 1, 2, 3 diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index a4f6e5922..861a18201 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -1249,7 +1249,7 @@ static int CmdHF15EView(const char *Cmd) { } PrintAndLogEx(INFO, "Downloading %u bytes from emulator memory", bytes); - if (!GetFromDevice(BIG_BUF_EML, dump, bytes, 0, NULL, 0, NULL, 2500, false)) { + if (GetFromDevice(BIG_BUF_EML, dump, bytes, 0, NULL, 0, NULL, 2500, false) == false) { PrintAndLogEx(WARNING, "Fail, transfer from device time-out"); free(dump); return PM3_ETIMEOUT; diff --git a/client/src/cmdlf.c b/client/src/cmdlf.c index 87095631b..1d57378c7 100644 --- a/client/src/cmdlf.c +++ b/client/src/cmdlf.c @@ -1,4 +1,4 @@ -//----------------------------------------------------------------------------- +// //----------------------------------------------------------------------------- // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. // // This program is free software: you can redistribute it and/or modify @@ -469,7 +469,7 @@ int CmdFlexdemod(const char *Cmd) { sum += data[i++]; } bits[bit] = (sum > 0) ? 1 : 0; - PrintAndLogEx(NORMAL, "bit %d sum %d", bit, sum); + // PrintAndLogEx(NORMAL, "bit %d sum %d", bit, sum); } for (bit = 0; bit < 64; bit++) { From dee03b414c9a25b9523033ccd6ed391c3c9a7d34 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 2 Oct 2023 21:47:35 +0200 Subject: [PATCH 039/278] fix some coverity --- client/src/cmdhf15.c | 4 ++-- client/src/fileutils.c | 12 ++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index 861a18201..18533cb47 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -1706,9 +1706,9 @@ static int CmdHF15Dump(const char *Cmd) { } if (blklen == 8) { - pm3_save_dump(filename, data, (blocknum * blklen), jsf15_v3); + pm3_save_dump(filename, data, (size_t)(blocknum * blklen), jsf15_v3); } else { - pm3_save_dump(filename, data, (blocknum * blklen), jsf15_v2); + pm3_save_dump(filename, data, (size_t)(blocknum * blklen), jsf15_v2); } return PM3_SUCCESS; } diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 845b49fcd..baf3033d1 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1064,8 +1064,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz json_error_t error; json_t *root = json_load_file(path, 0, &error); - if (verbose) + if (verbose) { PrintAndLogEx(SUCCESS, "loaded from JSON file `" _YELLOW_("%s") "`", path); + } free(path); @@ -1521,14 +1522,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - // unidentified file format - if (verbose) { - PrintAndLogEx(FAILED, "Unidentified file format `" _YELLOW_("%s") "`", path); - } - retval = PM3_EFILE; - out: + if (callback != NULL) { (*callback)(root); } @@ -2274,7 +2270,7 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl DumpFileType_t dftype = getfiletype(fn); switch (dftype) { case BIN: { - loadFile_safe(fn, ".bin", pdump, dumplen); + res = loadFile_safe(fn, ".bin", pdump, dumplen); if (res != PM3_SUCCESS) { PrintAndLogEx(WARNING, "File IO failed"); } From 4f96d3eb46dc7f1c709ceef5a0200286e6ee5584 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 3 Oct 2023 17:10:39 +0200 Subject: [PATCH 040/278] style --- armsrc/dbprint.c | 4 +- armsrc/i2c.c | 10 +-- client/src/cmdhf14a.c | 2 +- client/src/cmdhf15.c | 6 +- client/src/cmdhfst25ta.c | 2 +- client/src/cmdlft55xx.c | 70 +++++++++--------- client/src/cmdsmartcard.c | 2 +- client/src/fileutils.c | 76 ++++++++++---------- client/src/fileutils.h | 4 +- client/src/nfc/ndef.c | 16 ++--- client/src/util.c | 4 +- doc/commands.json | 146 +++++++++++++++++++------------------- include/pm3_cmd.h | 2 +- 13 files changed, 172 insertions(+), 172 deletions(-) diff --git a/armsrc/dbprint.c b/armsrc/dbprint.c index dc4ec9b46..5caaafb0f 100644 --- a/armsrc/dbprint.c +++ b/armsrc/dbprint.c @@ -129,10 +129,10 @@ void print_result(const char *name, const uint8_t *d, size_t n) { } // Prints message and hexdump -void print_dbg(char *msg, uint8_t *d, uint16_t n) { +void print_dbg(char *msg, uint8_t *d, uint16_t n) { if (g_dbglevel == DBG_DEBUG) { print_result(msg, d, n); - } + } } /* useful when debugging new protocol implementations like FeliCa diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 9fa2bdd35..a5868d31a 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -240,7 +240,7 @@ static bool I2C_WaitForSim(uint32_t wait) { // 1000*110*3.07 = 337.7ms (337700) // 4 560 000 * 3.07 = 13999,2ms (13999200) // 1byte transfer == 1ms with max frame being 256bytes - + // fct WaitSCL_H_delay uses a I2C_DELAY_1CLK in the loop with "wait" as number of iterations. // I2C_DELAY_1CLK == I2CSpinDelayClk(1) = 3.07us return WaitSCL_H_delay(wait); @@ -474,7 +474,7 @@ bool I2C_BufferWrite(const uint8_t *data, uint16_t len, uint8_t device_cmd, uint if (len == 0) { _break = false; } - + } while (false); I2C_Stop(); @@ -586,7 +586,7 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t // Dbprintf("rec len... %u readcount... %u", recv_len, readcount); // Dbhexdump(readcount, pd, false); - if (readcount < 2 ) { + if (readcount < 2) { return 0; } @@ -771,7 +771,7 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { if (card_ptr == NULL) { return false; } - + card_ptr->atr_len = 0; memset(card_ptr->atr, 0, sizeof(card_ptr->atr)); @@ -781,7 +781,7 @@ bool GetATR(smart_card_atr_t *card_ptr, bool verbose) { I2C_WriteCmd(I2C_DEVICE_CMD_GENERATE_ATR, I2C_DEVICE_ADDRESS_MAIN); // wait for sim card to answer. - // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. + // 1byte = 1ms , max frame 256bytes. Should wait 256ms atleast just in case. if (I2C_WaitForSim(SIM_WAIT_DELAY) == false) { return false; } diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index 439641f09..31c3e24bc 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -2939,7 +2939,7 @@ int CmdHF14ANdefRead(const char *Cmd) { PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "--- " _CYAN_("NDEF raw") " ----------------"); print_buffer(ndef_file, ndef_size, 1); - } + } NDEFRecordsDecodeAndPrint(ndef_file, ndef_size, verbose); diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index 18533cb47..7059bdd2c 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -2184,9 +2184,9 @@ static int CmdHF15Restore(const char *Cmd) { void *argtable[6 + 5] = {}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_str0("f", "file", "", "Specify a filename for dump file"), - argtable[arglen++] = arg_int0("r", "retry", "", "number of retries (def 3)"), - argtable[arglen++] = arg_int0(NULL, "bs", "", "block size (def 4)"), - argtable[arglen++] = arg_lit0("v", "verbose", "verbose output"); + argtable[arglen++] = arg_int0("r", "retry", "", "number of retries (def 3)"), + argtable[arglen++] = arg_int0(NULL, "bs", "", "block size (def 4)"), + argtable[arglen++] = arg_lit0("v", "verbose", "verbose output"); argtable[arglen++] = arg_param_end; CLIExecWithReturn(ctx, Cmd, argtable, true); diff --git a/client/src/cmdhfst25ta.c b/client/src/cmdhfst25ta.c index fe6e2e94c..9a2f84e7c 100644 --- a/client/src/cmdhfst25ta.c +++ b/client/src/cmdhfst25ta.c @@ -412,7 +412,7 @@ int CmdHFST25TANdefRead(const char *Cmd) { n = resplen; pm3_save_dump(filename, response + 2, n, jsfNDEF); - + return PM3_SUCCESS; } diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index 639fa2ce0..89a060a8e 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -2321,7 +2321,7 @@ static int CmdT55xxDump(const char *Cmd) { data[i] = BSWAP_32(cardmem[i].blockdata); } - pm3_save_dump(filename, (uint8_t*)data, (T55x7_BLOCK_COUNT * sizeof(uint32_t)), jsfT55x7); + pm3_save_dump(filename, (uint8_t *)data, (T55x7_BLOCK_COUNT * sizeof(uint32_t)), jsfT55x7); } return PM3_SUCCESS; @@ -3512,24 +3512,24 @@ bool tryDetectP1(bool getData) { if (FSKrawDemod(0, 0, 0, 0, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } if (FSKrawDemod(0, 1, 0, 0, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3541,13 +3541,13 @@ bool tryDetectP1(bool getData) { if (clk > 0) { if (ASKDemod_ext(0, 0, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) { - if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3555,36 +3555,36 @@ bool tryDetectP1(bool getData) { st = true; if (ASKDemod_ext(0, 1, 1, 0, false, false, false, 1, &st) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } if (ASKbiphaseDemod(0, 0, 0, 2, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } if (ASKbiphaseDemod(0, 0, 1, 2, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3595,24 +3595,24 @@ bool tryDetectP1(bool getData) { if (clk > 0) { if (NRZrawDemod(0, 0, 1, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } if (NRZrawDemod(0, 1, 1, false) == PM3_SUCCESS) { if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3629,12 +3629,12 @@ bool tryDetectP1(bool getData) { if (PSKDemod(0, 0, 6, false) == PM3_SUCCESS) { //save_restoreGB(GRAPH_RESTORE); if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3642,12 +3642,12 @@ bool tryDetectP1(bool getData) { if (PSKDemod(0, 1, 6, false) == PM3_SUCCESS) { //save_restoreGB(GRAPH_RESTORE); if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } @@ -3658,12 +3658,12 @@ bool tryDetectP1(bool getData) { //save_restoreGB(GRAPH_RESTORE); if (preambleSearchEx(g_DemodBuffer, preamble_atmel, sizeof(preamble_atmel), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } - + if (preambleSearchEx(g_DemodBuffer, preamble_silicon, sizeof(preamble_silicon), &g_DemodBufferLen, &startIdx, false) && - (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { + (g_DemodBufferLen == 32 || g_DemodBufferLen == 64)) { return true; } } // inverse waves does not affect PSK2 demod diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index 9cf3e3301..f0a4e3bf9 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -455,7 +455,7 @@ static int CmdSmartRaw(const char *Cmd) { if (active_select) payload->flags |= SC_SELECT; } - + payload->wait_delay = 0; if (timeout > -1) { payload->flags |= SC_WAIT; diff --git a/client/src/fileutils.c b/client/src/fileutils.c index baf3033d1..14b596c6d 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -361,7 +361,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } // size of header 56b - + size_t len = (datalen - MFU_DUMP_PREFIX_LENGTH) / MFU_BLOCK_SIZE; for (size_t i = 0; i < len; i++) { @@ -426,7 +426,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, for (size_t i = 0; i < datalen / 4; i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, &data[i * 4], 4); - } + } break; } // handles ISO15693 w blocksize of 4 bytes @@ -438,7 +438,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } break; } - // handles ISO15693 w blocksize of 8 bytes + // handles ISO15693 w blocksize of 8 bytes case jsf15_v3: { JsonSaveStr(root, "FileType", "15693 v3"); for (size_t i = 0; i < datalen / 8; i++) { @@ -457,8 +457,8 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } if (datalen % 16) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); - } + JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); + } break; } case jsfT5555: { @@ -610,7 +610,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfNDEF: { - JsonSaveStr(root, "FileType", "ndef"); + JsonSaveStr(root, "FileType", "ndef"); JsonSaveInt(root, "Ndef.Size", datalen); size_t i = 0; for (; i < datalen / 16; i++) { @@ -619,17 +619,17 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } if (datalen % 16) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); - } + JsonSaveBufAsHexCompact(root, path, &data[i * 16], (datalen % 16)); + } break; } // no action - case jsfFido: + case jsfFido: break; // depricated - case jsfCardMemory: + case jsfCardMemory: case jsf14b: - case jsf15: + case jsf15: case jsfLegic: default: break; @@ -1264,7 +1264,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // handles ISO15693 w blocksize of 4 bytes. if (!strcmp(ctype, "15693 v2")) { - size_t sptr = 0; + size_t sptr = 0; for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { retval = PM3_EMALLOC; @@ -1284,7 +1284,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } // handles ISO15693 w blocksize of 8 bytes. if (!strcmp(ctype, "15693 v3")) { - size_t sptr = 0; + size_t sptr = 0; for (int i = 0; i < (maxdatalen / 8); i++) { if (sptr + 8 > maxdatalen) { retval = PM3_EMALLOC; @@ -1403,36 +1403,36 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // size_t sptr = (14 + atslen); // uint8_t dvdata[4][0xE][24 + 1] = {{{0}}}; - /* - for (int i = 0; i < (int)datalen; i++) { - char path[PATH_MAX_LENGTH] = {0}; + /* + for (int i = 0; i < (int)datalen; i++) { + char path[PATH_MAX_LENGTH] = {0}; - if (dvdata[0][i][0]) { - snprintf(path, sizeof(path), "$.DES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[0][i][1], DES_KEY_LEN); - } - - if (dvdata[1][i][0]) { - snprintf(path, sizeof(path), "$.3DES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[1][i][1], T2DES_KEY_LEN); - } - if (dvdata[2][i][0]) { - snprintf(path, sizeof(path), "$.AES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[2][i][1], AES_KEY_LEN); - } - if (dvdata[3][i][0]) { - snprintf(path, sizeof(path), "$.K3KDES.%d.Key", i); - JsonSaveBufAsHexCompact(root, path, &dvdata[3][i][1], T3DES_KEY_LEN); - } + if (dvdata[0][i][0]) { + snprintf(path, sizeof(path), "$.DES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[0][i][1], DES_KEY_LEN); } - */ + + if (dvdata[1][i][0]) { + snprintf(path, sizeof(path), "$.3DES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[1][i][1], T2DES_KEY_LEN); + } + if (dvdata[2][i][0]) { + snprintf(path, sizeof(path), "$.AES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[2][i][1], AES_KEY_LEN); + } + if (dvdata[3][i][0]) { + snprintf(path, sizeof(path), "$.K3KDES.%d.Key", i); + JsonSaveBufAsHexCompact(root, path, &dvdata[3][i][1], T3DES_KEY_LEN); + } + } + */ // memcpy(&data[14 + atslen], dvdata, 4 * 0xE * (24 + 1)); goto out; } if (!strcmp(ctype, "14b v2")) { - size_t sptr = 0; + size_t sptr = 0; for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { retval = PM3_EMALLOC; @@ -1452,7 +1452,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } if (!strcmp(ctype, "lto")) { - size_t sptr = 0; + size_t sptr = 0; for (int i = 0; i < (maxdatalen / 32); i++) { if (sptr + 32 > maxdatalen) { retval = PM3_EMALLOC; @@ -1472,7 +1472,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } if (!strcmp(ctype, "cryptorf")) { - size_t sptr = 0; + size_t sptr = 0; for (int i = 0; i < (maxdatalen / 8); i++) { if (sptr + 8 > maxdatalen) { retval = PM3_EMALLOC; @@ -2318,7 +2318,7 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft) { if (fn == NULL || strlen(fn) == 0) { - return PM3_EINVARG; + return PM3_EINVARG; } if (d == NULL || n == 0) { PrintAndLogEx(INFO, "No data to save, skipping..."); diff --git a/client/src/fileutils.h b/client/src/fileutils.h index 885692569..88d624788 100644 --- a/client/src/fileutils.h +++ b/client/src/fileutils.h @@ -301,10 +301,10 @@ int pm3_save_dump(const char *fn, uint8_t *d, size_t n, JSONFileType jsft); * It also tries to save according to user preferences set dump folder paths. * E.g. dumpdata.bin * E.g. dumpdata.json - * + * * This function is dedicated for MIFARE CLASSIC dumps. Checking for 4 or 7 byte UID in indata. * Saves the corrected data in the json file - * + * * @param fn * @param d The binary data to write to the file * @param n the length of the data diff --git a/client/src/nfc/ndef.c b/client/src/nfc/ndef.c index 50dec1b35..17e5dd9d8 100644 --- a/client/src/nfc/ndef.c +++ b/client/src/nfc/ndef.c @@ -1285,26 +1285,26 @@ int NDEFGetTotalLength(uint8_t *ndef, size_t ndeflen, size_t *outlen) { size_t idx = 0; while (idx < ndeflen) { - if (ndef[idx] == 0x00 || - ndef[idx] == 0x01 || - ndef[idx] == 0x02 || - ndef[idx] == 0x03 || - ndef[idx] == 0xFD) { + if (ndef[idx] == 0x00 || + ndef[idx] == 0x01 || + ndef[idx] == 0x02 || + ndef[idx] == 0x03 || + ndef[idx] == 0xFD) { idx++; idx += ndefTLVGetLength(&ndef[idx], &idx); continue; } - + if (ndef[idx] == 0xFE) { idx++; break; } - // invalid NDEF + // invalid NDEF *outlen = 0; return PM3_ESOFT; } *outlen = idx; return PM3_SUCCESS; -} \ No newline at end of file +} diff --git a/client/src/util.c b/client/src/util.c index 6e6da4359..0893ab3d6 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -966,11 +966,11 @@ void byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen) { *(target++) = ((b >> 7) & 0x1) + '0'; *(target++) = ((b >> 6) & 0x1) + '0'; *(target++) = ((b >> 5) & 0x1) + '0'; - *(target++) = ((b >> 4) & 0x1) + '0'; + *(target++) = ((b >> 4) & 0x1) + '0'; *(target++) = ((b >> 3) & 0x1) + '0'; *(target++) = ((b >> 2) & 0x1) + '0'; *(target++) = ((b >> 1) & 0x1) + '0'; - *(target++) = (b & 0x1) + '0'; + *(target++) = (b & 0x1) + '0'; } *target = '\0'; } diff --git a/doc/commands.json b/doc/commands.json index 55da69cd3..e38b0ae40 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -1538,7 +1538,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "-v, --verbose verbose output" ], "usage": "hf 14b view [-hv] -f " @@ -1570,7 +1570,7 @@ }, "hf 15 dump": { "command": "hf 15 dump", - "description": "This command dumps the contents of a ISO-15693 tag and save it to file", + "description": "This command dumps the contents of a ISO-15693 tag and save to file (bin/json)", "notes": [ "hf 15 dump", "hf 15 dump -*", @@ -1584,7 +1584,7 @@ "-* scan for tag", "-2 use slower '1 out of 256' mode", "-o, --opt set OPTION Flag (needed for TI)", - "-f, --file filename of dump" + "-f, --file Specify a filename for dump file" ], "usage": "hf 15 dump [-h*2o] [-u ] [--ua] [-f ]" }, @@ -1603,18 +1603,18 @@ }, "hf 15 esave": { "command": "hf 15 esave", - "description": "Save emulator memory into three files (BIN/EML/JSON)", + "description": "Save emulator memory into two files (bin/json)", "notes": [ "hf 15 esave -f hf-15-01020304hf 15 esave -b 8 -c 42 -f hf-15-01020304" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", - "-b, --blocksize block size, defaults to 4", + "-f, --file Specify a filename for dump file", + "--bsize block size, defaults to 4", "-c, --count number of blocks to export, defaults to all" ], - "usage": "hf 15 esave [-h] -f [-b ] [-c ]" + "usage": "hf 15 esave [-h] -f [--bsize ] [-c ]" }, "hf 15 eview": { "command": "hf 15 eview", @@ -1784,7 +1784,7 @@ }, "hf 15 restore": { "command": "hf 15 restore", - "description": "This command restore the contents of a dump file onto a ISO-15693 tag", + "description": "This command restore the contents of a dump file (bin/eml/json) onto a ISO-15693 tag", "notes": [ "hf 15 restore", "hf 15 restore -*", @@ -1798,7 +1798,7 @@ "-* scan for tag", "-2 use slower '1 out of 256' mode", "-o, --opt set OPTION Flag (needed for TI)", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "-r, --retry number of retries (def 3)", "--bs block size (def 4)", "-v, --verbose verbose output" @@ -1919,7 +1919,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump (bin/eml/json)" + "-f, --file Specify a filename for dump file" ], "usage": "hf 15 view [-h] -f " }, @@ -2807,14 +2807,14 @@ }, "hf fudan dump": { "command": "hf fudan dump", - "description": "Dump FUDAN tag to binary file If no given, UID will be used as filename", + "description": "Dump FUDAN tag to file (bin/json) If no given, UID will be used as filename", "notes": [ "hf fudan dump -f mydump -> dump using filename" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump" + "-f, --file Specify a filename for dump file" ], "usage": "hf fudan dump [-h] [-f ]" }, @@ -2858,7 +2858,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump" + "-f, --file Specify a filename for dump file" ], "usage": "hf fudan view [-h] -f " }, @@ -3051,7 +3051,7 @@ }, "hf iclass decrypt": { "command": "hf iclass decrypt", - "description": "3DES decrypt data This is a naive implementation, it tries to decrypt every block after block 6. Correct behaviour would be to decrypt only the application areas where the key is valid, which is defined by the configuration block. OBS! In order to use this function, the file `iclass_decryptionkey.bin` must reside in the resources directory. The file should be 16 bytes binary data or... make sure your cardhelper is placed in the sim module", + "description": "3DES decrypt data This is a naive implementation, it tries to decrypt every block after block 6. Correct behaviour would be to decrypt only the application areas where the key is valid, which is defined by the configuration block. OBS! In order to use this function, the file `iclass_decryptionkey.bin` must reside in the resources directory. The file must be 16 bytes binary data or... make sure your cardhelper is placed in the sim module", "notes": [ "hf iclass decrypt -f hf-iclass-AA162D30F8FF12F1-dump.bin", "hf iclass decrypt -f hf-iclass-AA162D30F8FF12F1-dump.bin -k 000102030405060708090a0b0c0d0e0f", @@ -3060,7 +3060,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump file (bin/eml/json)", + "-f, --file Specify a filename for dump file", "-d, --data 3DES encrypted data", "-k, --key 3DES transport key", "-v, --verbose verbose output", @@ -3098,15 +3098,15 @@ }, "hf iclass eload": { "command": "hf iclass eload", - "description": "Load emulator memory with data from (bin/eml/json) iCLASS dump file", + "description": "Load emulator memory with data from (bin/json) iCLASS dump file", "notes": [ - "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.eml", + "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.json", "hf iclass eload -f hf-iclass-AA162D30F8FF12F1-dump.bin -m" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump (bin/eml/json)", + "-f, --file Specify a filename for dump file", "-m, --mem use RDV4 spiffs", "-v, --verbose verbose output" ], @@ -3155,7 +3155,7 @@ }, "hf iclass esave": { "command": "hf iclass esave", - "description": "Save emulator memory to file. if filename is not supplied, CSN will be used.", + "description": "Save emulator memory to file (bin/json) if filename is not supplied, CSN will be used.", "notes": [ "hf iclass esave", "hf iclass esave -f hf-iclass-dump", @@ -3164,7 +3164,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump file", + "-f, --file Specify a filename for dump file", "-s, --size <256|2048> number of bytes to save (default 256)" ], "usage": "hf iclass esave [-h] [-f ] [-s <256|2048>]" @@ -3344,7 +3344,7 @@ }, "hf iclass restore": { "command": "hf iclass restore", - "description": "Restore data from dumpfile onto a iCLASS tag", + "description": "Restore data from dumpfile (bin/eml/json) onto a iCLASS tag", "notes": [ "hf iclass restore -f hf-iclass-AA162D30F8FF12F1-dump.bin --first 6 --last 18 --ki 0", "hf iclass restore -f hf-iclass-AA162D30F8FF12F1-dump.bin --first 6 --last 18 --ki 0 --elite", @@ -3353,7 +3353,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file specify a filename to restore (bin/eml/json)", + "-f, --file specify a filename to restore", "-k, --key Access key as 8 hex bytes", "--ki Key index to select key from memory 'hf iclass managekeys'", "--first The first block number to restore", @@ -3425,7 +3425,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump (bin/eml/json)", + "-f, --file Specify a filename for dump file", "--first Begin printing from this block (default first user block)", "--last End printing at this block (default 0, ALL)", "-v, --verbose verbose output", @@ -3623,7 +3623,7 @@ }, "hf legic dump": { "command": "hf legic dump", - "description": "Read all memory from LEGIC Prime tags and saves to (bin/eml/json) dump file It autodetects card type (MIM22, MIM256, MIM1024)", + "description": "Read all memory from LEGIC Prime tags and saves to (bin/json) dump file It autodetects card type (MIM22, MIM256, MIM1024)", "notes": [ "hf legic dump -> use UID as filename", "hf legic dump -f myfile", @@ -3670,7 +3670,7 @@ }, "hf legic esave": { "command": "hf legic esave", - "description": "Saves a (bin/eml/json) dump file of emulator memory", + "description": "Saves a (bin/json) dump file of emulator memory", "notes": [ "hf legic esave -> uses UID as filename", "hf legic esave -f myfile --22", @@ -3778,7 +3778,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file Filename to restore", + "-f, --file Specify a filename to restore", "--ob obfuscate dump data (xor with MCC)" ], "usage": "hf legic restore [-h] -f [--ob]" @@ -3807,7 +3807,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file Filename of dump", + "-f, --file Specify a filename for dump file", "-v, --verbose verbose output" ], "usage": "hf legic view [-hv] -f " @@ -4092,14 +4092,14 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--emu from emulator memory" ], "usage": "hf mf cload [-h] [-f ] [--emu]" }, "hf mf csave": { "command": "hf mf csave", - "description": "Save magic gen1a card memory into three files (BIN/EML/JSON)or into emulator memory", + "description": "Save magic gen1a card memory to file (bin/json)or into emulator memory", "notes": [ "hf mf csave", "hf mf csave --4k" @@ -4107,7 +4107,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--mini MIFARE Classic Mini / S20", "--1k MIFARE Classic 1k / S50 (def)", "--2k MIFARE Classic/Plus 2k", @@ -4218,7 +4218,7 @@ }, "hf mf dump": { "command": "hf mf dump", - "description": "Dump MIFARE Classic tag to binary file If no given, UID will be used as filename", + "description": "Dump MIFARE Classic tag to file (bin/json) If no given, UID will be used as filename", "notes": [ "hf mf dump --mini -> MIFARE Mini", "hf mf dump --1k -> MIFARE Classic 1k", @@ -4229,7 +4229,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "-k, --keys filename of keys", "--mini MIFARE Classic Mini / S20", "--1k MIFARE Classic 1k / S50 (def)", @@ -4327,7 +4327,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--mini MIFARE Classic Mini / S20", "--1k MIFARE Classic 1k / S50 (def)", "--2k MIFARE Classic/Plus 2k", @@ -4341,7 +4341,7 @@ }, "hf mf esave": { "command": "hf mf esave", - "description": "Save emulator memory into three files (BIN/EML/JSON)", + "description": "Save emulator memory to file (bin/json)", "notes": [ "hf mf esave", "hf mf esave --4k", @@ -4350,7 +4350,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--mini MIFARE Classic Mini / S20", "--1k MIFARE Classic 1k / S50 (def)", "--2k MIFARE Classic/Plus 2k", @@ -4540,7 +4540,7 @@ "--4k MIFARE Classic 4k / S70", "-p, --pwd password 4bytes", "-v, --verbose verbose output", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--emu from emulator memory", "--start index of block to start writing (default 0)", "--end index of block to end writing (default last block)" @@ -4549,7 +4549,7 @@ }, "hf mf gsave": { "command": "hf mf gsave", - "description": "Save `magic gen4 gtu` card memory into three files (BIN/EML/JSON)or into emulator memory", + "description": "Save `magic gen4 gtu` card memory to file (bin/json)or into emulator memory", "notes": [ "hf mf gsave", "hf mf gsave --4k", @@ -4562,8 +4562,8 @@ "--1k MIFARE Classic 1k / S50 (def)", "--2k MIFARE Classic/Plus 2k", "--4k MIFARE Classic 4k / S70", - "-p, --pwd password 4bytes", - "-f, --file filename of dump", + "-p, --pwd password 4 bytes", + "-f, --file Specify a filename for dump file", "--emu to emulator memory" ], "usage": "hf mf gsave [-h] [--mini] [--1k] [--2k] [--4k] [-p ] [-f ] [--emu]" @@ -4864,7 +4864,7 @@ "--2k MIFARE Classic/Plus 2k", "--4k MIFARE Classic 4k / S70", "-u, --uid uid, (4|7|10 hex bytes)", - "-f, --file specify dump filename (bin/eml/json)", + "-f, --file specify a filename for dump file", "-k, --kfn key filename", "--ka use specified keyfile to authenticate", "--force override warnings" @@ -4999,7 +4999,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "-v, --verbose verbose output", "--sk Save extracted keys to file" ], @@ -5163,9 +5163,9 @@ "description": "Checks keys with MIFARE DESFire card.", "notes": [ "hf mfdes chk --aid 123456 -k 000102030405060708090a0b0c0d0e0f -> check key on aid 0x123456", - "hf mfdes chk -d mfdes_default_keys -> check keys from dictionary against all existing aid on card", - "hf mfdes chk -d mfdes_default_keys --aid 123456 -> check keys from dictionary against aid 0x123456", - "hf mfdes chk --aid 123456 --pattern1b -j keys -> check all 1-byte keys pattern on aid 0x123456 and save found keys to json", + "hf mfdes chk -d mfdes_default_keys -> check keys against all existing aid on card", + "hf mfdes chk -d mfdes_default_keys --aid 123456 -> check keys against aid 0x123456", + "hf mfdes chk --aid 123456 --pattern1b -j keys -> check all 1-byte keys pattern on aid 0x123456 and save found keys to `keys.json`", "hf mfdes chk --aid 123456 --pattern2b --startp2b FA00 -> check all 2-byte keys pattern on aid 0x123456. Start from key FA00FA00...FA00" ], "offline": false, @@ -6224,7 +6224,7 @@ }, "hf mfp dump": { "command": "hf mfp dump", - "description": "Dump MIFARE Plus tag to binary file If no given, UID will be used as filename", + "description": "Dump MIFARE Plus tag to file (bin/json) If no given, UID will be used as filename", "notes": [ "hf mfp dump", "hf mfp dump --keys hf-mf-066C8B78-key.bin -> MIFARE Plus with keys from specified file" @@ -6232,8 +6232,8 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", - "-k, --keys filename of keys", + "-f, --file Specify a filename for dump file", + "-k, --keys Specify a filename for keys file", "--ns no save to file", "-v, --verbose Verbose mode" ], @@ -6447,7 +6447,7 @@ }, "hf mfu dump": { "command": "hf mfu dump", - "description": "Dump MIFARE Ultralight/NTAG tag to binary/eml/json files. It autodetects card type.Supports: Ultralight, Ultralight-C, Ultralight EV1 NTAG 203, NTAG 210, NTAG 212, NTAG 213, NTAG 215, NTAG 216", + "description": "Dump MIFARE Ultralight/NTAG tag to files (bin/json) It autodetects card type.Supports: Ultralight, Ultralight-C, Ultralight EV1 NTAG 203, NTAG 210, NTAG 212, NTAG 213, NTAG 215, NTAG 216", "notes": [ "hf mfu dump -f myfile", "hf mfu dump -k AABBCCDD -> dump whole tag using pwd AABBCCDD", @@ -6477,7 +6477,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file Filename of dump", + "-f, --file Specify a filename for dump file", "-q, --qty Number of blocks to load from eml file", "-v, --verbose verbose output" ], @@ -6485,17 +6485,17 @@ }, "hf mfu esave": { "command": "hf mfu esave", - "description": "Saves emulator memory to a MIFARE Ultralight/NTAG dump file (bin/eml/json) By default number of pages saved depends on defined tag type. You can override this with option --end.", + "description": "Saves emulator memory to a MIFARE Ultralight/NTAG dump file (bin/json) By default number of pages saved depends on defined tag type. You can override this with option --end.", "notes": [ "hf mfu esave", "hf mfu esave --end 255 -> saves whole memory", - "hf mfu esave -f hf-mfu-04010203040506-dump.json" + "hf mfu esave -f hf-mfu-04010203040506-dump" ], "offline": false, "options": [ "-h, --help This help", "-e, --end index of last block", - "-f, --file filename of dump" + "-f, --file Specify a filename for dump file" ], "usage": "hf mfu esave [-h] [-e ] [-f ]" }, @@ -6642,7 +6642,7 @@ }, "hf mfu restore": { "command": "hf mfu restore", - "description": "Restore MIFARE Ultralight/NTAG dump file to tag.", + "description": "Restore MIFARE Ultralight/NTAG dump file (bin/eml/json) to tag.", "notes": [ "hf mfu restore -f myfile -s -> special write", "hf mfu restore -f myfile -k AABBCCDD -s -> special write, use key", @@ -6651,7 +6651,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file specify dump filename (bin/eml/json)", + "-f, --file Specify a filename for dump file", "-k, --key key for authentication (UL-C 16 bytes, EV1/NTAG 4 bytes)", "-l swap entered key's endianness", "-s enable special write UID -MAGIC TAG ONLY-", @@ -6733,7 +6733,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file Filename of dump", + "-f, --file Specify a filename for dump file", "-v, --verbose Verbose output" ], "usage": "hf mfu view [-hv] -f " @@ -6790,7 +6790,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file Filename of dump", + "-f, --file Specify a filename for dump file", "-v, --verbose Verbose output" ], "usage": "hf ntag424 view [-hv] -f " @@ -7087,14 +7087,14 @@ }, "hf topaz dump": { "command": "hf topaz dump", - "description": "Dump TOPAZ tag to binary file If no given, UID will be used as filename", + "description": "Dump TOPAZ tag to file (bin/json) If no given, UID will be used as filename", "notes": [ "hf topaz dump" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump", + "-f, --file Specify a filename for dump file", "--ns no save to file" ], "usage": "hf topaz dump [-h] [-f ] [--ns]" @@ -7208,7 +7208,7 @@ "offline": true, "options": [ "-h, --help This help", - "-f, --file filename of dump (bin/eml/json)" + "-f, --file Specify a filename for dump file" ], "usage": "hf topaz view [-h] -f " }, @@ -8159,7 +8159,7 @@ }, "lf em 4x50 dump": { "command": "lf em 4x50 dump", - "description": "Reads all blocks/words from EM4x50 tag and saves dump in bin/eml/json format", + "description": "Reads all blocks/words from EM4x50 tag and saves dump in (bin/json) format", "notes": [ "lf em 4x50 dump", "lf em 4x50 dump -f mydump", @@ -8169,7 +8169,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file specify dump filename (bin/eml/json)", + "-f, --file specify dump filename", "-p, --pwd password, 4 hex bytes, lsb" ], "usage": "lf em 4x50 dump [-h] [-f ] [-p ]" @@ -8183,13 +8183,13 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file dump filename (bin/eml/json)" + "-f, --file Specify a filename for dump file" ], "usage": "lf em 4x50 eload [-h] -f " }, "lf em 4x50 esave": { "command": "lf em 4x50 esave", - "description": "Saves bin/eml/json dump file of emulator memory.", + "description": "Saves bin/json dump file of emulator memory.", "notes": [ "lf em 4x50 esave -> use UID as filename", "lf em 4x50 esave -f mydump" @@ -8284,7 +8284,7 @@ "options": [ "-h, --help This help", "-u, --uid uid, 4 hex bytes, msb", - "-f, --file specify dump filename (bin/eml/json)", + "-f, --file specify a filename for dump file", "-p, --pwd password, 4 hex bytes, lsb" ], "usage": "lf em 4x50 restore [-h] [-u ] [-f ] [-p ]" @@ -8806,7 +8806,7 @@ "-1, --ht1 Card type Hitag 1", "-2, --ht2 Card type Hitag 2", "-s, --hts Card type Hitag S", - "-m, --htm Card type Hitag \u00ce\u00bc" + "-m, --htm Card type Hitag \u03bc" ], "usage": "lf hitag eload [-h12sm] -f " }, @@ -10176,7 +10176,7 @@ }, "lf t55xx dump": { "command": "lf t55xx dump", - "description": "This command dumps a T55xx card Page 0 block 0-7. It will create three files (bin/eml/json)", + "description": "This command dumps a T55xx card Page 0 block 0-7. It will create two files (bin/json)", "notes": [ "lf t55xx dump", "lf t55xx dump -p aabbccdd --override", @@ -10328,7 +10328,7 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file filename of dump file", + "-f, --file Specify a filename for dump file", "-p, --pwd password if target card has password set (4 hex bytes)" ], "usage": "lf t55xx restore [-h] [-f ] [-p ]" @@ -10713,16 +10713,15 @@ "description": "Dumps device SPIFFS file to a local file Size is handled by first sending a STAT command against file to verify existence", "notes": [ "mem spiffs dump -s tag.bin -> download binary file from device", - "mem spiffs dump -s tag.bin -d aaa -e -> download tag.bin, save as aaa.eml format" + "mem spiffs dump -s tag.bin -d a001 -e -> download tag.bin, save as `a001.bin`" ], "offline": false, "options": [ "-h, --help This help", "-s, --src SPIFFS file to save", - "-d, --dest file name to save to ", - "-e, --eml also save in EML format" + "-d, --dest file name to save to " ], - "usage": "mem spiffs dump [-he] -s [-d ]" + "usage": "mem spiffs dump [-h] -s [-d ]" }, "mem spiffs info": { "command": "mem spiffs info", @@ -11579,9 +11578,10 @@ "-s active smartcard with select (get ATR)", "-t, --tlv executes TLV decoder if it possible", "-0 use protocol T=0", + "--timeout Timeout in MS waiting for SIM to respond. (def 337ms)", "-d, --data bytes to send" ], - "usage": "smart raw [-hrast0] -d " + "usage": "smart raw [-hrast0] [--timeout ] -d " }, "smart reader": { "command": "smart reader", @@ -11857,6 +11857,6 @@ "metadata": { "commands_extracted": 687, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-09-10T12:59:25" + "extracted_on": "2023-10-03T15:10:12" } } \ No newline at end of file diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index db9851613..afd8c9ff6 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -700,7 +700,7 @@ typedef struct { #define CMD_HF_MIFARE_G4_GDM_CONFIG 0x0872 #define CMD_HF_MIFARE_G4_GDM_WRCFG 0x0873 -// HID SAM +// HID SAM #define CMD_HF_SAM_PICOPASS 0x0900 #define CMD_HF_SAM_SEOS 0x0901 #define CMD_HF_SAM_MFC 0x0902 From c1c512f325db53b12473c02b918e69e3ac16b25c Mon Sep 17 00:00:00 2001 From: nvx Date: Wed, 4 Oct 2023 18:40:58 +1000 Subject: [PATCH 041/278] Changed `hf iclass view/decrypt` to detect SIO lengths better and show if legacy credentials are encrypted --- CHANGELOG.md | 1 + client/src/cmdhficlass.c | 168 +++++++++++++++++++++++---------------- 2 files changed, 102 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 873bc53ba..6aee59c87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `hf iclass view/decrypt` to detect SIO lengths better and show if legacy credentials are encrypted (@nvx) - Changed the json file formats for mfc, 14b, 15, legic, cryptorf, ndef (@iceman1001) - Depricated the EML file format when saving dump files. (@iceman1001) - Added `sim014.bin` - new sim module firmware v4.42 with improved ISO7816 Protocol T0 support (@gentilkiwi) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 8fa9910f7..88534d45f 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -60,7 +60,7 @@ static uint8_t empty[PICOPASS_BLOCK_SIZE] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, static uint8_t zeros[PICOPASS_BLOCK_SIZE] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static int CmdHelp(const char *Cmd); -static void printIclassSIO(uint8_t *iclass_dump); +static void print_iclass_sio(uint8_t *iclass_dump, size_t dump_len); static uint8_t iClass_Key_Table[ICLASS_KEYS_MAX][PICOPASS_BLOCK_SIZE] = { { 0xAE, 0xA6, 0x84, 0xA6, 0xDA, 0xB2, 0x32, 0x78 }, @@ -1215,7 +1215,7 @@ static int CmdHFiClassEView(const char *Cmd) { printIclassDumpContents(dump, 1, blocks, bytes, dense_output); if (verbose) { - printIclassSIO(dump); + print_iclass_sio(dump, bytes); } free(dump); @@ -1266,7 +1266,8 @@ static int CmdHFiClassESetBlk(const char *Cmd) { } static void iclass_decode_credentials(uint8_t *data) { - if (memcmp(data + (5 * PICOPASS_BLOCK_SIZE), "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { + picopass_hdr_t *hdr = (picopass_hdr_t *)data; + if (memcmp(hdr->app_issuer_area, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { // Not a Legacy or SR card, nothing to do here. return; } @@ -1502,7 +1503,7 @@ static int CmdHFiClassDecrypt(const char *Cmd) { printIclassDumpContents(decrypted, 1, (decryptedlen / 8), decryptedlen, dense_output); if (verbose) { - printIclassSIO(decrypted); + print_iclass_sio(decrypted, decryptedlen); } PrintAndLogEx(NORMAL, ""); @@ -2750,67 +2751,99 @@ static int CmdHFiClass_loclass(const char *Cmd) { return bruteforceFileNoKeys(filename); } -static void detect_credential(uint8_t *data, bool *legacy, bool *se, bool *sr) { - *legacy = false; - *sr = false; - *se = false; +static void detect_credential(uint8_t *iclass_dump, size_t dump_len, bool *is_legacy, bool *is_se, bool *is_sr, uint8_t **sio_start_ptr, size_t *sio_length) { + *is_legacy = false; + *is_sr = false; + *is_se = false; + if (sio_start_ptr != NULL) { + *sio_start_ptr = NULL; + } + if (sio_length != NULL) { + *sio_length = 0; + } + if (dump_len < sizeof(picopass_hdr_t)) { + // Can't really do anything with a dump that doesn't include the header + return; + } + + picopass_hdr_t *hdr = (picopass_hdr_t *)iclass_dump; + + if (!memcmp(hdr->app_issuer_area, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { // Legacy AIA - if (!memcmp(data + (5 * PICOPASS_BLOCK_SIZE), "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { - *legacy = true; + *is_legacy = true; - // SR bit set in legacy config block - if ((data[6 * PICOPASS_BLOCK_SIZE] & ICLASS_CFG_BLK_SR_BIT) == ICLASS_CFG_BLK_SR_BIT) { - // If the card is blank (all FF's) then we'll reach here too, so check for an empty block 10 - // to avoid false positivies - if (memcmp(data + (10 * PICOPASS_BLOCK_SIZE), "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { - *sr = true; - } + if (dump_len < 11 * PICOPASS_BLOCK_SIZE) { + // Can't reliably detect if the card is SR without checking + // blocks 6 and 10 + return; } + // SR bit set in legacy config block + if ((iclass_dump[6 * PICOPASS_BLOCK_SIZE] & ICLASS_CFG_BLK_SR_BIT) == ICLASS_CFG_BLK_SR_BIT) { + // If the card is blank (all FF's) then we'll reach here too, so check for an empty block 10 + // to avoid false positivies + if (memcmp(iclass_dump + (10 * PICOPASS_BLOCK_SIZE), "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { + *is_sr = true; + if (sio_start_ptr != NULL) { + // SR SIO starts at block 10 + *sio_start_ptr = iclass_dump + (10 * PICOPASS_BLOCK_SIZE); + } + } + } + } else if (!memcmp(hdr->app_issuer_area, "\xFF\xFF\xFF\x00\x06\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { + // SE AIA + *is_se = true; + + if (sio_start_ptr != NULL) { + // SE SIO starts at block 6 + *sio_start_ptr = iclass_dump + (6 * PICOPASS_BLOCK_SIZE); + } + } + + if (sio_length == NULL || sio_start_ptr == NULL || *sio_start_ptr == NULL) { + // No need to calculate length return; } - // SE AIA - if (!memcmp(data + (5 * PICOPASS_BLOCK_SIZE), "\xFF\xFF\xFF\x00\x06\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { - *se = true; + uint8_t *sio_start = *sio_start_ptr; + + if (sio_start[0] != 0x30) { + // SIOs always start with a SEQUENCE(P), if this is missing then bail return; } + + if (sio_start[1] >= 0x80 || sio_start[1] == 0x00) { + // We only support definite short form lengths + return; + } + + // Length of bytes within the SEQUENCE, plus tag and length bytes for the SEQUENCE tag + *sio_length = sio_start[1] + 2; } // print ASN1 decoded array in TLV view -static void printIclassSIO(uint8_t *iclass_dump) { - bool isLegacy, isSE, isSR; - detect_credential(iclass_dump, &isLegacy, &isSE, &isSR); - +static void print_iclass_sio(uint8_t *iclass_dump, size_t dump_len) { + bool is_legacy, is_se, is_sr; uint8_t *sio_start; - if (isSE) { - // SE SIO starts at block 6 - sio_start = iclass_dump + (6 * PICOPASS_BLOCK_SIZE); - } else if (isSR) { - // SR SIO starts at block 10 - sio_start = iclass_dump + (10 * PICOPASS_BLOCK_SIZE); - } else { - // No SIO on Legacy credentials + size_t sio_length; + detect_credential(iclass_dump, dump_len, &is_legacy, &is_se, &is_sr, &sio_start, &sio_length); + + if (sio_start == NULL) { return; } - // Readers assume the SIO always fits within 7 blocks (they don't read any further blocks) - // Search backwards to find the last 0x05 0x00 seen at the end of the SIO - const uint8_t pattern_sio_end[] = {0x05, 0x00}; - int dlen = byte_strrstr(sio_start, 7 * PICOPASS_BLOCK_SIZE, pattern_sio_end, 2); - if (dlen == -1) { + if (dump_len < sio_length + (sio_start - iclass_dump)) { + // SIO length exceeds the size of the dump we have, bail return; } - dlen += sizeof(pattern_sio_end); - PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "---------------------------- " _CYAN_("SIO - RAW") " ----------------------------"); - print_hex_noascii_break(sio_start, dlen, 32); + print_hex_noascii_break(sio_start, sio_length, 32); PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "------------------------- " _CYAN_("SIO - ASN1 TLV") " --------------------------"); - asn1_print(sio_start, dlen, " "); + asn1_print(sio_start, sio_length, " "); PrintAndLogEx(NORMAL, ""); } @@ -2862,9 +2895,17 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e ); */ - bool isLegacy = false, isSE = false, isSR = false; - if (filemaxblock >= 17) { - detect_credential(iclass_dump, &isLegacy, &isSE, &isSR); + bool is_legacy, is_se, is_sr; + uint8_t *sio_start; + size_t sio_length; + detect_credential(iclass_dump, endblock * 8, &is_legacy, &is_se, &is_sr, &sio_start, &sio_length); + + bool is_legacy_decrypted = is_legacy && (iclass_dump[(6 * PICOPASS_BLOCK_SIZE) + 7] & 0x03) == 0x00; + + int sio_start_block = 0, sio_end_block = 0; + if (sio_start && sio_length > 0) { + sio_start_block = (sio_start - iclass_dump) / PICOPASS_BLOCK_SIZE; + sio_end_block = sio_start_block + (sio_length + PICOPASS_BLOCK_SIZE - 1) / PICOPASS_BLOCK_SIZE - 1; } int i = startblock; @@ -2937,32 +2978,25 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e } else { const char *info_ks[] = {"CSN", "Config", "E-purse", "Debit", "Credit", "AIA", "User"}; - if (i >= 6 && i <= 9 && isLegacy && isSE == false) { + if (i >= 6 && i <= 9 && is_legacy) { // legacy credential - PrintAndLogEx(INFO, "%3d/0x%02X | " _YELLOW_("%s") "| " _YELLOW_("%s") " | %s | User / Cred " + PrintAndLogEx(INFO, "%3d/0x%02X | " _YELLOW_("%s") "| " _YELLOW_("%s") " | %s | User / %s " , i , i , sprint_hex(blk, 8) , sprint_ascii(blk, 8) , lockstr + , i == 6 ? "HID CFG" : (is_legacy_decrypted ? "Cred" : "Enc Cred") ); - } else if (i >= 6 && i <= 12 && isSE) { + } else if (sio_start_block != 0 && i >= sio_start_block && i <= sio_end_block) { // SIO credential - PrintAndLogEx(INFO, "%3d/0x%02X | " _CYAN_("%s") "| " _CYAN_("%s") " | %s | User / SIO / SE" - , i - , i - , sprint_hex(blk, 8) - , sprint_ascii(blk, 8) - , lockstr - ); - } else if (i >= 10 && i <= 16 && isSR) { - // SIO credential - PrintAndLogEx(INFO, "%3d/0x%02X | " _CYAN_("%s") "| " _CYAN_("%s") " | %s | User / SIO / SR" + PrintAndLogEx(INFO, "%3d/0x%02X | " _CYAN_("%s") "| " _CYAN_("%s") " | %s | User / SIO / %s" , i , i , sprint_hex(blk, 8) , sprint_ascii(blk, 8) , lockstr + , is_se ? "SE" : "SR" ); } else { if (i < 6) { @@ -2977,7 +3011,7 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e if (regular_print_block) { // suppress repeating blocks, truncate as such that the first and last block with the same data is shown - // but the blocks in between are replaced with a single line of "*" if dense_output is enabled + // but the blocks in between are replaced with a single line of "......" if dense_output is enabled if (dense_output && i > 6 && i < (endblock - 1) && !in_repeated_block && !memcmp(blk, blk - 8, 8) && !memcmp(blk, blk + 8, 8) && !memcmp(blk, blk + 16, 8)) { // we're in a user block that isn't the first user block nor last two user blocks, @@ -3003,13 +3037,13 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e i++; } PrintAndLogEx(INFO, "---------+-------------------------+----------+---+----------------"); - if (isLegacy) + if (is_legacy) PrintAndLogEx(HINT, _YELLOW_("yellow") " = legacy credential"); - if (isSE) + if (is_se) PrintAndLogEx(HINT, _CYAN_("cyan") " = SIO / SE credential"); - if (isSR) + if (is_sr) PrintAndLogEx(HINT, _CYAN_("cyan") " = SIO / SR credential"); PrintAndLogEx(NORMAL, ""); @@ -3067,7 +3101,7 @@ static int CmdHFiClassView(const char *Cmd) { iclass_decode_credentials(dump); if (verbose) { - printIclassSIO(dump); + print_iclass_sio(dump, bytes_read); } free(dump); @@ -4535,13 +4569,13 @@ int info_iclass(bool shallow_mod) { memcpy(aia, hdr->app_issuer_area, sizeof(aia)); } - // if CSN ends with FF12E0, it's inside HID CSN range. - bool isHidRange = (memcmp(hdr->csn + 5, "\xFF\x12\xE0", 3) == 0); + // if CSN starts with E012FFF (big endian), it's inside HID CSN range. + bool is_hid_range = (hdr->csn[4] & 0xF0) == 0xF0 && (memcmp(hdr->csn + 5, "\xFF\x12\xE0", 3) == 0); - bool legacy = (memcmp(aia, "\xff\xff\xff\xff\xff\xff\xff\xff", 8) == 0); - bool se_enabled = (memcmp(aia, "\xff\xff\xff\x00\x06\xff\xff\xff", 8) == 0); + if (is_hid_range) { + bool legacy = (memcmp(aia, "\xff\xff\xff\xff\xff\xff\xff\xff", 8) == 0); + bool se_enabled = (memcmp(aia, "\xff\xff\xff\x00\x06\xff\xff\xff", 8) == 0); - if (isHidRange) { PrintAndLogEx(SUCCESS, " CSN.......... " _YELLOW_("HID range")); if (legacy) PrintAndLogEx(SUCCESS, " Credential... " _GREEN_("iCLASS legacy")); From 3243414c20b8fec611c08e7daedcba73a73f7522 Mon Sep 17 00:00:00 2001 From: Adam Jon Foster Date: Thu, 5 Oct 2023 17:37:29 +0800 Subject: [PATCH 042/278] Update mfc_default_keys.dic Added Keys found on old cards plus notes on another key sighting Signed-off-by: Adam Jon Foster --- client/dictionaries/mfc_default_keys.dic | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 0578bfee4..12b0fd0a1 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -966,7 +966,7 @@ D58660D1ACDE C01FC822C6E5 0854BF31111E # -# More keys +# More keys - Found 8A at Sebel Hotel in Canberra, Australia 8A19D40CF2B5 AE8587108640 # @@ -2229,3 +2229,13 @@ EDC317193709 A1670589B2AF # SF Hotel (SoMa area) 2E0F00700000 + +# Unknown PACS from Western Australia +CA80E51FA52B +A71E80EA35E1 +05597810D63D + +# Hotel Key from Las Vegas +EA0CA627FD06 +80BB8436024C +5044068C5183 From 3d9d8253a6ba4b19e5430ef8a5442f1472f402e0 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 7 Oct 2023 12:20:51 +0200 Subject: [PATCH 043/278] maur --- client/dictionaries/mfc_default_keys.dic | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 12b0fd0a1..019781664 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -141,6 +141,10 @@ F1D83F964314 FFF011223358 FF9F11223358 # +# Elevator system Kherson, Ukraine +AC37E76385F5 +576DCFFF2F25 +# # more Keys from mfc_default_keys.lua 000000000001 000000000002 @@ -2229,13 +2233,13 @@ EDC317193709 A1670589B2AF # SF Hotel (SoMa area) 2E0F00700000 - +# # Unknown PACS from Western Australia CA80E51FA52B A71E80EA35E1 05597810D63D - +# # Hotel Key from Las Vegas EA0CA627FD06 80BB8436024C -5044068C5183 +5044068C5183 \ No newline at end of file From 385c1c5702b032f4516537bc8e6922aae15cea66 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 11:03:56 +0200 Subject: [PATCH 044/278] text --- .../Linux-Installation-Instructions.md | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 3172fdecc..1766dda9d 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -8,6 +8,8 @@ - [External resources](#external-resources) - [Install the required dependencies](#install-the-required-dependencies) - [On Debian / Ubuntu / Kali / ParrotOS / Raspbian](#on-debian--ubuntu--kali--parrotos--raspbian) + - [If you don't need...](#if-you-dont-need) + - [failed to load module...](#failed-to-load-module) - [On ArchLinux](#on-archlinux) - [On Fedora](#on-fedora) - [On openSUSE](#on-opensuse) @@ -50,16 +52,24 @@ Install the requirements ```sh sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \ -libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev +libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev \ +libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev ``` -If you don't need the native Bluetooth support in the client, you can skip the installation of `libbluetooth-dev`. +### If you don't need... +👉 If you don't need the native Bluetooth support in the client, +you can skip the installation of `libbluetooth-dev`. -If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qtbase5-dev`. +👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), +you can skip the installation of `qtbase5-dev`. -If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `libpython3-dev`. +👉 If you don't need support for Python3 scripts in the Proxmark3 client, +you can skip the installation of `libpython3-dev`. + +### failed to load module... +⚠ If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ +you may have to install `libcanberra-gtk-module`. -If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`. ## On ArchLinux ^[Top](#top) From ac43176dbf10a9e659f5aed41571ec0ded56a0ca Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 11:10:39 +0200 Subject: [PATCH 045/278] text --- .../Linux-Installation-Instructions.md | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 1766dda9d..20a93b52b 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -9,9 +9,11 @@ - [Install the required dependencies](#install-the-required-dependencies) - [On Debian / Ubuntu / Kali / ParrotOS / Raspbian](#on-debian--ubuntu--kali--parrotos--raspbian) - [If you don't need...](#if-you-dont-need) - - [failed to load module...](#failed-to-load-module) + - [Failed to load module...](#failed-to-load-module) - [On ArchLinux](#on-archlinux) + - [If you don't need...](#if-you-dont-need-1) - [On Fedora](#on-fedora) + - [If you don't need...](#if-you-dont-need-2) - [On openSUSE](#on-opensuse) - [Clone the Iceman repository](#clone-the-iceman-repository) - [Check ModemManager](#check-modemmanager) @@ -42,7 +44,9 @@ You might want to follow one of these external resources to get an overview, but ## On Debian / Ubuntu / Kali / ParrotOS / Raspbian ^[Top](#top) -First what we want to do is get an update for the system. If you need to upgrade do this **before** the install. An upgrade was carried out prior to following these instructions. +First what we want to do is get an update for the system. If you need to apply updates do this **before** the install. + +We assume your system was patched with latest updates prior to following these instructions. Update the packages list ```sh @@ -66,8 +70,8 @@ you can skip the installation of `qtbase5-dev`. 👉 If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `libpython3-dev`. -### failed to load module... -⚠ If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ +### Failed to load module... +⚠️ If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`. @@ -75,33 +79,48 @@ you may have to install `libcanberra-gtk-module`. ^[Top](#top) ```sh -sudo pacman -Syu git base-devel readline bzip2 lz4 arm-none-eabi-gcc arm-none-eabi-newlib qt5-base bluez python --needed +sudo pacman -Syu git base-devel readline bzip2 lz4 arm-none-eabi-gcc \ +arm-none-eabi-newlib qt5-base bluez python --needed ``` -If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez`. +### If you don't need... +👉 If you don't need the native Bluetooth support in the client, +you can skip the installation of `bluez`. -If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-base`. +👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), +you can skip the installation of `qt5-base`. + +👉 If you don't need support for Python3 scripts in the Proxmark3 client, +you can skip the installation of `python`. -If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python`. ## On Fedora ^[Top](#top) ```sh -sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel bzip2-devel lz4-devel qt5-qtbase-devel bluez-libs-devel python3-devel libatomic openssl-devel +sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib \ +readline-devel bzip2-devel lz4-devel qt5-qtbase-devel bluez-libs-devel \ +python3-devel libatomic openssl-devel ``` -If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez-libs-devel`. +### If you don't need... +👉 If you don't need the native Bluetooth support in the client, +you can skip the installation of `bluez-libs-devel`. -If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-qtbase-devel`. +👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), +you can skip the installation of `qt5-qtbase-devel`. + +👉 If you don't need support for Python3 scripts in the Proxmark3 client, +you can skip the installation of `python3-devel`. -If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python3-devel`. ## On openSUSE ^[Top](#top) ```sh -sudo zypper install git patterns-devel-base-devel_basis gcc-c++ readline-devel libbz2-devel liblz4-devel cross-arm-none-gcc9 cross-arm-none-newlib-devel python3-devel libqt5-qtbase-devel libopenssl-devel +sudo zypper install git patterns-devel-base-devel_basis gcc-c++ \ +readline-devel libbz2-devel liblz4-devel cross-arm-none-gcc9 \ +cross-arm-none-newlib-devel python3-devel libqt5-qtbase-devel libopenssl-devel ``` Note that Bluez is not available on openSUSE so the native Bluetooth support won't be available in the client. @@ -145,7 +164,7 @@ And a new `/dev/ttyACM0` should have appeared. # Get permissions to use /dev/ttyACM0 ^[Top](#top) -Add current user to the proper group to get permission to use `/dev/ttyACM0`. +Add current user to the proper groups to get permission to use `/dev/ttyACM0`. This step can be done from the Iceman Proxmark3 repo with: From 5ad85d55d71023db157a721107ab6cb23f209432 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 11:12:26 +0200 Subject: [PATCH 046/278] text --- .../Linux-Installation-Instructions.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 20a93b52b..9f97c3af2 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -44,9 +44,8 @@ You might want to follow one of these external resources to get an overview, but ## On Debian / Ubuntu / Kali / ParrotOS / Raspbian ^[Top](#top) -First what we want to do is get an update for the system. If you need to apply updates do this **before** the install. - -We assume your system was patched with latest updates prior to following these instructions. +First what we want to do is get an update for the system. If you need to apply updates do this **before** installing the Proxmark3 software. +An system upgrade was carried out prior to following these instructions. Update the packages list ```sh From f52b3faa3cc668209855ee4af557e2ef54028bcb Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 11:14:21 +0200 Subject: [PATCH 047/278] text --- .../Linux-Installation-Instructions.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 9f97c3af2..7e3478b15 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -15,6 +15,7 @@ - [On Fedora](#on-fedora) - [If you don't need...](#if-you-dont-need-2) - [On openSUSE](#on-opensuse) + - [If you don't need...](#if-you-dont-need-3) - [Clone the Iceman repository](#clone-the-iceman-repository) - [Check ModemManager](#check-modemmanager) - [⚠️ Very important ⚠️](#️-very-important-️) @@ -124,9 +125,13 @@ cross-arm-none-newlib-devel python3-devel libqt5-qtbase-devel libopenssl-devel Note that Bluez is not available on openSUSE so the native Bluetooth support won't be available in the client. -If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `libqt5-qtbase-devel`. +### If you don't need... +👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), +you can skip the installation of `libqt5-qtbase-devel`. + +👉 If you don't need support for Python3 scripts in the Proxmark3 client, +you can skip the installation of `python3-devel`. -If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python3-devel`. # Clone the Iceman repository ^[Top](#top) From ea01fa5656cd97435f9f2490a987f32257599ae6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 11:18:54 +0200 Subject: [PATCH 048/278] text --- .../Linux-Installation-Instructions.md | 6 ++++-- .../Windows-Installation-Instructions.md | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md index 7e3478b15..496e14be2 100644 --- a/doc/md/Installation_Instructions/Linux-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Linux-Installation-Instructions.md @@ -16,7 +16,7 @@ - [If you don't need...](#if-you-dont-need-2) - [On openSUSE](#on-opensuse) - [If you don't need...](#if-you-dont-need-3) -- [Clone the Iceman repository](#clone-the-iceman-repository) +- [Clone the repository](#clone-the-repository) - [Check ModemManager](#check-modemmanager) - [⚠️ Very important ⚠️](#️-very-important-️) - [Check connection](#check-connection) @@ -51,6 +51,8 @@ An system upgrade was carried out prior to following these instructions. Update the packages list ```sh sudo apt-get update +sudo apt-get upgrade -y +sudo apt-get auto-remove -y ``` Install the requirements @@ -133,7 +135,7 @@ you can skip the installation of `libqt5-qtbase-devel`. you can skip the installation of `python3-devel`. -# Clone the Iceman repository +# Clone the repository ^[Top](#top) ```sh diff --git a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md index bc29aba6a..f14f772aa 100644 --- a/doc/md/Installation_Instructions/Windows-Installation-Instructions.md +++ b/doc/md/Installation_Instructions/Windows-Installation-Instructions.md @@ -168,7 +168,8 @@ Install dependencies: ```sh sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \ -libreadline-dev gcc-arm-none-eabi libnewlib-dev libbz2-dev liblz4-dev libpython3-dev qtbase5-dev libssl-dev +libreadline-dev gcc-arm-none-eabi libnewlib-dev \ +libbz2-dev liblz4-dev libpython3-dev qtbase5-dev libssl-dev ``` _note_ If you don't need the graphical components of the Proxmark3 client, you can skip the installation of `qtbase5-dev`. From 60ff2351ba48d6ce0fb4f3a9aa4e926e9e560c03 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 12:47:00 +0200 Subject: [PATCH 049/278] text --- armsrc/Standalone/hf_msdsal.c | 121 +++++++++++++++++----------------- armsrc/iso14443a.c | 49 +++++++++----- 2 files changed, 92 insertions(+), 78 deletions(-) diff --git a/armsrc/Standalone/hf_msdsal.c b/armsrc/Standalone/hf_msdsal.c index f97a2e57f..4ce074cf9 100644 --- a/armsrc/Standalone/hf_msdsal.c +++ b/armsrc/Standalone/hf_msdsal.c @@ -30,7 +30,7 @@ #include "cmd.h" void ModInfo(void) { - DbpString(" HF - Reading Visa cards & Emulating a Visa MSD Transaction(ISO14443) - (Salvador Mendoza)"); + DbpString(" HF - Reading VISA cards & Emulating a VISA MSD Transaction(ISO14443) - (Salvador Mendoza)"); } /* This standalone implements two different modes: reading and emulating. @@ -132,9 +132,15 @@ static uint8_t treatPDOL(const uint8_t *apdu) { void RunMod(void) { StandAloneMode(); - DbpString(_YELLOW_(">>") "Reading Visa cards & Emulating a Visa MSD Transaction a.k.a. MSDSal Started " _YELLOW_("<<")); + DbpString(""); + DbpString(_YELLOW_(">>>") " Reading VISA cards & Emulating a VISA MSD Transaction a.k.a. MSDSal Started " _YELLOW_("<<<")); + DbpString(""); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + // free eventually allocated BigBuf memory but keep Emulator Memory + // also sets HIGH pointer of BigBuf enabling us to malloc w/o fiddling w the reserved emulator memory + BigBuf_free_keep_EM(); + //For reading process iso14a_card_select_t card_a_info; @@ -161,7 +167,6 @@ void RunMod(void) { bool existpdol; - // - MSD token card format - // //Card number: 4412 3456 0578 1234 @@ -175,34 +180,31 @@ void RunMod(void) { char token[19] = {0x00}; bool chktoken = false; - // Allocate 512 bytes for the dynamic modulation, created when the reader queries for it - // Such a response is less time critical, so we can prepare them on the fly -#define DYNAMIC_RESPONSE_BUFFER_SIZE 64 -#define DYNAMIC_MODULATION_BUFFER_SIZE 512 - // UID 4 bytes(could be 7 bytes if needed it) uint8_t flags = FLAG_4B_UID_IN_DATA; // in case there is a read command received we shouldn't break uint8_t data[PM3_CMD_DATA_SIZE] = {0x00}; - uint8_t visauid[7] = {0x01, 0x02, 0x03, 0x04}; + uint8_t visauid[7] = {0x04, 0x02, 0x03, 0x04}; memcpy(data, visauid, 4); // to initialize the emulation - uint8_t tagType = 11; // 11 = ISO/IEC 14443-4 - javacard (JCOP) tag_response_info_t *responses; + uint32_t cuid = 0; - uint32_t counters[3] = { 0x00, 0x00, 0x00 }; - uint8_t tearings[3] = { 0xbd, 0xbd, 0xbd }; - uint8_t pages = 0; // command buffers uint8_t receivedCmd[MAX_FRAME_SIZE] = { 0x00 }; uint8_t receivedCmdPar[MAX_PARITY_SIZE] = { 0x00 }; - uint8_t dynamic_response_buffer[DYNAMIC_RESPONSE_BUFFER_SIZE] = {0}; - uint8_t dynamic_modulation_buffer[DYNAMIC_MODULATION_BUFFER_SIZE] = {0}; + // Allocate 512 bytes for the dynamic modulation, created when the reader queries for it + // Such a response is less time critical, so we can prepare them on the fly +#define DYNAMIC_RESPONSE_BUFFER_SIZE 64 +#define DYNAMIC_MODULATION_BUFFER_SIZE 512 + + uint8_t *dynamic_response_buffer = BigBuf_calloc(DYNAMIC_RESPONSE_BUFFER_SIZE); + uint8_t *dynamic_modulation_buffer = BigBuf_calloc(DYNAMIC_MODULATION_BUFFER_SIZE); // to know the transaction status uint8_t prevCmd = 0; @@ -223,11 +225,11 @@ void RunMod(void) { // Checking if the user wants to go directly to emulation mode using a hardcoded track 2 if (chktoken == true && token[0] != 0x00) { state = STATE_EMU; - DbpString(_YELLOW_("[ ") "Initialized emulation mode" _YELLOW_(" ]")); - DbpString("\n"_YELLOW_("!!") "Waiting for a card reader..."); + DbpString("Initialized [ " _BLUE_("emulation mode") " ]"); + DbpString("Waiting for a card reader..."); } else { - DbpString(_YELLOW_("[ ") "Initialized reading mode" _YELLOW_(" ]")); - DbpString("\n"_YELLOW_("!!") "Waiting for a Visa card..."); + DbpString("Initialized [ " _YELLOW_("reading mode") " ]"); + DbpString("Waiting for a VISA card..."); } for (;;) { @@ -240,20 +242,20 @@ void RunMod(void) { int button_pressed = BUTTON_HELD(1000); - if (button_pressed == BUTTON_HOLD) + if (button_pressed == BUTTON_HOLD) { break; - else if (button_pressed == BUTTON_SINGLE_CLICK) { + } else if (button_pressed == BUTTON_SINGLE_CLICK) { // pressing one time change between reading & emulation if (state == STATE_READ) { if (chktoken == true && token[0] != 0x00) { // only change to emulation if it saved a track 2 in memory state = STATE_EMU; - DbpString(_YELLOW_("[ ") "In emulation mode" _YELLOW_(" ]")); + DbpString("[ " _BLUE_("Emulation mode") " ]"); } else - DbpString(_YELLOW_("!!") "Nothing in memory to emulate"); + DbpString(_YELLOW_("Nothing in memory to emulate")); } else { state = STATE_READ; - DbpString(_YELLOW_("[ ") "In reading mode" _YELLOW_(" ]")); + DbpString("[ " _YELLOW_("Reading mode") " ]"); } } @@ -261,15 +263,14 @@ void RunMod(void) { if (state == STATE_READ) { LED_A_ON(); - if (chktoken) + if (chktoken) { LED_C_ON(); + } iso14443a_setup(FPGA_HF_ISO14443A_READER_MOD); if (iso14443a_select_card(NULL, &card_a_info, NULL, true, 0, false)) { - DbpString(_YELLOW_("+") "Found ISO 14443 Type A!"); - for (uint8_t i = 0; i < 4; i++) { chktoken = false; LED_C_OFF(); @@ -277,11 +278,11 @@ void RunMod(void) { uint8_t apdulen = iso14_apdu(apdus[i], (uint16_t) apduslen[i], false, apdubuffer, NULL); if (apdulen > 0) { - DbpString(_YELLOW_("[ ") "Proxmark command" _YELLOW_(" ]")); + DbpString("[ " _YELLOW_("Proxmark command") " ]"); Dbhexdump(apduslen[i], apdus[i], false); - DbpString(_GREEN_("[ ") "Card answer" _GREEN_(" ]")); + DbpString("[ " _GREEN_( "Card answer") " ]"); Dbhexdump(apdulen - 2, apdubuffer, false); - DbpString("----"); + DbpString("-------------------------------"); for (uint8_t u = 0; u < apdulen; u++) { if (i == 1) { @@ -309,25 +310,27 @@ void RunMod(void) { } if (i == 1) { - DbpString(_GREEN_("[ ") "Challenge generated" _GREEN_(" ]")); + DbpString("[ "_GREEN_("Challenge generated") " ]"); Dbhexdump(plen, existpdol ? ppdol : processing, false); } } else { - DbpString(_YELLOW_("!!") "Error reading the card"); + DbpString(_RED_("Error reading the card")); } LED_B_OFF(); } if (chktoken) { - DbpString(_RED_("[ ") "Track 2" _RED_(" ]")); + DbpString("[ " _GREEN_("Track 2") " ]"); Dbhexdump(19, (uint8_t *)token, false); - DbpString(_YELLOW_("!!") "Card number"); + DbpString("[ " _GREEN_("Card Number") " ]"); Dbhexdump(8, (uint8_t *)token, false); - DbpString("---"); + DbpString("-------------------------------"); + DbpString(""); + DbpString(""); LED_C_ON(); state = STATE_EMU; - DbpString(_YELLOW_("[ ") "Initialized emulation mode" _YELLOW_(" ]")); - DbpString("\n"_YELLOW_("!!") "Waiting for a card reader..."); + DbpString("Initialized [ " _BLUE_("emulation mode") " ]"); + DbpString("Waiting for a card reader..."); } } FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); @@ -340,14 +343,15 @@ void RunMod(void) { // free eventually allocated BigBuf memory but keep Emulator Memory BigBuf_free_keep_EM(); - if (SimulateIso14443aInit(tagType, flags, data, &responses, &cuid, counters, tearings, &pages) == false) { + // tag type: 11 = ISO/IEC 14443-4 - javacard (JCOP) + if (SimulateIso14443aInit(11, flags, data, &responses, &cuid, NULL, NULL, NULL) == false) { BigBuf_free_keep_EM(); reply_ng(CMD_HF_MIFARE_SIMULATE, PM3_EINIT, NULL, 0); - DbpString(_YELLOW_("!!") "Error initializing the emulation process!"); + DbpString(_RED_("Error initializing the emulation process!")); SpinDelay(500); state = STATE_READ; - DbpString(_YELLOW_("[ ") "Initialized reading mode" _YELLOW_(" ]")); - DbpString("\n" _YELLOW_("!!") "Waiting for a Visa card..."); + DbpString("Initialized [ "_YELLOW_("reading mode") " ]"); + DbpString("Waiting for a VISA card..."); continue; } @@ -366,11 +370,12 @@ void RunMod(void) { for (;;) { LED_B_OFF(); // clean receive command buffer - if (!GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len)) { - DbpString(_YELLOW_("!!") "Emulator stopped"); + if (GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len) == false) { + DbpString("Emulator stopped"); retval = PM3_EOPABORTED; break; } + tag_response_info_t *p_response = NULL; LED_B_ON(); @@ -387,41 +392,33 @@ void RunMod(void) { // received a HALT } else if (receivedCmd[0] == ISO14443A_CMD_HALT && len == 4) { - //DbpString(_YELLOW_("+") "Received a HALT"); p_response = NULL; // received a WAKEUP } else if (receivedCmd[0] == ISO14443A_CMD_WUPA && len == 1) { - //DbpString(_YELLOW_("+") "WAKEUP Received"); prevCmd = 0; p_response = &responses[RESP_INDEX_ATQA]; // received request for UID (cascade 1) } else if (receivedCmd[1] == 0x20 && receivedCmd[0] == ISO14443A_CMD_ANTICOLL_OR_SELECT && len == 2) { - //DbpString(_YELLOW_("+") "Request for UID C1"); p_response = &responses[RESP_INDEX_UIDC1]; // received a SELECT (cascade 1) } else if (receivedCmd[1] == 0x70 && receivedCmd[0] == ISO14443A_CMD_ANTICOLL_OR_SELECT && len == 9) { - //DbpString(_YELLOW_("+") "Request for SELECT S1"); p_response = &responses[RESP_INDEX_SAKC1]; // received a RATS request } else if (receivedCmd[0] == ISO14443A_CMD_RATS && len == 4) { - DbpString(_YELLOW_("+") "Request for RATS"); prevCmd = 0; - //p_response = &responses[RESP_INDEX_RATS]; - - static uint8_t rRATS[] = { 0x13, 0x78, 0x80, 0x72, 0x02, 0x80, 0x31, 0x80, 0x66, 0xb1, 0x84, 0x0c, 0x01, 0x6e, 0x01, 0x83, 0x00, 0x90, 0x00 }; - - memcpy(&dynamic_response_info.response[0], rRATS, sizeof(rRATS)); - dynamic_response_info.response_n = sizeof(rRATS); + p_response = &responses[RESP_INDEX_RATS]; } else { - DbpString(_YELLOW_("[ ") "Card reader command" _YELLOW_(" ]")); - Dbhexdump(len, receivedCmd, false); + if (g_dbglevel == DBG_DEBUG ) { + DbpString("[ "_YELLOW_("Card reader command") " ]"); + Dbhexdump(len, receivedCmd, false); + } - // emulate a Visa MSD(Magnetic stripe data) card + // emulate a Visa MSD (Magnetic stripe data) card if (receivedCmd[0] == 0x02 || receivedCmd[0] == 0x03) { dynamic_response_info.response[0] = receivedCmd[0]; @@ -480,7 +477,7 @@ void RunMod(void) { } } } else { - DbpString(_YELLOW_("!!") "Received unknown command!"); + DbpString(_RED_("Received unknown command!")); if (prevCmd < 4) { memcpy(dynamic_response_info.response, receivedCmd, len); dynamic_response_info.response_n = len; @@ -491,7 +488,7 @@ void RunMod(void) { } if (dynamic_response_info.response_n > 0) { - DbpString(_GREEN_("[ ") "Proxmark3 answer" _GREEN_(" ]")); + DbpString("[ " _GREEN_("Proxmark3 answer") " ]"); Dbhexdump(dynamic_response_info.response_n, dynamic_response_info.response, false); DbpString("----"); @@ -501,7 +498,7 @@ void RunMod(void) { if (prepare_tag_modulation(&dynamic_response_info, DYNAMIC_MODULATION_BUFFER_SIZE) == false) { SpinDelay(500); - DbpString(_YELLOW_("!!") "Error preparing Proxmark to answer!"); + DbpString(_RED_("Error preparing Proxmark to answer!")); continue; } p_response = &dynamic_response_info; @@ -518,6 +515,8 @@ void RunMod(void) { reply_ng(CMD_HF_MIFARE_SIMULATE, retval, NULL, 0); } } - DbpString(_YELLOW_("[=]") "exiting"); + DbpString("Exit standalone mode!"); + DbpString(""); + SpinErr(15, 200, 3); LEDsoff(); } diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 346669398..d1b63264e 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1021,7 +1021,8 @@ bool prepare_allocated_tag_modulation(tag_response_info_t *response_info, uint8_ } } -bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_response_info_t **responses, uint32_t *cuid, uint32_t counters[3], uint8_t tearings[3], uint8_t *pages) { +bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_response_info_t **responses, + uint32_t *cuid, uint32_t counters[3], uint8_t tearings[3], uint8_t *pages) { uint8_t sak = 0; // The first response contains the ATQA (note: bytes are transmitted in reverse order). static uint8_t rATQA[2] = { 0x00 }; @@ -1038,8 +1039,13 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r // Prepare the optional third SAK (for 10 byte UID), drop the cascade bit static uint8_t rSAKc3[3] = { 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS + // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, + // TA(1) = 0x80: different divisors not supported, DR = 1, DS = 1 + // TB(1) = not present. Defaults: FWI = 4 (FWT = 256 * 16 * 2^4 * 1/fc = 4833us), SFGI = 0 (SFG = 256 * 16 * 2^0 * 1/fc = 302us) + // TC(1) = 0x02: CID supported, NAD not supported // static uint8_t rRATS[] = { 0x04, 0x58, 0x80, 0x02, 0x00, 0x00 }; - static uint8_t rRATS[] = { 0x05, 0x75, 0x80, 0x60, 0x02, 0x00, 0x00, 0x00 }; + static uint8_t rRATS[40] = { 0x05, 0x75, 0x80, 0x60, 0x02, 0x00, 0x00, 0x00 }; + uint8_t rRATS_len = 8; // GET_VERSION response for EV1/NTAG static uint8_t rVERSION[10] = { 0x00 }; @@ -1092,6 +1098,7 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r rATQA[1] = 0x03; sak = 0x20; memcpy(rRATS, "\x06\x75\x77\x81\x02\x80\x00\x00", 8); + rRATS_len = 8; break; } case 4: { // ISO/IEC 14443-4 - javacard (JCOP) @@ -1158,7 +1165,10 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r sak = 0x20; break; } - case 11: { // ISO/IEC 14443-4 - javacard (JCOP) + case 11: { // ISO/IEC 14443-4 - javacard (JCOP) / EMV + + memcpy(rRATS, "\x13\x78\x80\x72\x02\x80\x31\x80\x66\xb1\x84\x0c\x01\x6e\x01\x83\x00\x90\x00", 19); + rRATS_len = 19; rATQA[0] = 0x04; sak = 0x20; break; @@ -1266,11 +1276,7 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r return false; } - // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, - // TA(1) = 0x80: different divisors not supported, DR = 1, DS = 1 - // TB(1) = not present. Defaults: FWI = 4 (FWT = 256 * 16 * 2^4 * 1/fc = 4833us), SFGI = 0 (SFG = 256 * 16 * 2^0 * 1/fc = 302us) - // TC(1) = 0x02: CID supported, NAD not supported - AddCrc14A(rRATS, sizeof(rRATS) - 2); + AddCrc14A(rRATS, rRATS_len - 2); AddCrc14A(rPPS, sizeof(rPPS) - 2); @@ -1305,14 +1311,23 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r { .response = rPACK, .response_n = sizeof(rPACK) } // PACK response }; - // "precompile" responses. There are 12 predefined responses with a total of 84 bytes data to transmit. + // since rats len is variable now. + responses_init[RESP_INDEX_RATS].response_n = rRATS_len; + // "precompiled" responses. + // These exist for speed reasons. There are no time in the anti collision phase to calculate responses. + // There are 12 predefined responses with a total of 84 bytes data to transmit. + // // Coded responses need one byte per bit to transfer (data, parity, start, stop, correction) // 85 * 8 data bits, 85 * 1 parity bits, 12 start bits, 12 stop bits, 12 correction bits // 85 * 8 + 85 + 12 + 12 + 12 == 801 -#define ALLOCATED_TAG_MODULATION_BUFFER_SIZE 801 + // CHG: + // 85 bytes normally (rats = 8 bytes) + // 77 bytes + ratslen, - uint8_t *free_buffer = BigBuf_malloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE); +#define ALLOCATED_TAG_MODULATION_BUFFER_SIZE ( ((77 + rRATS_len) * 8) + 77 + rRATS_len + 12 + 12 + 12) + + uint8_t *free_buffer = BigBuf_calloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE); // modulation buffer pointer and current buffer free space size uint8_t *free_buffer_pointer = free_buffer; size_t free_buffer_size = ALLOCATED_TAG_MODULATION_BUFFER_SIZE; @@ -1328,7 +1343,6 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r } *responses = responses_init; - return true; } @@ -1362,12 +1376,16 @@ void SimulateIso14443aTag(uint8_t tagType, uint16_t flags, uint8_t *data, uint8_ uint8_t receivedCmd[MAX_FRAME_SIZE] = { 0x00 }; uint8_t receivedCmdPar[MAX_PARITY_SIZE] = { 0x00 }; + // free eventually allocated BigBuf memory but keep Emulator Memory + BigBuf_free_keep_EM(); + // Allocate 512 bytes for the dynamic modulation, created when the reader queries for it // Such a response is less time critical, so we can prepare them on the fly #define DYNAMIC_RESPONSE_BUFFER_SIZE 64 #define DYNAMIC_MODULATION_BUFFER_SIZE 512 - uint8_t dynamic_response_buffer[DYNAMIC_RESPONSE_BUFFER_SIZE] = {0}; - uint8_t dynamic_modulation_buffer[DYNAMIC_MODULATION_BUFFER_SIZE] = {0}; + + uint8_t *dynamic_response_buffer = BigBuf_calloc(DYNAMIC_RESPONSE_BUFFER_SIZE); + uint8_t *dynamic_modulation_buffer = BigBuf_calloc(DYNAMIC_MODULATION_BUFFER_SIZE); tag_response_info_t dynamic_response_info = { .response = dynamic_response_buffer, .response_n = 0, @@ -1375,9 +1393,6 @@ void SimulateIso14443aTag(uint8_t tagType, uint16_t flags, uint8_t *data, uint8_ .modulation_n = 0 }; - // free eventually allocated BigBuf memory but keep Emulator Memory - BigBuf_free_keep_EM(); - if (SimulateIso14443aInit(tagType, flags, data, &responses, &cuid, counters, tearings, &pages) == false) { BigBuf_free_keep_EM(); reply_ng(CMD_HF_MIFARE_SIMULATE, PM3_EINIT, NULL, 0); From d41f0c394e2fa3cad9857f51f24d5d99022350cf Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 15:04:49 +0200 Subject: [PATCH 050/278] hf iclass wrbl - the pagemap bit maps isnt the best to handle all four cases. This atleast fixes one issue with them --- CHANGELOG.md | 1 + armsrc/iclass.c | 27 ++++++++++++++++----------- client/src/cmdhficlass.c | 3 ++- include/protocols.h | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6aee59c87..3fc7417ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Fixed `hf iclass wrbl` - pagemap bit map for secured is now handled better (@iceman1001) - Changed `hf iclass view/decrypt` to detect SIO lengths better and show if legacy credentials are encrypted (@nvx) - Changed the json file formats for mfc, 14b, 15, legic, cryptorf, ndef (@iceman1001) - Depricated the EML file format when saving dump files. (@iceman1001) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 953cfaa6f..e44b54fd9 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1784,7 +1784,6 @@ static bool iclass_writeblock_ext(uint8_t blockno, uint8_t *data, uint8_t *mac, return false; } - uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; if (blockno == 2) { // check response. e-purse update swaps first and second half if (memcmp(data + 4, resp, 4) || memcmp(data, resp + 4, 4)) { @@ -1792,6 +1791,7 @@ static bool iclass_writeblock_ext(uint8_t blockno, uint8_t *data, uint8_t *mac, } } else if (blockno == 3 || blockno == 4) { // check response. Key updates always return 0xffffffffffffffff + uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; if (memcmp(all_ff, resp, 8)) { return false; } @@ -1821,7 +1821,7 @@ void iClass_WriteBlock(uint8_t *msg) { // select tag. uint32_t eof_time = 0; picopass_hdr_t hdr = {0}; - uint8_t res = select_iclass_tag(&hdr, payload->req.use_credit_key, &eof_time, shallow_mod); + bool res = select_iclass_tag(&hdr, payload->req.use_credit_key, &eof_time, shallow_mod); if (res == false) { goto out; } @@ -1881,8 +1881,9 @@ void iClass_WriteBlock(uint8_t *msg) { if (tearoff_hook() == PM3_ETEAROFF) { // tearoff occurred res = false; switch_off(); - if (payload->req.send_reply) - reply_ng(CMD_HF_ICLASS_WRITEBL, PM3_ETEAROFF, (uint8_t *)&res, sizeof(uint8_t)); + if (payload->req.send_reply) { + reply_ng(CMD_HF_ICLASS_WRITEBL, PM3_ETEAROFF, (uint8_t *)&res, sizeof(bool)); + } return; } else { @@ -1901,16 +1902,18 @@ void iClass_WriteBlock(uint8_t *msg) { } // verify write - uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; if (pagemap == PICOPASS_SECURE_PAGEMODE && payload->req.blockno == 2) { // check response. e-purse update swaps first and second half if (memcmp(payload->data + 4, resp, 4) || memcmp(payload->data, resp + 4, 4)) { res = false; goto out; } - } else if (pagemap == PICOPASS_SECURE_PAGEMODE && (payload->req.blockno == 3 || payload->req.blockno == 4)) { + } + + if (pagemap == PICOPASS_SECURE_PAGEMODE && (payload->req.blockno == 3 || payload->req.blockno == 4)) { // check response. Key updates always return 0xffffffffffffffff - if (memcmp(all_ff, resp, 8)) { + uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; + if (memcmp(all_ff, resp, sizeof(all_ff))) { res = false; goto out; } @@ -1925,8 +1928,9 @@ void iClass_WriteBlock(uint8_t *msg) { out: switch_off(); - if (payload->req.send_reply) - reply_ng(CMD_HF_ICLASS_WRITEBL, PM3_SUCCESS, (uint8_t *)&res, sizeof(uint8_t)); + if (payload->req.send_reply) { + reply_ng(CMD_HF_ICLASS_WRITEBL, PM3_SUCCESS, (uint8_t *)&res, sizeof(bool)); + } } void iclass_credit_epurse(iclass_credit_epurse_t *payload) { @@ -1967,8 +1971,9 @@ void iclass_credit_epurse(iclass_credit_epurse_t *payload) { res = iclass_send_cmd_with_retries(cmd_read, sizeof(cmd_read), epurse, sizeof(epurse), 10, 3, &start_time, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, shallow_mod); if (!res) { switch_off(); - if (payload->req.send_reply) + if (payload->req.send_reply) { reply_ng(CMD_HF_ICLASS_CREDIT_EPURSE, PM3_ETIMEOUT, (uint8_t *)&res, sizeof(uint8_t)); + } return; } @@ -1977,7 +1982,7 @@ void iclass_credit_epurse(iclass_credit_epurse_t *payload) { uint8_t epurse_offset = 0; const uint8_t empty_epurse[] = {0xff, 0xff, 0xff, 0xff}; - if (!memcmp(epurse, empty_epurse, 4)) { + if (memcmp(epurse, empty_epurse, 4) == 0) { // epurse data in stage 2 epurse_offset = 4; } diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 88534d45f..96b6dae81 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -2086,6 +2086,7 @@ static int iclass_write_block(uint8_t blockno, uint8_t *bldata, uint8_t *macdata if (verbose) PrintAndLogEx(ERR, "failed to communicate with card"); return resp.status; } + return (resp.data.asBytes[0] == 1) ? PM3_SUCCESS : PM3_ESOFT; } @@ -2190,7 +2191,7 @@ static int CmdHFiClass_WriteBlock(const char *Cmd) { int isok = iclass_write_block(blockno, data, mac, key, use_credit_key, elite, rawkey, use_replay, verbose, auth, shallow_mod); switch (isok) { case PM3_SUCCESS: - PrintAndLogEx(SUCCESS, "Wrote block %3d/0x%02X successful", blockno, blockno); + PrintAndLogEx(SUCCESS, "Wrote block " _YELLOW_("%d") "/" _YELLOW_("0x%02X") " ( " _GREEN_("ok") " )", blockno, blockno); break; case PM3_ETEAROFF: if (verbose) diff --git a/include/protocols.h b/include/protocols.h index b4de7da1a..0b9604676 100644 --- a/include/protocols.h +++ b/include/protocols.h @@ -443,7 +443,7 @@ ISO 7816-4 Basic interindustry commands. For command APDU's. // Picopass Pagemode fuses #define PICOPASS_NON_SECURE_PAGEMODE 0x01 -#define PICOPASS_SECURE_PAGEMODE 0x11 +#define PICOPASS_SECURE_PAGEMODE 0x03 // ISO 7816-4 Basic interindustry commands. For command APDU's. From 7b3e84c0d6c588256191d7614d510fe52c3620f0 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 15:14:53 +0200 Subject: [PATCH 051/278] better fix for the PAGEMAP issue --- armsrc/iclass.c | 28 ++++++---------------------- armsrc/iclass.h | 20 ++++++++++++++++++++ client/src/cmdhficlass.c | 3 ++- include/protocols.h | 7 ++++--- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index e44b54fd9..a1631d95d 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -36,9 +36,10 @@ #include "protocols.h" #include "ticks.h" #include "iso15693.h" -#include "iclass_cmd.h" /* iclass_card_select_t struct */ +#include "iclass_cmd.h" // iclass_card_select_t struct +#include "i2c.h" // i2c defines (SIM module access) -static uint8_t get_pagemap(const picopass_hdr_t *hdr) { +uint8_t get_pagemap(const picopass_hdr_t *hdr) { return (hdr->conf.fuses & (FUSE_CRYPT0 | FUSE_CRYPT1)) >> 3; } @@ -52,23 +53,6 @@ static uint8_t get_pagemap(const picopass_hdr_t *hdr) { #define ICLASS_16KS_SIZE 0x100 * 8 #endif -// iCLASS has a slightly different timing compared to ISO15693. According to the picopass data sheet the tag response is expected 330us after -// the reader command. This is measured from end of reader EOF to first modulation of the tag's SOF which starts with a 56,64us unmodulated period. -// 330us = 140 ssp_clk cycles @ 423,75kHz when simulating. -// 56,64us = 24 ssp_clk_cycles -#define DELAY_ICLASS_VCD_TO_VICC_SIM (140 - 26) // (140 - 24) - -// times in ssp_clk_cycles @ 3,3625MHz when acting as reader -#define DELAY_ICLASS_VICC_TO_VCD_READER DELAY_ISO15693_VICC_TO_VCD_READER - -// times in samples @ 212kHz when acting as reader -#define ICLASS_READER_TIMEOUT_ACTALL 330 // 1558us, nominal 330us + 7slots*160us = 1450us -#define ICLASS_READER_TIMEOUT_UPDATE 3390 // 16000us, nominal 4-15ms -#define ICLASS_READER_TIMEOUT_OTHERS 80 // 380us, nominal 330us - -#define AddCrc(data, len) compute_crc(CRC_ICLASS, (data), (len), (data)+(len), (data)+(len)+1) - - /* * CARD TO READER * in ISO15693-2 mode - Manchester @@ -1245,7 +1229,7 @@ send: } // THE READER CODE -static void iclass_send_as_reader(uint8_t *frame, int len, uint32_t *start_time, uint32_t *end_time, bool shallow_mod) { +void iclass_send_as_reader(uint8_t *frame, int len, uint32_t *start_time, uint32_t *end_time, bool shallow_mod) { CodeIso15693AsReader(frame, len); tosend_t *ts = get_tosend(); TransmitTo15693Tag(ts->buf, ts->max, start_time, shallow_mod); @@ -1902,7 +1886,7 @@ void iClass_WriteBlock(uint8_t *msg) { } // verify write - if (pagemap == PICOPASS_SECURE_PAGEMODE && payload->req.blockno == 2) { + if ((pagemap != PICOPASS_NON_SECURE_PAGEMODE) && (payload->req.blockno == 2)) { // check response. e-purse update swaps first and second half if (memcmp(payload->data + 4, resp, 4) || memcmp(payload->data, resp + 4, 4)) { res = false; @@ -1910,7 +1894,7 @@ void iClass_WriteBlock(uint8_t *msg) { } } - if (pagemap == PICOPASS_SECURE_PAGEMODE && (payload->req.blockno == 3 || payload->req.blockno == 4)) { + if ((pagemap != PICOPASS_NON_SECURE_PAGEMODE) && (payload->req.blockno == 3 || payload->req.blockno == 4)) { // check response. Key updates always return 0xffffffffffffffff uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; if (memcmp(all_ff, resp, sizeof(all_ff))) { diff --git a/armsrc/iclass.h b/armsrc/iclass.h index 363c042ab..30846ff36 100644 --- a/armsrc/iclass.h +++ b/armsrc/iclass.h @@ -21,6 +21,23 @@ #include "common.h" #include "iclass_cmd.h" +// iCLASS has a slightly different timing compared to ISO15693. According to the picopass data sheet the tag response is expected 330us after +// the reader command. This is measured from end of reader EOF to first modulation of the tag's SOF which starts with a 56,64us unmodulated period. +// 330us = 140 ssp_clk cycles @ 423,75kHz when simulating. +// 56,64us = 24 ssp_clk_cycles +#define DELAY_ICLASS_VCD_TO_VICC_SIM (140 - 26) // (140 - 24) + +// times in ssp_clk_cycles @ 3,3625MHz when acting as reader +#define DELAY_ICLASS_VICC_TO_VCD_READER DELAY_ISO15693_VICC_TO_VCD_READER + + +// times in samples @ 212kHz when acting as reader +#define ICLASS_READER_TIMEOUT_ACTALL 330 // 1558us, nominal 330us + 7slots*160us = 1450us +#define ICLASS_READER_TIMEOUT_UPDATE 3390 // 16000us, nominal 4-15ms +#define ICLASS_READER_TIMEOUT_OTHERS 80 // 380us, nominal 330us + +#define AddCrc(data, len) compute_crc(CRC_ICLASS, (data), (len), (data)+(len), (data)+(len)+1) + void SniffIClass(uint8_t jam_search_len, uint8_t *jam_search_string); void ReaderIClass(uint8_t flags); @@ -43,4 +60,7 @@ bool iclass_read_block(uint16_t blockno, uint8_t *data, uint32_t *start_time, ui bool select_iclass_tag(picopass_hdr_t *hdr, bool use_credit_key, uint32_t *eof_time, bool shallow_mod); bool authenticate_iclass_tag(iclass_auth_req_t *payload, picopass_hdr_t *hdr, uint32_t *start_time, uint32_t *eof_time, uint8_t *mac_out); + +uint8_t get_pagemap(const picopass_hdr_t *hdr); +void iclass_send_as_reader(uint8_t *frame, int len, uint32_t *start_time, uint32_t *end_time, bool shallow_mod); #endif diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 96b6dae81..0583c714f 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -2191,7 +2191,7 @@ static int CmdHFiClass_WriteBlock(const char *Cmd) { int isok = iclass_write_block(blockno, data, mac, key, use_credit_key, elite, rawkey, use_replay, verbose, auth, shallow_mod); switch (isok) { case PM3_SUCCESS: - PrintAndLogEx(SUCCESS, "Wrote block " _YELLOW_("%d") "/" _YELLOW_("0x%02X") " ( " _GREEN_("ok") " )", blockno, blockno); + PrintAndLogEx(SUCCESS, "Wrote block " _YELLOW_("%d") " / " _YELLOW_("0x%02X") " ( " _GREEN_("ok") " )", blockno, blockno); break; case PM3_ETEAROFF: if (verbose) @@ -2201,6 +2201,7 @@ static int CmdHFiClass_WriteBlock(const char *Cmd) { PrintAndLogEx(FAILED, "Writing failed"); break; } + PrintAndLogEx(NORMAL, ""); return isok; } diff --git a/include/protocols.h b/include/protocols.h index 0b9604676..db088fd22 100644 --- a/include/protocols.h +++ b/include/protocols.h @@ -442,9 +442,10 @@ ISO 7816-4 Basic interindustry commands. For command APDU's. #define FUSE_RA 0x01 // Picopass Pagemode fuses -#define PICOPASS_NON_SECURE_PAGEMODE 0x01 -#define PICOPASS_SECURE_PAGEMODE 0x03 - +#define PICOPASS_SECURE_PAGEMODE_AUTH_DISABLED 0x00 +#define PICOPASS_NON_SECURE_PAGEMODE 0x01 +#define PICOPASS_SECURE_PAGEMODE_KEYS_LOCKED 0x02 +#define PICOPASS_SECURE_PAGEMODE_KEYS_MODIFIABLE 0x03 // ISO 7816-4 Basic interindustry commands. For command APDU's. #define ISO7816_READ_BINARY 0xB0 From 6229021f0793de68938e9a7426e56dbd99f632e2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 15:24:57 +0200 Subject: [PATCH 052/278] use the ISO7816 defines we already have --- client/src/cmdhfemrtd.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/client/src/cmdhfemrtd.c b/client/src/cmdhfemrtd.c index c8edd2054..98bb3e44d 100644 --- a/client/src/cmdhfemrtd.c +++ b/client/src/cmdhfemrtd.c @@ -42,13 +42,9 @@ #define EMRTD_MAX_FILE_SIZE 35000 // ISO7816 commands -#define EMRTD_SELECT 0xA4 -#define EMRTD_EXTERNAL_AUTHENTICATE 0x82 -#define EMRTD_GET_CHALLENGE 0x84 -#define EMRTD_READ_BINARY 0xB0 -#define EMRTD_P1_SELECT_BY_EF 0x02 -#define EMRTD_P1_SELECT_BY_NAME 0x04 -#define EMRTD_P2_PROPRIETARY 0x0C +#define EMRTD_P1_SELECT_BY_EF 0x02 +#define EMRTD_P1_SELECT_BY_NAME 0x04 +#define EMRTD_P2_PROPRIETARY 0x0C // App IDs #define EMRTD_AID_MRTD {0xA0, 0x00, 0x00, 0x02, 0x47, 0x10, 0x01} @@ -383,25 +379,25 @@ static void _emrtd_convert_fileid(uint16_t file, uint8_t *dataout) { } static int emrtd_select_file_by_name(uint8_t namelen, uint8_t *name) { - return emrtd_exchange_commands_noout((sAPDU_t) {0, EMRTD_SELECT, EMRTD_P1_SELECT_BY_NAME, 0x0C, namelen, name}, false, true); + return emrtd_exchange_commands_noout((sAPDU_t) {0, ISO7816_SELECT_FILE, EMRTD_P1_SELECT_BY_NAME, 0x0C, namelen, name}, false, true); } static int emrtd_select_file_by_ef(uint16_t file_id) { uint8_t data[2]; _emrtd_convert_fileid(file_id, data); - return emrtd_exchange_commands_noout((sAPDU_t) {0, EMRTD_SELECT, EMRTD_P1_SELECT_BY_EF, 0x0C, sizeof(data), data}, false, true); + return emrtd_exchange_commands_noout((sAPDU_t) {0, ISO7816_SELECT_FILE, EMRTD_P1_SELECT_BY_EF, 0x0C, sizeof(data), data}, false, true); } static int emrtd_get_challenge(int length, uint8_t *dataout, size_t maxdataoutlen, size_t *dataoutlen) { - return emrtd_exchange_commands((sAPDU_t) {0, EMRTD_GET_CHALLENGE, 0, 0, 0, NULL}, true, length, dataout, maxdataoutlen, dataoutlen, false, true); + return emrtd_exchange_commands((sAPDU_t) {0, ISO7816_GET_CHALLENGE, 0, 0, 0, NULL}, true, length, dataout, maxdataoutlen, dataoutlen, false, true); } static int emrtd_external_authenticate(uint8_t *data, int length, uint8_t *dataout, size_t maxdataoutlen, size_t *dataoutlen) { - return emrtd_exchange_commands((sAPDU_t) {0, EMRTD_EXTERNAL_AUTHENTICATE, 0, 0, length, data}, true, length, dataout, maxdataoutlen, dataoutlen, false, true); + return emrtd_exchange_commands((sAPDU_t) {0, ISO7816_EXTERNAL_AUTHENTICATION, 0, 0, length, data}, true, length, dataout, maxdataoutlen, dataoutlen, false, true); } static int _emrtd_read_binary(int offset, int bytes_to_read, uint8_t *dataout, size_t maxdataoutlen, size_t *dataoutlen) { - return emrtd_exchange_commands((sAPDU_t) {0, EMRTD_READ_BINARY, offset >> 8, offset & 0xFF, 0, NULL}, true, bytes_to_read, dataout, maxdataoutlen, dataoutlen, false, true); + return emrtd_exchange_commands((sAPDU_t) {0, ISO7816_READ_BINARY, offset >> 8, offset & 0xFF, 0, NULL}, true, bytes_to_read, dataout, maxdataoutlen, dataoutlen, false, true); } static void emrtd_bump_ssc(uint8_t *ssc) { @@ -503,7 +499,7 @@ static bool emrtd_secure_select_file_by_ef(uint8_t *kenc, uint8_t *kmac, uint8_t memcpy(data + (datalen + 3), do8e, 10); PrintAndLogEx(DEBUG, "data: %s", sprint_hex_inrow(data, lc)); - if (emrtd_exchange_commands((sAPDU_t) {0x0C, EMRTD_SELECT, EMRTD_P1_SELECT_BY_EF, 0x0C, lc, data}, true, 0, response, sizeof(response), &resplen, false, true) == false) { + if (emrtd_exchange_commands((sAPDU_t) {0x0C, ISO7816_SELECT_FILE, EMRTD_P1_SELECT_BY_EF, 0x0C, lc, data}, true, 0, response, sizeof(response), &resplen, false, true) == false) { return false; } @@ -552,7 +548,7 @@ static bool _emrtd_secure_read_binary(uint8_t *kmac, uint8_t *ssc, int offset, i memcpy(data + 3, do8e, 10); PrintAndLogEx(DEBUG, "data: %s", sprint_hex_inrow(data, lc)); - if (emrtd_exchange_commands((sAPDU_t) {0x0C, EMRTD_READ_BINARY, offset >> 8, offset & 0xFF, lc, data}, true, 0, dataout, maxdataoutlen, dataoutlen, false, true) == false) { + if (emrtd_exchange_commands((sAPDU_t) {0x0C, ISO7816_READ_BINARY, offset >> 8, offset & 0xFF, lc, data}, true, 0, dataout, maxdataoutlen, dataoutlen, false, true) == false) { return false; } From 4986959706e4681c7d6468ba8ce7d566e846ff6e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 15:48:01 +0200 Subject: [PATCH 053/278] fix logic for epurse updates --- armsrc/iclass.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index a1631d95d..405ad610f 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1892,9 +1892,7 @@ void iClass_WriteBlock(uint8_t *msg) { res = false; goto out; } - } - - if ((pagemap != PICOPASS_NON_SECURE_PAGEMODE) && (payload->req.blockno == 3 || payload->req.blockno == 4)) { + } else if ((pagemap != PICOPASS_NON_SECURE_PAGEMODE) && (payload->req.blockno == 3 || payload->req.blockno == 4)) { // check response. Key updates always return 0xffffffffffffffff uint8_t all_ff[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; if (memcmp(all_ff, resp, sizeof(all_ff))) { From 7cec258349e475d58b8c4094da74120a8c402078 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 9 Oct 2023 20:09:22 +0200 Subject: [PATCH 054/278] minor adjustments to texts --- armsrc/Standalone/hf_msdsal.c | 15 +++++---- client/src/cmdhf14a.c | 2 +- client/src/cmdhf14b.c | 2 +- client/src/cmdhfvas.c | 2 +- client/src/emv/cmdemv.c | 58 ++++++++++++++++++++++++-------- client/src/iso7816/iso7816core.c | 5 +++ 6 files changed, 60 insertions(+), 24 deletions(-) diff --git a/armsrc/Standalone/hf_msdsal.c b/armsrc/Standalone/hf_msdsal.c index 4ce074cf9..18729cdc0 100644 --- a/armsrc/Standalone/hf_msdsal.c +++ b/armsrc/Standalone/hf_msdsal.c @@ -203,8 +203,8 @@ void RunMod(void) { #define DYNAMIC_RESPONSE_BUFFER_SIZE 64 #define DYNAMIC_MODULATION_BUFFER_SIZE 512 - uint8_t *dynamic_response_buffer = BigBuf_calloc(DYNAMIC_RESPONSE_BUFFER_SIZE); - uint8_t *dynamic_modulation_buffer = BigBuf_calloc(DYNAMIC_MODULATION_BUFFER_SIZE); + uint8_t dynamic_response_buffer[DYNAMIC_RESPONSE_BUFFER_SIZE] = {0}; + uint8_t dynamic_modulation_buffer[DYNAMIC_MODULATION_BUFFER_SIZE] = {0}; // to know the transaction status uint8_t prevCmd = 0; @@ -458,12 +458,13 @@ void RunMod(void) { // SFI } else if (receivedCmd[1] == 0x00 && receivedCmd[2] == 0xB2 && prevCmd == 3) { - uint8_t last[4] = {0x70, 0x15, 0x57, 0x13}; - uint8_t statusapdu[2] = {0x90, 0x00}; - uint8_t card[25]; - memcpy(&card[0], last, sizeof(last)); + uint8_t card[25] = { + 0x70, 0x15, 0x57, 0x13, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x00 + }; memcpy(&card[4], token, sizeof(token)); - memcpy(&card[23], statusapdu, sizeof(statusapdu)); memcpy(&dynamic_response_info.response[1], card, sizeof(card)); dynamic_response_info.response_n = sizeof(card) + 1; prevCmd++; diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index 31c3e24bc..7bfecea55 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -994,7 +994,7 @@ int SelectCard14443A_4_WithParameters(bool disconnect, bool verbose, iso14a_card // check result if (resp.oldarg[0] == 0) { if (verbose) { - PrintAndLogEx(FAILED, "No card in field"); + PrintAndLogEx(WARNING, "No ISO1443-A Card in field"); } return PM3_ECARDEXCHANGE; } diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index 9ceb7f3ee..d6b4cbfe5 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -1697,7 +1697,7 @@ int select_card_14443b_4(bool disconnect, iso14b_card_select_t *card) { // check result int status = resp.oldarg[0]; if (status < 0) { - PrintAndLogEx(ERR, "No card in field."); + PrintAndLogEx(FAILED, "No ISO14443-B Card in field"); switch_off_field_14b(); return PM3_ESOFT; } diff --git a/client/src/cmdhfvas.c b/client/src/cmdhfvas.c index 4e4a305e5..fa621e853 100644 --- a/client/src/cmdhfvas.c +++ b/client/src/cmdhfvas.c @@ -356,7 +356,7 @@ static int VASReader(uint8_t *pidHash, const char *url, size_t urlLen, uint8_t * }; if (SelectCard14443A_4_WithParameters(false, false, NULL, &polling_parameters) != PM3_SUCCESS) { - PrintAndLogEx(FAILED, "No card in field"); + PrintAndLogEx(WARNING, "No ISO14443-A Card in field"); return PM3_ECARDEXCHANGE; } diff --git a/client/src/emv/cmdemv.c b/client/src/emv/cmdemv.c index 5462f6eed..ea101f43d 100644 --- a/client/src/emv/cmdemv.c +++ b/client/src/emv/cmdemv.c @@ -44,28 +44,30 @@ static int CmdHelp(const char *Cmd); #define TLV_ADD(tag, value)( tlvdb_change_or_add_node(tlvRoot, tag, sizeof(value) - 1, (const unsigned char *)value) ) static void ParamLoadDefaults(struct tlvdb *tlvRoot) { - //9F02:(Amount, authorized (Numeric)) len:6 + // 9F02:(Amount, authorized (Numeric)) len:6 TLV_ADD(0x9F02, "\x00\x00\x00\x00\x01\x00"); - //9F1A:(Terminal Country Code) len:2 + // 9F1A:(Terminal Country Code) len:2 TLV_ADD(0x9F1A, "ru"); - //5F2A:(Transaction Currency Code) len:2 + // 5F2A:(Transaction Currency Code) len:2 // USD 840, EUR 978, RUR 810, RUB 643, RUR 810(old), UAH 980, AZN 031, n/a 999 - TLV_ADD(0x5F2A, "\x09\x80"); - //9A:(Transaction Date) len:3 + TLV_ADD(0x5F2A, "\x090\x78"); + // 9A:(Transaction Date) len:3 TLV_ADD(0x9A, "\x00\x00\x00"); - //9C:(Transaction Type) len:1 | 00 => Goods and service #01 => Cash + // 9C:(Transaction Type) len:1 + // | 00 => Goods and Service + // | 01 => Cash TLV_ADD(0x9C, "\x00"); - // 9F37 Unpredictable Number len:4 + // 9F37 Unpredictable Number (UN) len:4 TLV_ADD(0x9F37, "\x01\x02\x03\x04"); // 9F6A Unpredictable Number (MSD for UDOL) len:4 TLV_ADD(0x9F6A, "\x01\x02\x03\x04"); - //9F66:(Terminal Transaction Qualifiers (TTQ)) len:4 + // 9F66:(Terminal Transaction Qualifiers (TTQ)) len:4 TLV_ADD(0x9F66, "\x26\x00\x00\x00"); // qVSDC - //95:(Terminal Verification Results) len:5 + // 95:(Terminal Verification Results) len:5 // all OK TVR TLV_ADD(0x95, "\x00\x00\x00\x00\x00"); // 9F4E Merchant Name and Location len:x - TLV_ADD(0x9F4E, "proxmrk3rdv\x00"); + TLV_ADD(0x9F4E, "proxmark3rdv4\x00"); } static void PrintChannel(Iso7816CommandChannel channel) { @@ -298,14 +300,14 @@ static int emv_parse_track1(const uint8_t *d, size_t n, bool verbose) { case 0: { size_t a = strlen(token); if (a == 16) { - PrintAndLogEx(INFO, "PAN...................... %c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c", + PrintAndLogEx(INFO, "PAN...................... " _GREEN_("%c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c"), token[1], token[2], token[3], token[4], token[5], token[6], token[7], token[8], token[9], token[10], token[11], token[12], token[13], token[14], token[15], token[16] ); } else if (a == 19) { - PrintAndLogEx(INFO, "PAN...................... %c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c %c%c%c", + PrintAndLogEx(INFO, "PAN...................... " _GREEN_("%c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c %c%c%c"), token[1], token[2], token[3], token[4], token[5], token[6], token[7], token[8], token[9], token[10], token[11], token[12], @@ -362,7 +364,7 @@ static int emv_parse_track2(const uint8_t *d, size_t n, bool verbose) { if (tmp[0] == ';') tmp++; - PrintAndLogEx(INFO, "PAN...................... %c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c", + PrintAndLogEx(INFO, "PAN...................... "_GREEN_("%c%c%c%c %c%c%c%c %c%c%c%c %c%c%c%c"), tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], tmp[6], tmp[7], tmp[8], tmp[9], tmp[10], tmp[11], @@ -479,7 +481,7 @@ static int emv_parse_card_details(uint8_t *response, size_t reslen, bool verbose if (apan_full != NULL) { const struct tlv *apan_tlv = tlvdb_get_tlv(apan_full); if (apan_tlv->len == 8) { - PrintAndLogEx(INFO, "PAN.................. " _YELLOW_("%02x%02x %02x%02x %02x%02x %02x%02x"), + PrintAndLogEx(INFO, "PAN.................. " _GREEN_("%02x%02x %02x%02x %02x%02x %02x%02x"), apan_tlv->value[0], apan_tlv->value[1], apan_tlv->value[2], @@ -543,6 +545,34 @@ static int emv_parse_card_details(uint8_t *response, size_t reslen, bool verbose // Track 3 Data // to be impl. + + // Unpredicable Number (UN) + struct tlvdb *un1_full = tlvdb_find_full(root, 0x9f37); + if (un1_full != NULL) { + const struct tlv *un1_tlv = tlvdb_get_tlv(un1_full); + if (un1_tlv->len) { + PrintAndLogEx(INFO, "9F37 Unpredicable Number... " _YELLOW_("%s"), sprint_hex_inrow(un1_tlv->value, un1_tlv->len)); + } + } + + // Unpredicable Number (UN) + struct tlvdb *un_full = tlvdb_find_full(root, 0x9f6a); + if (un_full != NULL) { + const struct tlv *un_tlv = tlvdb_get_tlv(un_full); + if (un_tlv->len) { + PrintAndLogEx(INFO, "9F6A Unpredicable Number... " _YELLOW_("%s"), sprint_hex_inrow(un_tlv->value, un_tlv->len)); + emv_parse_track2(un_tlv->value, un_tlv->len, verbose); + } + } + + struct tlvdb *merch_full = tlvdb_find_full(root, 0x9f4e); + if (merch_full != NULL) { + const struct tlv *merch_tlv = tlvdb_get_tlv(merch_full); + if (merch_tlv->len) { + PrintAndLogEx(INFO, "Merchant Name and Location... " _YELLOW_("%s"), sprint_hex_inrow(merch_tlv->value, merch_tlv->len)); + } + } + tlvdb_free(root); return PM3_SUCCESS; } diff --git a/client/src/iso7816/iso7816core.c b/client/src/iso7816/iso7816core.c index 7e0dd2c7f..025d55d16 100644 --- a/client/src/iso7816/iso7816core.c +++ b/client/src/iso7816/iso7816core.c @@ -133,6 +133,11 @@ int Iso7816ExchangeEx(Iso7816CommandChannel channel, bool activate_field, bool l res = ExchangeAPDU14a(data, datalen, activate_field, leave_field_on, result, (int)max_result_len, (int *)result_len); if (res != PM3_SUCCESS) { res = exchange_14b_apdu(data, datalen, activate_field, leave_field_on, result, (int)max_result_len, (int *)result_len, 4000); + if (res == PM3_SUCCESS) { + PrintAndLogEx(INFO, "Testing ISO14443-B... ( " _GREEN_("ok") " )"); + } else { + PrintAndLogEx(INFO, "Testing ISO14443-B... ( " _RED_("fail") " )"); + } } break; } From c6c8edd95ee59fcd442ba95306029fb5ee874b6d Mon Sep 17 00:00:00 2001 From: Sam <48739810+The-SamminAter@users.noreply.github.com> Date: Tue, 10 Oct 2023 09:31:05 -0700 Subject: [PATCH 055/278] Create iOS-Installation-Instructions.md Signed-off-by: Sam <48739810+The-SamminAter@users.noreply.github.com> --- .../iOS-Installation-Instructions.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 doc/md/Installation_Instructions/iOS-Installation-Instructions.md diff --git a/doc/md/Installation_Instructions/iOS-Installation-Instructions.md b/doc/md/Installation_Instructions/iOS-Installation-Instructions.md new file mode 100644 index 000000000..27f7e7b14 --- /dev/null +++ b/doc/md/Installation_Instructions/iOS-Installation-Instructions.md @@ -0,0 +1,109 @@ + + +# iOS Installation Instructions + +# Table of Contents +- [iOS Installation Instructions](#ios-installation-instructions) +- [Table of Contents](#table-of-contents) +- [Install the required dependencies](#install-the-required-dependencies) + - [On Bingner bootstrap](#on-bingner-bootstrap) + - [On Procursus bootstrap](#on-procursus-bootstrap) + - [Patched SDK and additional patches](#patched-sdk-and-additional-patches) +- [Clone the Iceman repository](#clone-the-iceman-repository) +- [Compile and use the project](#compile-and-use-the-project) + - [bootrom, fullimage, and recovery](#bootrom-fullimage-and-recovery) + - [make install](#make-install) + - [usbselfserial](#usbselfserial) + +# Install the required dependencies +^[Top](#top) + +If you are using unc0ver or checkra1n, see [On Bingner bootstrap](#on-bingner-bootstrap) +Otherwise, see [On Procursus bootstrap](#on-procursus-bootstrap) +Note: compilation has not yet been attempted on Procursus' bootstrap or on rootless. Attempt at your own peril. + +## On Bingner bootstrap +^[Top](#top) + +Run this as `root`, as sudo isn't installed by default. The default password is `alpine`. +```sh +apt install git make clang odcctools gawk sudo pkg-config python3.7 libpython3.7-dev +``` +Furthermore, if you're trying to build from git instead of a release, you'll need SWIG from [The-SamminAter's repo](https://the-samminater.github.io/repo). + +## On Procursus bootstrap +^[Top](#top) + +Currently, you're on your own. Most of the packages should be named similarly, but sometimes Procursus packages up components differently than bingner. Furthermore, if you're using a rootless jailbreak and want to build from git, you'll likely have to port over SWIG yourself. + +## Patched SDK and additional patches +^[Top](#top) + +1. Git clone [theos/sdks](https://github.com/theos/sdks) and symlink or move the target version (tested with 13.7, others should work) to `/usr/share/SDKs/iPhoneOS.sdk`. +2. Delete `__IOS_PROHIBITED` from line 188 of `iPhoneOS.sdk/usr/include/stdlib.h` +3. Git clone [theos/headers](https://github.com/theos/headers) and move `headers/openssl` to `iPhoneOS.sdk/usr/include/` +4. Download the latest macOS SDK from [phracker/MacOSX-SDKs](https://github.com/phracker/MacOSX-SDKs/releases/latest) (tested with 11.3) and move `MacOSX.sdk/System/Library/Frameworks/OpenCL.framework` and `OpenGL.framework` to `iPhoneOS.sdk/System/Library/Frameworks/` + +Note: when compiling hitag2crack/crack5opencl, the following warning is to be expected: +``` +ld: warning: building for iOS, but linking in .tbd file (/usr/share/SDKs/iPhoneOS.sdk/System/Library/Frameworks//OpenCL.framework/OpenCL.tbd) built for macOS +``` + +# Clone the Iceman repository +^[Top](#top) + +```sh +git clone https://github.com/RfidResearchGroup/proxmark3.git +``` + +# Compile and use the project +^[Top](#top) + +Now you're ready to (mostly) follow the [compilation instructions](/doc/md/Use_of_Proxmark/0_Compilation-Instructions.md). + +## bootrom, fullimage, and recovery +^[Top](#top) + +Because there's no arm-none-eabi-gcc (or objcopy) for iOS, you'll have to build these components on a different operating system. The files and directories you'll need to copy over from a desktop build to iOS are `armsrc/fpga_version_info.c`, `armsrc/obj/`, `bootrom/version_pm3.c`, `bootrom/obj/`, and lastly `recovery/`. Everything else will build successfully, but `make all` and `make install` will fail without them. + +## make install +^[Top](#top) + +Because of the lack of arm-none-eabi-gcc (and objcopy), to successfully run `make all` and/or `make install` you'll have to create the following scripts as a workaround. + +`/usr/local/bin/arm-none-eabi-gcc` and `arm-none-eabi-objcopy` + +```bash +#!/bin/bash +#This exists just to trick proxmark3 into making the fullimage, bootrom, and recovery +#Don't worry about it +cc --version +echo "Arguments: $@" +``` + +With those in place, `make all` and `make install` will run flawlessly. + +## usbselfserial +^[Top](#top) + +As iOS doesn't support USB-CDC ACM, you'll need to use [usbselfserial](https://github.com/lotuspar/usbselfserial). A compiled binary can be found at [The-SamminAter's repo](https://the-samminater.github.io/repo). + +Once the proxmark is connected to your iOS device via a USB adapter, run `usbselfserial -v 0x9ac4 -p 0x4b8f --driver cdcacm -o /tmp/tty.usbmodemiceman1` (for devices other than the PM3 Easy, adjust the identifiers accordingly). If proxmark3 can't communicate with the device, try providing the port as an argument, or run `sudo killall usbmuxd`. + +Lastly, it may also be helpful to modify `pm3` as follows, to automatically select the right port: + +```bash +function get_pm3_list_macOS { + N=$1 + #PM3LIST=() + PM3LIST=(/tmp/tty.usbmodemiceman1) #<-- our addition + for DEV in $(ioreg -r -c "IOUSBHostDevice" -l | awk -F '"' ' + $2=="USB Vendor Name"{b=($4=="proxmark.org")} + b==1 && $2=="IODialinDevice"{print $4}'); do + PM3LIST+=("$DEV") + if [ ${#PM3LIST[*]} -ge "$N" ]; then + return + fi + done +} +``` From 2b2e0fc94e36e52169a2435dac03460f5981011a Mon Sep 17 00:00:00 2001 From: Sam <48739810+The-SamminAter@users.noreply.github.com> Date: Tue, 10 Oct 2023 09:35:38 -0700 Subject: [PATCH 056/278] Add iOS setup instructions to README.md Signed-off-by: Sam <48739810+The-SamminAter@users.noreply.github.com> --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 229a7f5f3..5fe1fc0ae 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ The Proxmark3 is the swiss-army tool of RFID, allowing for interactions with the | [macOS - Setup and Build](/doc/md/Installation_Instructions/macOS-Compile-From-Source-Instructions.md) || | [Windows - Setup and Build](/doc/md/Installation_Instructions/Windows-Installation-Instructions.md) || | [Termux / Android - Setup and Build](/doc/termux_notes.md) || +| [iOS - Setup and Build](/doc/md/Installation_Instructions/iOS-Installation-Instructions.md) | [Blue Shark Manual](/doc/bt_manual_v10.md) | [Command Cheat Sheet](/doc/cheatsheet.md)| | [Advanced Compilation Parameters](/doc/md/Use_of_Proxmark/4_Advanced-compilation-parameters.md) | [More Cheat Sheets](https://github.com/RfidResearchGroup/proxmark3/wiki/More-cheat-sheets)| | [Troubleshooting](/doc/md/Installation_Instructions/Troubleshooting.md) | [Complete Client Command Set](/doc/commands.md) | @@ -184,6 +185,7 @@ This repo compiles nicely on - Ubuntu, ParrotOS, Gentoo, Pentoo, Kali, NetHunter, Arch Linux, Fedora, Debian, Raspbian - Android / Termux - macOS / Homebrew (or MacPorts, experimental) / Apple Silicon M1 + - iOS (Jailbroken, rootful) - Docker container - [ Iceman repo based ubuntu 18.04 container ](https://hub.docker.com/r/secopsconsult/proxmark3) - [ Iceman fork based container v1.7 ](https://hub.docker.com/r/iceman1001/proxmark3/) From e02698059ce3cbf77f017ad3da95e6537f2551fb Mon Sep 17 00:00:00 2001 From: Sam <48739810+The-SamminAter@users.noreply.github.com> Date: Tue, 10 Oct 2023 09:38:07 -0700 Subject: [PATCH 057/278] Update CHANGELOG.md Signed-off-by: Sam <48739810+The-SamminAter@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fc7417ff..17951e0ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added documentation for compiling on iOS (@The-SamminAter) - Fixed `hf iclass wrbl` - pagemap bit map for secured is now handled better (@iceman1001) - Changed `hf iclass view/decrypt` to detect SIO lengths better and show if legacy credentials are encrypted (@nvx) - Changed the json file formats for mfc, 14b, 15, legic, cryptorf, ndef (@iceman1001) From 8625fc3283fa611b571c32eab5b9564e70d510c8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 10 Oct 2023 19:47:35 +0200 Subject: [PATCH 058/278] maur --- client/dictionaries/mfc_default_keys.dic | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 019781664..424b74647 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -2101,6 +2101,9 @@ D144BD193063 # Unknown hotel system Sec 0 / A 353038383134 # +# Brazil transport Sec 8 / A +50d4c54fcdf5 +# # Data from "the more the marriott" mifare project (colonelborkmundus) # aka The Horde # From 29712bfde6f38ab86e4df0c9c3f1b6701e3db949 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 10 Oct 2023 19:49:27 +0200 Subject: [PATCH 059/278] text --- client/src/cmdhf14b.c | 2 +- client/src/iso7816/iso7816core.c | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index d6b4cbfe5..a762f3525 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -1697,7 +1697,7 @@ int select_card_14443b_4(bool disconnect, iso14b_card_select_t *card) { // check result int status = resp.oldarg[0]; if (status < 0) { - PrintAndLogEx(FAILED, "No ISO14443-B Card in field"); + PrintAndLogEx(WARNING, "No ISO14443-B Card in field"); switch_off_field_14b(); return PM3_ESOFT; } diff --git a/client/src/iso7816/iso7816core.c b/client/src/iso7816/iso7816core.c index 025d55d16..c03a11956 100644 --- a/client/src/iso7816/iso7816core.c +++ b/client/src/iso7816/iso7816core.c @@ -205,14 +205,14 @@ int Iso7816Select(Iso7816CommandChannel channel, bool activate_field, bool leave uint8_t *result, size_t max_result_len, size_t *result_len, uint16_t *sw) { return Iso7816ExchangeEx(channel - , activate_field - , leave_field_on - , (sAPDU_t) {0x00, 0xa4, 0x04, 0x00, aid_len, aid} - , (channel == CC_CONTACTLESS) - , 0 - , result - , max_result_len - , result_len - , sw - ); + , activate_field + , leave_field_on + , (sAPDU_t) {0x00, 0xa4, 0x04, 0x00, aid_len, aid} + , (channel == CC_CONTACTLESS) + , 0 + , result + , max_result_len + , result_len + , sw + ); } From 82294d71f60012ca29d23e9bb1775b3f1312795e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 11 Oct 2023 12:43:58 +0200 Subject: [PATCH 060/278] making sure apdu logging is turned off after command execution. Still some commands when failing, hasnt been adapted to it. --- client/src/emv/cmdemv.c | 196 ++++++++++++++++++++++++++-------------- 1 file changed, 129 insertions(+), 67 deletions(-) diff --git a/client/src/emv/cmdemv.c b/client/src/emv/cmdemv.c index ea101f43d..d149a381a 100644 --- a/client/src/emv/cmdemv.c +++ b/client/src/emv/cmdemv.c @@ -544,8 +544,7 @@ static int emv_parse_card_details(uint8_t *response, size_t reslen, bool verbose // Track 3 Data // to be impl. - - + // Unpredicable Number (UN) struct tlvdb *un1_full = tlvdb_find_full(root, 0x9f37); if (un1_full != NULL) { @@ -601,7 +600,7 @@ static int CmdEMVSelect(const char *Cmd) { bool activateField = arg_get_lit(ctx, 1); bool leaveSignalON = arg_get_lit(ctx, 2); - bool APDULogging = arg_get_lit(ctx, 3); + bool show_apdu = arg_get_lit(ctx, 3); bool decodeTLV = arg_get_lit(ctx, 4); Iso7816CommandChannel channel = CC_CONTACTLESS; if (arg_get_lit(ctx, 5)) @@ -610,7 +609,7 @@ static int CmdEMVSelect(const char *Cmd) { CLIGetHexWithReturn(ctx, 6, data, &datalen); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // exec uint8_t buf[APDU_RES_LEN] = {0}; @@ -627,6 +626,7 @@ static int CmdEMVSelect(const char *Cmd) { if (decodeTLV) TLVPrintFromBuffer(buf, len); + SetAPDULogging(false); return PM3_SUCCESS; } @@ -651,7 +651,7 @@ static int CmdEMVSearch(const char *Cmd) { bool activateField = arg_get_lit(ctx, 1); bool leaveSignalON = arg_get_lit(ctx, 2); - bool APDULogging = arg_get_lit(ctx, 3); + bool show_apdu = arg_get_lit(ctx, 3); bool decodeTLV = arg_get_lit(ctx, 4); Iso7816CommandChannel channel = CC_CONTACTLESS; @@ -662,13 +662,14 @@ static int CmdEMVSearch(const char *Cmd) { PrintChannel(channel); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); const char *al = "Applets list"; struct tlvdb *t = tlvdb_fixed(1, strlen(al), (const unsigned char *)al); if (EMVSearch(channel, activateField, leaveSignalON, decodeTLV, t, false)) { tlvdb_free(t); + SetAPDULogging(false); return PM3_ERFTRANS; } @@ -681,6 +682,7 @@ static int CmdEMVSearch(const char *Cmd) { tlvdb_free(t); + SetAPDULogging(false); return PM3_SUCCESS; } @@ -708,19 +710,23 @@ static int CmdEMVPPSE(const char *Cmd) { bool activateField = arg_get_lit(ctx, 1); bool leaveSignalON = arg_get_lit(ctx, 2); uint8_t PSENum = 2; - if (arg_get_lit(ctx, 3)) + if (arg_get_lit(ctx, 3)) { PSENum = 1; - if (arg_get_lit(ctx, 4)) + } + if (arg_get_lit(ctx, 4)) { PSENum = 2; - bool APDULogging = arg_get_lit(ctx, 5); + } + bool show_apdu = arg_get_lit(ctx, 5); bool decodeTLV = arg_get_lit(ctx, 6); + Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 7)) + if (arg_get_lit(ctx, 7)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // exec uint8_t buf[APDU_RES_LEN] = {0}; @@ -737,6 +743,7 @@ static int CmdEMVPPSE(const char *Cmd) { if (decodeTLV) TLVPrintFromBuffer(buf, len); + SetAPDULogging(false); return PM3_SUCCESS; } @@ -768,16 +775,17 @@ static int CmdEMVGPO(const char *Cmd) { bool leaveSignalON = arg_get_lit(ctx, 1); bool paramsLoadFromFile = arg_get_lit(ctx, 2); bool dataMakeFromPDOL = arg_get_lit(ctx, 3); - bool APDULogging = arg_get_lit(ctx, 4); + bool show_apdu = arg_get_lit(ctx, 4); bool decodeTLV = arg_get_lit(ctx, 5); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 6)) + if (arg_get_lit(ctx, 6)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIGetHexWithReturn(ctx, 7, data, &datalen); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // Init TLV tree const char *alr = "Root terminal TLV tree"; @@ -805,6 +813,7 @@ static int CmdEMVGPO(const char *Cmd) { PrintAndLogEx(ERR, "Can't create PDOL TLV."); tlvdb_free(tmp_ext); tlvdb_free(tlvRoot); + SetAPDULogging(false); return PM3_ESOFT; } } else { @@ -820,8 +829,10 @@ static int CmdEMVGPO(const char *Cmd) { PrintAndLogEx(ERR, "Can't create PDOL data."); tlvdb_free(tmp_ext); tlvdb_free(tlvRoot); - if (pdol_data_tlv != &data_tlv) + if (pdol_data_tlv != &data_tlv) { free(pdol_data_tlv); + } + SetAPDULogging(false); return PM3_ESOFT; } PrintAndLogEx(INFO, "PDOL data[%zu]: %s", pdol_data_tlv_data_len, sprint_hex(pdol_data_tlv_data, pdol_data_tlv_data_len)); @@ -847,6 +858,7 @@ static int CmdEMVGPO(const char *Cmd) { if (decodeTLV) TLVPrintFromBuffer(buf, len); + SetAPDULogging(false); return PM3_SUCCESS; } @@ -873,11 +885,12 @@ static int CmdEMVReadRecord(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); bool leaveSignalON = arg_get_lit(ctx, 1); - bool APDULogging = arg_get_lit(ctx, 2); + bool show_apdu = arg_get_lit(ctx, 2); bool decodeTLV = arg_get_lit(ctx, 3); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 4)) + if (arg_get_lit(ctx, 4)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIGetHexWithReturn(ctx, 5, data, &datalen); CLIParserFree(ctx); @@ -887,13 +900,14 @@ static int CmdEMVReadRecord(const char *Cmd) { return PM3_EINVARG; } - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // exec uint8_t buf[APDU_RES_LEN] = {0}; size_t len = 0; uint16_t sw = 0; int res = EMVReadRecord(channel, leaveSignalON, data[0], data[1], buf, sizeof(buf), &len, &sw, NULL); + SetAPDULogging(false); if (sw) PrintAndLogEx(INFO, "APDU response status: %04x - %s", sw, GetAPDUCodeDescription(sw >> 8, sw & 0xff)); @@ -940,14 +954,17 @@ static int CmdEMVAC(const char *Cmd) { bool trTypeCDA = arg_get_lit(ctx, 2); uint8_t termDecision = 0xff; if (arg_get_str_len(ctx, 3)) { - if (!strncmp(arg_get_str(ctx, 3)->sval[0], "aac", 4)) + if (!strncmp(arg_get_str(ctx, 3)->sval[0], "aac", 4)) { termDecision = EMVAC_AAC; - if (!strncmp(arg_get_str(ctx, 3)->sval[0], "tc", 4)) + } + if (!strncmp(arg_get_str(ctx, 3)->sval[0], "tc", 4)) { termDecision = EMVAC_TC; - if (!strncmp(arg_get_str(ctx, 3)->sval[0], "arqc", 4)) + } + if (!strncmp(arg_get_str(ctx, 3)->sval[0], "arqc", 4)) { termDecision = EMVAC_ARQC; + } - if (termDecision == 0xff) { + if (termDecision == 0xFF) { PrintAndLogEx(ERR, "ERROR: can't find terminal decision '%s'", arg_get_str(ctx, 3)->sval[0]); CLIParserFree(ctx); return PM3_EINVARG; @@ -955,22 +972,25 @@ static int CmdEMVAC(const char *Cmd) { } else { termDecision = EMVAC_TC; } - if (trTypeCDA) + + if (trTypeCDA) { termDecision = termDecision | EMVAC_CDAREQ; + } bool paramsLoadFromFile = arg_get_lit(ctx, 4); bool dataMakeFromCDOL = arg_get_lit(ctx, 5); - bool APDULogging = arg_get_lit(ctx, 6); + bool show_apdu = arg_get_lit(ctx, 6); bool decodeTLV = arg_get_lit(ctx, 7); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 8)) + if (arg_get_lit(ctx, 8)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIGetHexWithReturn(ctx, 9, data, &datalen); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // Init TLV tree const char *alr = "Root terminal TLV tree"; @@ -999,6 +1019,7 @@ static int CmdEMVAC(const char *Cmd) { PrintAndLogEx(ERR, "Can't create CDOL TLV."); tlvdb_free(tmp_ext); tlvdb_free(tlvRoot); + SetAPDULogging(false); return PM3_ESOFT; } } else { @@ -1015,6 +1036,7 @@ static int CmdEMVAC(const char *Cmd) { size_t len = 0; uint16_t sw = 0; int res = EMVAC(channel, leaveSignalON, termDecision, (uint8_t *)cdol_data_tlv->value, cdol_data_tlv->len, buf, sizeof(buf), &len, &sw, tlvRoot); + SetAPDULogging(false); if (cdol_data_tlv != &data_tlv) free(cdol_data_tlv); @@ -1053,20 +1075,22 @@ static int CmdEMVGenerateChallenge(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); bool leaveSignalON = arg_get_lit(ctx, 1); - bool APDULogging = arg_get_lit(ctx, 2); + bool show_apdu = arg_get_lit(ctx, 2); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 3)) + if (arg_get_lit(ctx, 3)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // exec uint8_t buf[APDU_RES_LEN] = {0}; size_t len = 0; uint16_t sw = 0; int res = EMVGenerateChallenge(channel, leaveSignalON, buf, sizeof(buf), &len, &sw, NULL); + SetAPDULogging(false); if (sw) PrintAndLogEx(INFO, "APDU response status: %04x - %s", sw, GetAPDUCodeDescription(sw >> 8, sw & 0xff)); @@ -1076,8 +1100,9 @@ static int CmdEMVGenerateChallenge(const char *Cmd) { PrintAndLogEx(SUCCESS, "Challenge: %s", sprint_hex(buf, len)); - if (len != 4 && len != 8) - PrintAndLogEx(WARNING, "Length of challenge must be 4 or 8, but it %zu", len); + if (len != 4 && len != 8) { + PrintAndLogEx(WARNING, "Length of challenge must be 4 or 8, got " _YELLOW_("%zu"), len); + } return PM3_SUCCESS; } @@ -1111,16 +1136,17 @@ static int CmdEMVInternalAuthenticate(const char *Cmd) { bool leaveSignalON = arg_get_lit(ctx, 1); bool paramsLoadFromFile = arg_get_lit(ctx, 2); bool dataMakeFromDDOL = arg_get_lit(ctx, 3); - bool APDULogging = arg_get_lit(ctx, 4); + bool show_apdu = arg_get_lit(ctx, 4); bool decodeTLV = arg_get_lit(ctx, 5); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 6)) + if (arg_get_lit(ctx, 6)) { channel = CC_CONTACT; + } PrintChannel(channel); CLIGetHexWithReturn(ctx, 7, data, &datalen); CLIParserFree(ctx); - SetAPDULogging(APDULogging); + SetAPDULogging(show_apdu); // Init TLV tree const char *alr = "Root terminal TLV tree"; @@ -1149,6 +1175,7 @@ static int CmdEMVInternalAuthenticate(const char *Cmd) { PrintAndLogEx(ERR, "Can't create DDOL TLV."); tlvdb_free(tmp_ext); tlvdb_free(tlvRoot); + SetAPDULogging(false); return PM3_ESOFT; } } else { @@ -1165,6 +1192,7 @@ static int CmdEMVInternalAuthenticate(const char *Cmd) { size_t len = 0; uint16_t sw = 0; int res = EMVInternalAuthenticate(channel, leaveSignalON, data, datalen, buf, sizeof(buf), &len, &sw, NULL); + SetAPDULogging(false); if (ddol_data_tlv != &data_tlv) free(ddol_data_tlv); @@ -1184,7 +1212,14 @@ static int CmdEMVInternalAuthenticate(const char *Cmd) { return PM3_SUCCESS; } -#define dreturn(n) {free(pdol_data_tlv); tlvdb_free(tlvSelect); tlvdb_free(tlvRoot); DropFieldEx( channel ); return n;} +#define dreturn(n) { \ + free(pdol_data_tlv); \ + tlvdb_free(tlvSelect); \ + tlvdb_free(tlvRoot); \ + DropFieldEx( channel ); \ + SetAPDULogging(false); \ + return n; \ + } static void InitTransactionParameters(struct tlvdb *tlvRoot, bool paramLoadJSON, enum TransactionType TrType, bool GenACGPO) { @@ -1327,21 +1362,24 @@ static int CmdEMVExec(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); bool activateField = arg_get_lit(ctx, 1); - bool showAPDU = arg_get_lit(ctx, 2); + bool show_apdu = arg_get_lit(ctx, 2); bool decodeTLV = arg_get_lit(ctx, 3); bool paramLoadJSON = arg_get_lit(ctx, 4); bool forceSearch = arg_get_lit(ctx, 5); enum TransactionType TrType = TT_MSD; - if (arg_get_lit(ctx, 7)) + if (arg_get_lit(ctx, 7)) { TrType = TT_QVSDCMCHIP; + } - if (arg_get_lit(ctx, 8)) + if (arg_get_lit(ctx, 8)) { TrType = TT_CDA; + } - if (arg_get_lit(ctx, 9)) + if (arg_get_lit(ctx, 9)) { TrType = TT_VSDC; + } bool GenACGPO = arg_get_lit(ctx, 10); @@ -1354,14 +1392,14 @@ static int CmdEMVExec(const char *Cmd) { uint8_t psenum = (channel == CC_CONTACT) ? 1 : 2; CLIParserFree(ctx); - if (!IfPm3Smartcard()) { + if (IfPm3Smartcard() == false) { if (channel == CC_CONTACT) { PrintAndLogEx(WARNING, "PM3 does not have SMARTCARD support. Exiting."); return PM3_EDEVNOTSUPP; } } - SetAPDULogging(showAPDU); + SetAPDULogging(show_apdu); uint8_t buf[APDU_RES_LEN] = {0}; size_t len = 0; @@ -1387,7 +1425,7 @@ static int CmdEMVExec(const char *Cmd) { // PPSE PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "* PPSE."); - SetAPDULogging(showAPDU); + SetAPDULogging(show_apdu); res = EMVSearchPSE(channel, activateField, true, psenum, decodeTLV, tlvSelect); // check PPSE instead of PSE and vice versa @@ -1428,7 +1466,7 @@ static int CmdEMVExec(const char *Cmd) { // Select PrintAndLogEx(INFO, "\n* Selecting AID:%s", sprint_hex_inrow(AID, AIDlen)); - SetAPDULogging(showAPDU); + SetAPDULogging(show_apdu); res = EMVSelect(channel, false, true, AID, AIDlen, buf, sizeof(buf), &len, &sw, tlvRoot); if (res) { @@ -1436,8 +1474,9 @@ static int CmdEMVExec(const char *Cmd) { dreturn(PM3_ERFTRANS); } - if (decodeTLV) + if (decodeTLV) { TLVPrintFromBuffer(buf, len); + } PrintAndLogEx(INFO, "* Selected."); PrintAndLogEx(INFO, "\n* Init transaction parameters."); @@ -1492,8 +1531,9 @@ static int CmdEMVExec(const char *Cmd) { PrintAndLogEx(INFO, "\n* Read records from AFL."); const struct tlv *AFL = tlvdb_get(tlvRoot, 0x94, NULL); - if (!AFL || !AFL->len) + if (!AFL || !AFL->len) { PrintAndLogEx(WARNING, "WARNING: AFL not found."); + } while (AFL && AFL->len) { if (AFL->len % 4) { @@ -1614,19 +1654,24 @@ static int CmdEMVExec(const char *Cmd) { TLVPrintFromTLVLev(cvr, 1); PrintAndLogEx(INFO, " IDD option id: 0x%02x", IAD->value[8]); PrintAndLogEx(INFO, " IDD: %s", sprint_hex(&IAD->value[9], 23)); + } else if (IAD->len >= IAD->value[0] + 1) { PrintAndLogEx(INFO, " Key index: 0x%02x", IAD->value[1]); PrintAndLogEx(INFO, " Crypto ver: 0x%02x(%03d)", IAD->value[2], IAD->value[2]); PrintAndLogEx(INFO, " CVR: %s", sprint_hex(&IAD->value[3], IAD->value[0] - 2)); struct tlvdb *cvr = tlvdb_fixed(0x20, IAD->value[0] - 2, &IAD->value[3]); TLVPrintFromTLVLev(cvr, 1); + if (IAD->len >= 8) { int iddLen = IAD->value[7]; PrintAndLogEx(NORMAL, " IDD length: %d", iddLen); - if (iddLen >= 1) + if (iddLen >= 1) { PrintAndLogEx(NORMAL, " IDD option id: 0x%02x", IAD->value[8]); - if (iddLen >= 2) + } + + if (iddLen >= 2) { PrintAndLogEx(NORMAL, " IDD: %s", sprint_hex(&IAD->value[9], iddLen - 1)); + } } } } else { @@ -1641,6 +1686,7 @@ static int CmdEMVExec(const char *Cmd) { // Mastercard M/CHIP if (GetCardPSVendor(AID, AIDlen) == CV_MASTERCARD && (TrType == TT_QVSDCMCHIP || TrType == TT_CDA)) { + const struct tlv *CDOL1 = tlvdb_get(tlvRoot, 0x8c, NULL); if (CDOL1 && GetCardPSVendor(AID, AIDlen) == CV_MASTERCARD) { // and m/chip transaction flag PrintAndLogEx(INFO, "\n--> Mastercard M/Chip transaction."); @@ -1651,6 +1697,7 @@ static int CmdEMVExec(const char *Cmd) { PrintAndLogEx(ERR, "Error GetChallenge. APDU error %4x", sw); dreturn(PM3_ERFTRANS); } + if (len < 4) { PrintAndLogEx(ERR, "Error GetChallenge. Wrong challenge length %zu", len); dreturn(PM3_ESOFT); @@ -1681,8 +1728,9 @@ static int CmdEMVExec(const char *Cmd) { dreturn(PM3_ERFTRANS); } - if (decodeTLV) + if (decodeTLV) { TLVPrintFromBuffer(buf, len); + } // CDA PrintAndLogEx(INFO, "\n* CDA:"); @@ -1705,7 +1753,8 @@ static int CmdEMVExec(const char *Cmd) { if (CID) { emv_tag_dump(CID, 1); PrintAndLogEx(INFO, "------------------------------"); - if (CID->len > 0) { + + if (CID->len) { switch (CID->value[0] & EMVAC_AC_MASK) { case EMVAC_AAC: PrintAndLogEx(INFO, "Transaction DECLINED."); @@ -1755,8 +1804,9 @@ static int CmdEMVExec(const char *Cmd) { .len = 3, .value = (uint8_t *)"\x9f\x6a\x04", }; - if (!UDOL) + if (!UDOL) { PrintAndLogEx(INFO, "Use default UDOL."); + } struct tlv *udol_data_tlv = dol_process(UDOL ? UDOL : &defUDOL, tlvRoot, 0x01); // 0x01 - dummy tag if (!udol_data_tlv) { @@ -1831,6 +1881,7 @@ static int CmdEMVExec(const char *Cmd) { uint8_t IDDlen = 0; // Issuer discretionary data length PrintAndLogEx(INFO, "IAD length: %zu", IAD->len); PrintAndLogEx(INFO, "VDDlen: %d", VDDlen); + if (VDDlen < IAD->len - 1) { IDDlen = IAD->value[VDDlen + 1]; } @@ -1852,9 +1903,11 @@ static int CmdEMVExec(const char *Cmd) { PrintAndLogEx(WARNING, "Wrong CVR length! CVR: %s", sprint_hex(&IAD->value[3], VDDlen - 2)); } } + if (IDDlen) { PrintAndLogEx(INFO, "IDD: %s", sprint_hex(&IAD->value[VDDlen + 1], IDDlen)); } + } else { PrintAndLogEx(WARNING, "Issuer Application Data (IAD) not found."); } @@ -1928,6 +1981,7 @@ static int CmdEMVExec(const char *Cmd) { tlvdb_free(tlvRoot); PrintAndLogEx(SUCCESS, "\n* Transaction completed."); + SetAPDULogging(false); return PM3_SUCCESS; } @@ -1958,25 +2012,29 @@ static int CmdEMVScan(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); - bool showAPDU = arg_get_lit(ctx, 1); + bool show_apdu = arg_get_lit(ctx, 1); bool decodeTLV = arg_get_lit(ctx, 2); bool extractTLVElements = arg_get_lit(ctx, 3); bool paramLoadJSON = arg_get_lit(ctx, 4); enum TransactionType TrType = TT_MSD; - if (arg_get_lit(ctx, 6)) + if (arg_get_lit(ctx, 6)){ TrType = TT_QVSDCMCHIP; - if (arg_get_lit(ctx, 7)) + } + if (arg_get_lit(ctx, 7)) { TrType = TT_CDA; - if (arg_get_lit(ctx, 8)) + } + if (arg_get_lit(ctx, 8)) { TrType = TT_VSDC; + } bool GenACGPO = arg_get_lit(ctx, 9); bool MergeJSON = arg_get_lit(ctx, 10); Iso7816CommandChannel channel = CC_CONTACTLESS; - if (arg_get_lit(ctx, 11)) + if (arg_get_lit(ctx, 11)) { channel = CC_CONTACT; + } PrintChannel(channel); @@ -1988,15 +2046,13 @@ static int CmdEMVScan(const char *Cmd) { CLIParserFree(ctx); - if (!IfPm3Smartcard()) { + if (IfPm3Smartcard() == false) { if (channel == CC_CONTACT) { PrintAndLogEx(WARNING, "PM3 does not have SMARTCARD support, exiting"); return PM3_EDEVNOTSUPP; } } - SetAPDULogging(showAPDU); - uint8_t AID[APDU_AID_LEN] = {0}; size_t AIDlen = 0; uint8_t buf[APDU_RES_LEN] = {0}; @@ -2026,6 +2082,8 @@ static int CmdEMVScan(const char *Cmd) { root = json_object(); } + SetAPDULogging(show_apdu); + // drop field at start DropFieldEx(channel); @@ -2103,7 +2161,7 @@ static int CmdEMVScan(const char *Cmd) { } // EMV SELECT application - SetAPDULogging(showAPDU); + SetAPDULogging(show_apdu); EMVSelectApplication(tlvSelect, AID, &AIDlen); tlvdb_free(tlvSelect); @@ -2123,7 +2181,7 @@ static int CmdEMVScan(const char *Cmd) { // EMV SELECT applet PrintAndLogEx(INFO, "Selecting AID: " _GREEN_("%s"), sprint_hex_inrow(AID, AIDlen)); - SetAPDULogging(showAPDU); + SetAPDULogging(show_apdu); res = EMVSelect(channel, false, true, AID, AIDlen, buf, sizeof(buf), &len, &sw, tlvRoot); if (res) { @@ -2214,10 +2272,12 @@ static int CmdEMVScan(const char *Cmd) { sfijson = json_path_get(root, "$.Application.Records"); } + if (!json_is_array(sfijson)) { PrintAndLogEx(ERR, "Internal logic error. `$.Application.Records` is not an array."); break; } + for (int i = 0; i < AFL->len / 4; i++) { uint8_t SFI = AFL->value[i * 4 + 0] >> 3; uint8_t SFIstart = AFL->value[i * 4 + 1]; @@ -2273,11 +2333,11 @@ static int CmdEMVScan(const char *Cmd) { JsonSaveHex(jsonelm, "Offline", SFIoffline, 1); struct tlvdb *rsfi = tlvdb_parse_multi(buf, len); - if (extractTLVElements) + if (extractTLVElements) { JsonSaveTLVTree(root, jsonelm, "$.Data", rsfi); - else + } else { JsonSaveTLVTreeElm(jsonelm, "$.Data", rsfi, true, true, false); - + } tlvdb_free(rsfi); } } @@ -2303,7 +2363,7 @@ static int CmdEMVScan(const char *Cmd) { tlvdb_free(tlvRoot); DropFieldEx(channel); - + SetAPDULogging(false); if (MergeJSON == false) { // create unique new name @@ -2386,7 +2446,7 @@ static int CmdEMVRoca(const char *Cmd) { CLIParserFree(ctx); PrintChannel(channel); - if (!IfPm3Smartcard()) { + if (IfPm3Smartcard() == false) { if (channel == CC_CONTACT) { PrintAndLogEx(WARNING, "PM3 does not have SMARTCARD support, exiting"); return PM3_EDEVNOTSUPP; @@ -2425,6 +2485,7 @@ static int CmdEMVRoca(const char *Cmd) { PrintAndLogEx(ERR, "Can't found any of EMV AID, exiting"); tlvdb_free(tlvSelect); DropFieldEx(channel); + SetAPDULogging(false); return PM3_ERFTRANS; } @@ -2620,6 +2681,7 @@ static int CmdEMVRoca(const char *Cmd) { } out: + SetAPDULogging(false); tlvdb_free(tlvRoot); DropFieldEx(channel); return ret; @@ -2715,7 +2777,6 @@ static int CmdEMVReader(const char *Cmd) { uint8_t log_file_records = 31; struct tlvdb *tlogDB = NULL; - // try getting the LOG TEMPLATE. bool log_found = false; bool log_template_found = false; @@ -2807,8 +2868,9 @@ static int CmdEMVReader(const char *Cmd) { continue; } - if (sw == 0x6A83) + if (sw == 0x6A83) { break; + } PrintAndLogEx(INFO, ""); PrintAndLogEx(INFO, "Transaction log # " _YELLOW_("%u"), i); From 161638a76bb4fb42d08d785213dfd0bb0a7ccb96 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Thu, 12 Oct 2023 13:58:09 +0800 Subject: [PATCH 061/278] Fixed command to be online only As all the commands require cardhelper it is not possible to run this command without being in online mode. --- doc/commands.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/commands.json b/doc/commands.json index e38b0ae40..08d0007e2 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -3018,7 +3018,7 @@ "hf iclass configcard --ci 1 -> view config card setting in slot 1", "hf iclass configcard -g --ci 0 -> generate config file from slot 0" ], - "offline": true, + "offline": false, "options": [ "-h, --help This help", "--ci use config slot at index", From 3a1a09ef634d86d5c98ec0d684353db35aaa23e7 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 12 Oct 2023 09:37:44 +0200 Subject: [PATCH 062/278] adapt to be online mode only --- client/src/cmdhficlass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 0583c714f..635b1bfaa 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4450,7 +4450,7 @@ static command_t CommandTable[] = { {"esetblk", CmdHFiClassESetBlk, IfPm3Iclass, "Set emulator memory block data"}, {"eview", CmdHFiClassEView, IfPm3Iclass, "View emulator memory"}, {"-----------", CmdHelp, AlwaysAvailable, "---------------------- " _CYAN_("utils") " ----------------------"}, - {"configcard", CmdHFiClassConfigCard, AlwaysAvailable, "Reader configuration card"}, + {"configcard", CmdHFiClassConfigCard, IfPm3Smartcard, "Reader configuration card"}, {"calcnewkey", CmdHFiClassCalcNewKey, AlwaysAvailable, "Calc diversified keys (blocks 3 & 4) to write new keys"}, {"encode", CmdHFiClassEncode, AlwaysAvailable, "Encode binary wiegand to block 7"}, {"encrypt", CmdHFiClassEncryptBlk, AlwaysAvailable, "Encrypt given block data"}, From ef348a2aa01d2845a664fa14a7d985bb8a56ef1b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 12 Oct 2023 14:51:18 +0200 Subject: [PATCH 063/278] adapt a bit --- armsrc/Standalone/hf_msdsal.c | 84 +++++++++++++++++++++------- armsrc/Standalone/hf_reblay.c | 100 +++++++++++++++++++--------------- 2 files changed, 119 insertions(+), 65 deletions(-) diff --git a/armsrc/Standalone/hf_msdsal.c b/armsrc/Standalone/hf_msdsal.c index 18729cdc0..b382a9fc3 100644 --- a/armsrc/Standalone/hf_msdsal.c +++ b/armsrc/Standalone/hf_msdsal.c @@ -28,6 +28,7 @@ #include "iso14443a.h" #include "protocols.h" #include "cmd.h" +#include "commonutil.h" void ModInfo(void) { DbpString(" HF - Reading VISA cards & Emulating a VISA MSD Transaction(ISO14443) - (Salvador Mendoza)"); @@ -152,10 +153,32 @@ void RunMod(void) { 0x59, 0x2e, 0x53, 0x59, 0x53, 0x2e, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00 }; - uint8_t visa[13] = { - 0x00, 0xA4, 0x04, 0x00, 0x07, 0xa0, 0x00, 0x00, - 0x00, 0x03, 0x10, 0x10, 0x00 + + uint8_t visa[] = { 0x00, 0xA4, 0x04, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, 0x00 }; + + + /* + uint8_t select_aid_hdr[5] = { 0x00, 0xA4, 0x04, 0x00, 0x00 }; + static const char* aid_list [] = { + "A00000000305076010", // VISA ELO Credit + "A0000000031010", // VISA Debit/Credit (Classic) + "A000000003101001", // VISA Credit + "A000000003101002", // VISA Debit + "A0000000032010", // VISA Electron + "A0000000032020", // VISA + "A0000000033010", // VISA Interlink + "A0000000034010", // VISA Specific + "A0000000035010", // VISA Specific + "A0000000036010", // Domestic Visa Cash Stored Value + "A0000000036020", // International Visa Cash Stored Value + "A0000000038002", // VISA Auth, VisaRemAuthen EMV-CAP (DPA) + "A0000000038010", // VISA Plus + "A0000000039010", // VISA Loyalty + "A000000003999910", // VISA Proprietary ATM + "A000000098", // Visa USA Debit Card + "A0000000980848", // Visa USA Debit Cardv }; + */ uint8_t processing [8] = {0x80, 0xA8, 0x00, 0x00, 0x02, 0x83, 0x00, 0x00}; uint8_t sfi[5] = {0x00, 0xb2, 0x01, 0x0c, 0x00}; @@ -169,11 +192,16 @@ void RunMod(void) { // - MSD token card format - // - //Card number: 4412 3456 0578 1234 - //Expiration date: 17/11 - //Service code: 201 - //Discretionary data: 0000030000991 - //char token[19] = {0x44,0x12,0x34,0x56,0x05,0x78,0x12,0x34,0xd1,0x71,0x12,0x01,0x00,0x00,0x03,0x00,0x00,0x99,0x1f}; + // Card number.............. 4412 3456 0578 1234 + // Expiration date.......... 17/11 + // Service code............. 201 + // Discretionary data....... 0000030000991 + // Pin verification value... 0000 + // CVV / iCvv............... 030 + // Trailing................. 000991 + + // 44 12 34 56 05 78 12 34 D 1711 2 01 00 00 03 00 00 99 1 + // char token[19] = {0x44,0x12,0x34,0x56,0x05,0x78,0x12,0x34,0xd1,0x71,0x12,0x01,0x00,0x00,0x03,0x00,0x00,0x99,0x1f}; // // It is possible to initialize directly the emulation mode, having "token" with data and set "chktoken" = true ;) // @@ -185,7 +213,7 @@ void RunMod(void) { // in case there is a read command received we shouldn't break uint8_t data[PM3_CMD_DATA_SIZE] = {0x00}; - uint8_t visauid[7] = {0x04, 0x02, 0x03, 0x04}; + uint8_t visauid[7] = {0xE9, 0x66, 0x5D, 0x20}; memcpy(data, visauid, 4); // to initialize the emulation @@ -275,6 +303,10 @@ void RunMod(void) { chktoken = false; LED_C_OFF(); LED_B_ON(); + + // add loop visa + // for (int i = 0; i < ARRAYLEN(AIDlist); i ++) { +// hexstr_to_byte_array("a0da02631a440a44000000a012ad10a00e800200048108", sam_apdu, &sam_len); uint8_t apdulen = iso14_apdu(apdus[i], (uint16_t) apduslen[i], false, apdubuffer, NULL); if (apdulen > 0) { @@ -289,8 +321,10 @@ void RunMod(void) { // check for PDOL if (apdubuffer[u] == 0x9F && apdubuffer[u + 1] == 0x38) { - for (uint8_t e = 0; e <= apdubuffer[u + 2]; e++) + + for (uint8_t e = 0; e <= apdubuffer[u + 2]; e++) { pdol[e] = apdubuffer[u + e + 2]; + } // generate a challenge plen = treatPDOL(pdol); @@ -425,12 +459,16 @@ void RunMod(void) { // depending on card reader commands, the Proxmark will answer to fool the reader // respond with PPSE if (receivedCmd[2] == 0xA4 && receivedCmd[6] == 0x32 && prevCmd == 0) { + // need to adapt lengths.. uint8_t ppsea[39] = { + // 0x23 = 35, skip two first bytes then the message - SW 2 is 35 = 0x23 0x6F, 0x23, 0x84, 0x0E, 0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0xA5, 0x11, 0xBF, 0x0C, 0x0E, 0x61, - 0x0C, 0x4F, 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, - 0x10, 0x10, 0x87, 0x01, 0x01, 0x90, 0x00 + 0x0C, 0x4F, + // len aid0 aid1 aid2... + 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, + 0x87, 0x01, 0x01, 0x90, 0x00 }; memcpy(&dynamic_response_info.response[1], ppsea, sizeof(ppsea)); dynamic_response_info.response_n = sizeof(ppsea) + 1; @@ -439,10 +477,14 @@ void RunMod(void) { // respond Visa AID } else if (receivedCmd[2] == 0xA4 && receivedCmd[10] == 0x03 && receivedCmd[11] == 0x10 && prevCmd == 1) { uint8_t visauid_long[34] = { - 0x6F, 0x1E, 0x84, 0x07, 0xA0, 0x00, 0x00, 0x00, - 0x03, 0x10, 0x10, 0xA5, 0x13, 0x50, 0x0B, 0x56, - 0x49, 0x53, 0x41, 0x20, 0x43, 0x52, 0x45, 0x44, - 0x49, 0x54, 0x9F, 0x38, 0x03, 0x9F, 0x66, 0x02, + // 0x1E = 30, skip two first bytes then the message - SW 2 is 30 = 0x1E + 0x6F, 0x1E, 0x84, + // len aid0 aid1 aid2.... + 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, + 0xA5, 0x13, 0x50, + // len V I S A C R E D I T + 0x0B, 0x56, 0x49, 0x53, 0x41, 0x20, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, + 0x9F, 0x38, 0x03, 0x9F, 0x66, 0x02, 0x90, 0x00 }; memcpy(&dynamic_response_info.response[1], visauid_long, sizeof(visauid_long)); @@ -461,16 +503,18 @@ void RunMod(void) { uint8_t card[25] = { 0x70, 0x15, 0x57, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x00 }; + // add token array == Track 2 found before memcpy(&card[4], token, sizeof(token)); + memcpy(&dynamic_response_info.response[1], card, sizeof(card)); dynamic_response_info.response_n = sizeof(card) + 1; prevCmd++; } else { - uint8_t finished[2] = {0x6f, 0x00}; + uint8_t finished[2] = {0x6F, 0x00}; memcpy(&dynamic_response_info.response[1], finished, sizeof(finished)); dynamic_response_info.response_n = sizeof(finished) + 1; if (prevCmd == 5) { @@ -509,8 +553,8 @@ void RunMod(void) { EmSendPrecompiledCmd(p_response); } } - switch_off(); + switch_off(); set_tracing(false); BigBuf_free_keep_EM(); reply_ng(CMD_HF_MIFARE_SIMULATE, retval, NULL, 0); diff --git a/armsrc/Standalone/hf_reblay.c b/armsrc/Standalone/hf_reblay.c index cf290fa31..497d215a3 100644 --- a/armsrc/Standalone/hf_reblay.c +++ b/armsrc/Standalone/hf_reblay.c @@ -73,29 +73,25 @@ void ModInfo(void) { void RunMod() { StandAloneMode(); - Dbprintf(_YELLOW_(">>") "Relaying ISO/14443A data over Bluetooth a.k.a. reblay Started<<"); + DbpString(""); + Dbprintf(_YELLOW_(">>> ") " Relaying ISO/14443A data over Bluetooth a.k.a. reblay Started " _YELLOW_("<<<")); + DbpString(""); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); -// Allocate 512 bytes for the dynamic modulation, created when the reader queries for it -// Such a response is less time critical, so we can prepare them on the fly -#define DYNAMIC_RESPONSE_BUFFER_SIZE 512 -#define DYNAMIC_MODULATION_BUFFER_SIZE 1024 - uint8_t flags = FLAG_4B_UID_IN_DATA; //UID 4 bytes(could be 7 bytes if needed it) - uint8_t data[PM3_CMD_DATA_SIZE] = {0x00}; // in case there is a read command received we shouldn't break - uint8_t visauid[7] = {0x01, 0x02, 0x03, 0x04}; + // UID 4 bytes(could be 7 bytes if needed it) + uint8_t flags = FLAG_4B_UID_IN_DATA; + // in case there is a read command received we shouldn't break + uint8_t data[PM3_CMD_DATA_SIZE] = {0x00}; + + uint8_t visauid[7] = {0xE9, 0x66, 0x5D, 0x20}; memcpy(data, visauid, 4); // to initialize the emulation - uint8_t tagType = 4; // 4 = ISO/IEC 14443-4 - javacard (JCOP) tag_response_info_t *responses; uint32_t cuid = 0; - uint32_t counters[3] = { 0x00, 0x00, 0x00 }; - uint8_t tearings[3] = { 0xbd, 0xbd, 0xbd }; - uint8_t pages = 0; - // For received Bluetooth package uint8_t rpacket[MAX_FRAME_SIZE] = { 0x00 }; @@ -126,6 +122,12 @@ void RunMod() { uint8_t receivedCmd[MAX_FRAME_SIZE] = { 0x00 }; uint8_t receivedCmdPar[MAX_PARITY_SIZE] = { 0x00 }; + +// Allocate 512 bytes for the dynamic modulation, created when the reader queries for it +// Such a response is less time critical, so we can prepare them on the fly +#define DYNAMIC_RESPONSE_BUFFER_SIZE 512 +#define DYNAMIC_MODULATION_BUFFER_SIZE 1024 + uint8_t dynamic_response_buffer[DYNAMIC_RESPONSE_BUFFER_SIZE] = {0}; uint8_t dynamic_modulation_buffer[DYNAMIC_MODULATION_BUFFER_SIZE] = {0}; @@ -143,9 +145,9 @@ void RunMod() { uint8_t state = STATE_READ; if (state == STATE_READ) { - DbpString(_YELLOW_("[ ") "In reading mode" _YELLOW_(" ]")); + DbpString("Initialized [ " _YELLOW_("reading mode") " ]"); } else { - DbpString(_YELLOW_("[ ") "In emulation mode" _YELLOW_(" ]")); + DbpString("Initialized [ " _BLUE_("emulation mode") " ]"); } for (;;) { @@ -162,10 +164,10 @@ void RunMod() { else if (button_pressed == BUTTON_SINGLE_CLICK) { // Pressing one time change between reading & emulation if (state == STATE_READ) { state = STATE_EMU; - DbpString(_YELLOW_("[ ") "In emulation mode" _YELLOW_(" ]")); + DbpString("[ " _BLUE_("Emulation mode") " ]"); } else { state = STATE_READ; - DbpString(_YELLOW_("[ ") "In reading mode" _YELLOW_(" ]")); + DbpString("[ " _YELLOW_("Reading mode") " ]"); } } @@ -178,6 +180,7 @@ void RunMod() { iso14443a_setup(FPGA_HF_ISO14443A_READER_MOD); if (iso14443a_select_card(NULL, &card_a_info, NULL, true, 0, false)) { + LED_B_ON(); // Get data to send a ping with UID + ATQA + SAK @@ -208,7 +211,9 @@ void RunMod() { Dbhexdump(uidlen + 4, rdata, false); DbpString(_YELLOW_("[ ") "Sending ping" _YELLOW_(" ]")); + if (usart_writebuffer_sync(rdata, uidlen + 4) == PM3_SUCCESS) { + DbpString(_YELLOW_("[ ") "Sent!" _YELLOW_(" ]")); for (;;) { @@ -261,26 +266,31 @@ void RunMod() { // free eventually allocated BigBuf memory but keep Emulator Memory BigBuf_free_keep_EM(); - if (SimulateIso14443aInit(tagType, flags, data, &responses, &cuid, counters, tearings, &pages) == false) { + // 4 = ISO/IEC 14443-4 - javacard (JCOP) + if (SimulateIso14443aInit(4, flags, data, &responses, &cuid, NULL, NULL, NULL) == false) { BigBuf_free_keep_EM(); reply_ng(CMD_HF_MIFARE_SIMULATE, PM3_EINIT, NULL, 0); - DbpString(_YELLOW_("!!") "Error initializing the emulation process!"); + DbpString(_RED_("Error initializing the emulation process!")); SpinDelay(500); state = STATE_READ; - DbpString(_YELLOW_("[ ") "Initialized reading mode" _YELLOW_(" ]")); + DbpString("Initialized [ "_YELLOW_("reading mode") " ]"); continue; } // We need to listen to the high-frequency, peak-detected path. iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN); - int len = 0; // Command length - int retval = PM3_SUCCESS; // Check emulation status + // Command length + int len = 0; + // Check emulation status + int retval = PM3_SUCCESS; - uint8_t resp = 0; // Bluetooth response + // Bluetooth response + uint8_t resp = 0; lenpacket = 0; - uint8_t prevcmd = 0x00; // Keep track of last terminal type command + // Keep track of last terminal type command + uint8_t prevcmd = 0x00; clear_trace(); set_tracing(true); @@ -288,11 +298,12 @@ void RunMod() { for (;;) { LED_B_OFF(); // Clean receive command buffer - if (!GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len)) { - DbpString(_YELLOW_("!!") "Emulator stopped"); + if (GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len) == false) { + DbpString("Emulator stopped"); retval = PM3_EOPABORTED; break; } + tag_response_info_t *p_response = NULL; LED_B_ON(); @@ -314,46 +325,42 @@ void RunMod() { } } if (receivedCmd[0] == ISO14443A_CMD_REQA && len == 1) { // Received a REQUEST -// DbpString(_YELLOW_("+") "REQUEST Received"); p_response = &responses[RESP_INDEX_ATQA]; } else if (receivedCmd[0] == ISO14443A_CMD_HALT && len == 4) { // Received a HALT -// DbpString(_YELLOW_("+") "Received a HALT"); p_response = NULL; resp = 0; } else if (receivedCmd[0] == ISO14443A_CMD_WUPA && len == 1) { // Received a WAKEUP -// DbpString(_YELLOW_("+") "WAKEUP Received"); p_response = &responses[RESP_INDEX_ATQA]; resp = 0; } else if (receivedCmd[1] == 0x20 && receivedCmd[0] == ISO14443A_CMD_ANTICOLL_OR_SELECT && len == 2) { // Received request for UID (cascade 1) -// DbpString(_YELLOW_("+") "Request for UID C1"); p_response = &responses[RESP_INDEX_UIDC1]; } else if (receivedCmd[1] == 0x70 && receivedCmd[0] == ISO14443A_CMD_ANTICOLL_OR_SELECT && len == 9) { // Received a SELECT (cascade 1) -// DbpString(_YELLOW_("+") "Request for SELECT S1"); p_response = &responses[RESP_INDEX_SAKC1]; } else if (receivedCmd[0] == ISO14443A_CMD_RATS && len == 4) { // Received a RATS request -// DbpString(_YELLOW_("+") "Request for RATS"); p_response = &responses[RESP_INDEX_RATS]; resp = 1; } else if (receivedCmd[0] == 0xf2 && len == 4) { // ACKed - Time extension - DbpString(_YELLOW_("!!") "Reader accepted time extension!"); + DbpString(_YELLOW_("!!") " Reader accepted time extension!"); p_response = NULL; } else if ((receivedCmd[0] == 0xb2 || receivedCmd[0] == 0xb3) && len == 3) { //NACK - Request more time WTX - DbpString(_YELLOW_("!!") "NACK - time extension request?"); + DbpString(_YELLOW_("!!") " NACK - time extension request?"); if (resp == 2 && lenpacket == 0) { - DbpString(_YELLOW_("!!") "Requesting more time - WTX"); + DbpString(_YELLOW_("!!") " Requesting more time - WTX"); dynamic_response_info.response_n = 2; dynamic_response_info.response[0] = 0xf2; dynamic_response_info.response[1] = 0x0b; // Requesting the maximum amount of time } else if (lenpacket == 0) { - DbpString(_YELLOW_("!!") "NACK - ACK - Resend last command!"); // To burn some time as well + DbpString(_YELLOW_("!!") " NACK - ACK - Resend last command!"); // To burn some time as well dynamic_response_info.response[0] = 0xa3; dynamic_response_info.response_n = 1; } else { - DbpString(_YELLOW_("!!") "Avoiding request - Bluetooth data already in memory!!"); + DbpString(_YELLOW_("!!") " Avoiding request - Bluetooth data already in memory!!"); } } else { - DbpString(_GREEN_("[ ") "Card reader command" _GREEN_(" ]")); - Dbhexdump(len - 2, &receivedCmd[1], false); + if (g_dbglevel == DBG_DEBUG ) { + DbpString("[ "_YELLOW_("Card reader command") " ]"); + Dbhexdump(len - 2, &receivedCmd[1], false); + } if ((receivedCmd[0] == 0x02 || receivedCmd[0] == 0x03) && len > 3) { // Process reader commands @@ -379,16 +386,17 @@ void RunMod() { } else { if (lenpacket == 0) { - DbpString(_YELLOW_("!!") "Received unknown command!"); + DbpString(_RED_("Received unknown command!")); memcpy(dynamic_response_info.response, receivedCmd, len); dynamic_response_info.response_n = len; } else { - DbpString(_YELLOW_("!!") "Avoiding unknown command - Bluetooth data already in memory!!"); + DbpString(_YELLOW_("!!") " Avoiding unknown command - Bluetooth data already in memory !!"); } } } + if (dynamic_response_info.response_n > 0) { - DbpString(_GREEN_("[ ") "Proxmark3 answer" _GREEN_(" ]")); + DbpString("[ " _GREEN_("Proxmark3 answer") " ]"); Dbhexdump(dynamic_response_info.response_n, dynamic_response_info.response, false); DbpString("----"); if (lenpacket > 0) { @@ -402,7 +410,7 @@ void RunMod() { if (prepare_tag_modulation(&dynamic_response_info, DYNAMIC_MODULATION_BUFFER_SIZE) == false) { Dbprintf(_YELLOW_("[ ") "Buffer size: %d "_YELLOW_(" ]"), dynamic_response_info.response_n); SpinDelay(500); - DbpString(_YELLOW_("!!") "Error preparing Proxmark to answer!"); + DbpString(_RED_("Error preparing Proxmark to answer!")); continue; } p_response = &dynamic_response_info; @@ -412,13 +420,15 @@ void RunMod() { EmSendPrecompiledCmd(p_response); } } - switch_off(); + switch_off(); set_tracing(false); BigBuf_free_keep_EM(); reply_ng(CMD_HF_MIFARE_SIMULATE, retval, NULL, 0); } } - DbpString(_YELLOW_("[=]") "exiting"); + DbpString("Exit standalone mode!"); + DbpString(""); + SpinErr(15, 200, 3); LEDsoff(); } From 0ff41fa652438a4911503a3c5518c614705d7fbc Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 12 Oct 2023 14:53:26 +0200 Subject: [PATCH 064/278] style --- armsrc/Standalone/hf_msdsal.c | 32 ++++++++++++++++---------------- armsrc/Standalone/hf_reblay.c | 6 +++--- armsrc/iso14443a.c | 8 ++++---- client/src/cmdhficlass.c | 2 +- client/src/emv/cmdemv.c | 6 +++--- client/src/iso7816/iso7816core.c | 20 ++++++++++---------- client/src/pm3line_vocabulary.h | 2 +- doc/commands.json | 2 +- doc/commands.md | 2 +- include/protocols.h | 2 +- 10 files changed, 41 insertions(+), 41 deletions(-) diff --git a/armsrc/Standalone/hf_msdsal.c b/armsrc/Standalone/hf_msdsal.c index b382a9fc3..b58c36856 100644 --- a/armsrc/Standalone/hf_msdsal.c +++ b/armsrc/Standalone/hf_msdsal.c @@ -304,15 +304,15 @@ void RunMod(void) { LED_C_OFF(); LED_B_ON(); - // add loop visa - // for (int i = 0; i < ARRAYLEN(AIDlist); i ++) { + // add loop visa + // for (int i = 0; i < ARRAYLEN(AIDlist); i ++) { // hexstr_to_byte_array("a0da02631a440a44000000a012ad10a00e800200048108", sam_apdu, &sam_len); uint8_t apdulen = iso14_apdu(apdus[i], (uint16_t) apduslen[i], false, apdubuffer, NULL); if (apdulen > 0) { DbpString("[ " _YELLOW_("Proxmark command") " ]"); Dbhexdump(apduslen[i], apdus[i], false); - DbpString("[ " _GREEN_( "Card answer") " ]"); + DbpString("[ " _GREEN_("Card answer") " ]"); Dbhexdump(apdulen - 2, apdubuffer, false); DbpString("-------------------------------"); @@ -447,7 +447,7 @@ void RunMod(void) { p_response = &responses[RESP_INDEX_RATS]; } else { - if (g_dbglevel == DBG_DEBUG ) { + if (g_dbglevel == DBG_DEBUG) { DbpString("[ "_YELLOW_("Card reader command") " ]"); Dbhexdump(len, receivedCmd, false); } @@ -459,14 +459,14 @@ void RunMod(void) { // depending on card reader commands, the Proxmark will answer to fool the reader // respond with PPSE if (receivedCmd[2] == 0xA4 && receivedCmd[6] == 0x32 && prevCmd == 0) { - // need to adapt lengths.. + // need to adapt lengths.. uint8_t ppsea[39] = { - // 0x23 = 35, skip two first bytes then the message - SW 2 is 35 = 0x23 + // 0x23 = 35, skip two first bytes then the message - SW 2 is 35 = 0x23 0x6F, 0x23, 0x84, 0x0E, 0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0xA5, 0x11, 0xBF, 0x0C, 0x0E, 0x61, - 0x0C, 0x4F, - // len aid0 aid1 aid2... + 0x0C, 0x4F, + // len aid0 aid1 aid2... 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, 0x87, 0x01, 0x01, 0x90, 0x00 }; @@ -477,13 +477,13 @@ void RunMod(void) { // respond Visa AID } else if (receivedCmd[2] == 0xA4 && receivedCmd[10] == 0x03 && receivedCmd[11] == 0x10 && prevCmd == 1) { uint8_t visauid_long[34] = { - // 0x1E = 30, skip two first bytes then the message - SW 2 is 30 = 0x1E - 0x6F, 0x1E, 0x84, - // len aid0 aid1 aid2.... - 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, - 0xA5, 0x13, 0x50, - // len V I S A C R E D I T - 0x0B, 0x56, 0x49, 0x53, 0x41, 0x20, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, + // 0x1E = 30, skip two first bytes then the message - SW 2 is 30 = 0x1E + 0x6F, 0x1E, 0x84, + // len aid0 aid1 aid2.... + 0x07, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10, + 0xA5, 0x13, 0x50, + // len V I S A C R E D I T + 0x0B, 0x56, 0x49, 0x53, 0x41, 0x20, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x9F, 0x38, 0x03, 0x9F, 0x66, 0x02, 0x90, 0x00 }; @@ -503,7 +503,7 @@ void RunMod(void) { uint8_t card[25] = { 0x70, 0x15, 0x57, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00 }; // add token array == Track 2 found before diff --git a/armsrc/Standalone/hf_reblay.c b/armsrc/Standalone/hf_reblay.c index 497d215a3..62fea749e 100644 --- a/armsrc/Standalone/hf_reblay.c +++ b/armsrc/Standalone/hf_reblay.c @@ -73,7 +73,7 @@ void ModInfo(void) { void RunMod() { StandAloneMode(); - DbpString(""); + DbpString(""); Dbprintf(_YELLOW_(">>> ") " Relaying ISO/14443A data over Bluetooth a.k.a. reblay Started " _YELLOW_("<<<")); DbpString(""); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -286,7 +286,7 @@ void RunMod() { int retval = PM3_SUCCESS; // Bluetooth response - uint8_t resp = 0; + uint8_t resp = 0; lenpacket = 0; // Keep track of last terminal type command @@ -357,7 +357,7 @@ void RunMod() { DbpString(_YELLOW_("!!") " Avoiding request - Bluetooth data already in memory!!"); } } else { - if (g_dbglevel == DBG_DEBUG ) { + if (g_dbglevel == DBG_DEBUG) { DbpString("[ "_YELLOW_("Card reader command") " ]"); Dbhexdump(len - 2, &receivedCmd[1], false); } diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index d1b63264e..9de1e9a31 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1021,7 +1021,7 @@ bool prepare_allocated_tag_modulation(tag_response_info_t *response_info, uint8_ } } -bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_response_info_t **responses, +bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_response_info_t **responses, uint32_t *cuid, uint32_t counters[3], uint8_t tearings[3], uint8_t *pages) { uint8_t sak = 0; // The first response contains the ATQA (note: bytes are transmitted in reverse order). @@ -1042,7 +1042,7 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, // TA(1) = 0x80: different divisors not supported, DR = 1, DS = 1 // TB(1) = not present. Defaults: FWI = 4 (FWT = 256 * 16 * 2^4 * 1/fc = 4833us), SFGI = 0 (SFG = 256 * 16 * 2^0 * 1/fc = 302us) - // TC(1) = 0x02: CID supported, NAD not supported + // TC(1) = 0x02: CID supported, NAD not supported // static uint8_t rRATS[] = { 0x04, 0x58, 0x80, 0x02, 0x00, 0x00 }; static uint8_t rRATS[40] = { 0x05, 0x75, 0x80, 0x60, 0x02, 0x00, 0x00, 0x00 }; uint8_t rRATS_len = 8; @@ -1314,10 +1314,10 @@ bool SimulateIso14443aInit(uint8_t tagType, uint16_t flags, uint8_t *data, tag_r // since rats len is variable now. responses_init[RESP_INDEX_RATS].response_n = rRATS_len; - // "precompiled" responses. + // "precompiled" responses. // These exist for speed reasons. There are no time in the anti collision phase to calculate responses. // There are 12 predefined responses with a total of 84 bytes data to transmit. - // + // // Coded responses need one byte per bit to transfer (data, parity, start, stop, correction) // 85 * 8 data bits, 85 * 1 parity bits, 12 start bits, 12 stop bits, 12 correction bits // 85 * 8 + 85 + 12 + 12 + 12 == 801 diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 635b1bfaa..96ecefdd1 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -2772,7 +2772,7 @@ static void detect_credential(uint8_t *iclass_dump, size_t dump_len, bool *is_le picopass_hdr_t *hdr = (picopass_hdr_t *)iclass_dump; if (!memcmp(hdr->app_issuer_area, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { - // Legacy AIA + // Legacy AIA *is_legacy = true; if (dump_len < 11 * PICOPASS_BLOCK_SIZE) { diff --git a/client/src/emv/cmdemv.c b/client/src/emv/cmdemv.c index d149a381a..47cd6de55 100644 --- a/client/src/emv/cmdemv.c +++ b/client/src/emv/cmdemv.c @@ -53,7 +53,7 @@ static void ParamLoadDefaults(struct tlvdb *tlvRoot) { TLV_ADD(0x5F2A, "\x090\x78"); // 9A:(Transaction Date) len:3 TLV_ADD(0x9A, "\x00\x00\x00"); - // 9C:(Transaction Type) len:1 + // 9C:(Transaction Type) len:1 // | 00 => Goods and Service // | 01 => Cash TLV_ADD(0x9C, "\x00"); @@ -544,7 +544,7 @@ static int emv_parse_card_details(uint8_t *response, size_t reslen, bool verbose // Track 3 Data // to be impl. - + // Unpredicable Number (UN) struct tlvdb *un1_full = tlvdb_find_full(root, 0x9f37); if (un1_full != NULL) { @@ -2018,7 +2018,7 @@ static int CmdEMVScan(const char *Cmd) { bool paramLoadJSON = arg_get_lit(ctx, 4); enum TransactionType TrType = TT_MSD; - if (arg_get_lit(ctx, 6)){ + if (arg_get_lit(ctx, 6)) { TrType = TT_QVSDCMCHIP; } if (arg_get_lit(ctx, 7)) { diff --git a/client/src/iso7816/iso7816core.c b/client/src/iso7816/iso7816core.c index c03a11956..025d55d16 100644 --- a/client/src/iso7816/iso7816core.c +++ b/client/src/iso7816/iso7816core.c @@ -205,14 +205,14 @@ int Iso7816Select(Iso7816CommandChannel channel, bool activate_field, bool leave uint8_t *result, size_t max_result_len, size_t *result_len, uint16_t *sw) { return Iso7816ExchangeEx(channel - , activate_field - , leave_field_on - , (sAPDU_t) {0x00, 0xa4, 0x04, 0x00, aid_len, aid} - , (channel == CC_CONTACTLESS) - , 0 - , result - , max_result_len - , result_len - , sw - ); + , activate_field + , leave_field_on + , (sAPDU_t) {0x00, 0xa4, 0x04, 0x00, aid_len, aid} + , (channel == CC_CONTACTLESS) + , 0 + , result + , max_result_len + , result_len + , sw + ); } diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index 5cbe8b495..e4a05dd2c 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -285,7 +285,7 @@ const static vocabulary_t vocabulary[] = { { 0, "hf iclass esave" }, { 0, "hf iclass esetblk" }, { 0, "hf iclass eview" }, - { 1, "hf iclass configcard" }, + { 0, "hf iclass configcard" }, { 1, "hf iclass calcnewkey" }, { 1, "hf iclass encode" }, { 1, "hf iclass encrypt" }, diff --git a/doc/commands.json b/doc/commands.json index 08d0007e2..02fec71df 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -11857,6 +11857,6 @@ "metadata": { "commands_extracted": 687, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-03T15:10:12" + "extracted_on": "2023-10-12T12:53:10" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 0c94700e6..cf385dc1a 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -424,7 +424,7 @@ Check column "offline" for their availability. |`hf iclass esave `|N |`Save emulator memory to file` |`hf iclass esetblk `|N |`Set emulator memory block data` |`hf iclass eview `|N |`View emulator memory` -|`hf iclass configcard `|Y |`Reader configuration card` +|`hf iclass configcard `|N |`Reader configuration card` |`hf iclass calcnewkey `|Y |`Calc diversified keys (blocks 3 & 4) to write new keys` |`hf iclass encode `|Y |`Encode binary wiegand to block 7` |`hf iclass encrypt `|Y |`Encrypt given block data` diff --git a/include/protocols.h b/include/protocols.h index db088fd22..1c8dac3de 100644 --- a/include/protocols.h +++ b/include/protocols.h @@ -444,7 +444,7 @@ ISO 7816-4 Basic interindustry commands. For command APDU's. // Picopass Pagemode fuses #define PICOPASS_SECURE_PAGEMODE_AUTH_DISABLED 0x00 #define PICOPASS_NON_SECURE_PAGEMODE 0x01 -#define PICOPASS_SECURE_PAGEMODE_KEYS_LOCKED 0x02 +#define PICOPASS_SECURE_PAGEMODE_KEYS_LOCKED 0x02 #define PICOPASS_SECURE_PAGEMODE_KEYS_MODIFIABLE 0x03 // ISO 7816-4 Basic interindustry commands. For command APDU's. From ef9b57748a92cbf777cd51d10a83f0014986b993 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 13 Oct 2023 00:29:40 +0800 Subject: [PATCH 065/278] Ported configcard from nfc-iclass Enabled creation of configcards without cardhelper using nfc-iclass data --- CHANGELOG.md | 10 ++++++---- client/src/cmdhficlass.c | 28 ++++++++++++++-------------- doc/commands.md | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17951e0ae..16037543b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) - Fixed `utils.lua` library function "convertdectohex" wasn't working (@iceman1001) - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) + - Modified `hf iclass configcard` to only support online mode @ATK + - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 7 & 7 from nfc-iclass @ATK ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) @@ -89,7 +91,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Changed `hf mfu pwdgen -r` - now generates pwd/pack for Philips Sonicare, thanks @ckuenzi, @atc1441 (@iceman1001) - Changed `hf mfu info` - now detects Philips Sonicare devices (@iceman1001) - Fixed truncated FPGA upload due to incorrect integer size variable (@d18c7db) - - Changed `usart btfactory` - handles the new BT board with version "BT SPP V3.0" (@iceman1001) + - Changed `usart btfactory` - handles the new BT board with version "BT SPP V3.0" (@iceman1001) - Changed `hf mf eview --sk` - now can extract keys and save to file (@iceman1001) - Changed `hf mf view --sk` - now can extract keys and save to file (@iceman1001) - Changed `hf mf sim` - reduce 6ms threshold to 4ms for reset to idle #1974 (@net147) @@ -116,7 +118,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added `hf mf gdmcfg` - Support Gen4 GDM read configuration block (@iceman1001) - Changed magic note to include a section about GDM tags (@iceman1001) - Added `hf mf gdmsetblk` - Support Gen4 GDM write block (@iceman1001) - - Changed `hf 14a info` - detect Gen GDM magic tags (@iceman1001) + - Changed `hf 14a info` - detect Gen GDM magic tags (@iceman1001) - Changed CLI max string argument length limit from 512 to 4096 (@iceman1001) - Fixed `data asn1` - now handles bad input better (@iceman1001) - Added new public key for signature MIFARE Plus Troika (@iceman100) @@ -186,14 +188,14 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Fixed length check in sim module communications (@jmichelp) - Changed timings in i2c.c when communicating with sim module (@iceman1001) - Moved to non-deprecated API to initialize Python interpreter (@jmichelp) - - Changed `sc upgrade` updated firmware v4.13 (RDV40) - frame buffer is now 384 bytes (@sentiprox) + - Changed `sc upgrade` updated firmware v4.13 (RDV40) - frame buffer is now 384 bytes (@sentiprox) - Fixed contact interface / smartcard APDU chaining logic and allow 256 bytes ADPU payload. Need SIM firmware 4.13 to work (@jmichelp) - Fixed `lf hitag dump` - Should now work as described in the command help (@natmchugh) - Fixed SPI flash overflow when loading dictionnaries into flash. Breaking change: added 1 more sector for Mifare - dictionnaries should be loaded again (@jmichelp) - Added `hf mf gload, gsave, ggetblk, gsetblk` for Gen4 GTU in mifare classic mode (@DidierA) - Fixed `trace list -r` (relative times) not working unless `-u` (microseconds) was specified, and made `--frame` respect `-u` and `-r` options (@nvx) - Added detection of magic Gen4 GTU (@DidierA) - - Added luascript `hf_i2c_plus_2k_utils` - Script for dumping/modifying user memory of sectors 0 and 1 (@flamebarke) + - Added luascript `hf_i2c_plus_2k_utils` - Script for dumping/modifying user memory of sectors 0 and 1 (@flamebarke) - Added `hf mfu esave` - saves emulator memory to mfu dump file (@DidierA) - Added luascript `hf_mfu_ntag` - Script for configuring NTAG216 configuration pages (@flamebarke) - Changed `hf mf hardnested` - a detection for static encrypted nonces (@iceman1001) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 96ecefdd1..1030c8ee9 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -197,19 +197,19 @@ static uint8_t card_app2_limit[] = { }; static iclass_config_card_item_t iclass_config_types[14] = { - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, - {"", ""}, + {"Audio/Visual #1 - Beep ON, LED Off, Flash GREEN on read", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x00, 0xA8, 0x8F, 0xA7, 0x80, 0xA9, 0x01}}, + {"Audio/Visual #2 - Beep ON, LED RED, Host must flash GREEN", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x18, 0xAC, 0x00, 0xA8, 0x1F, 0xA7, 0x80, 0xA9, 0x01}}, + {"Audio/Visual #3 - Beep ON, LED Off, Host must flash RED and/or GREEN", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x00, 0xA8, 0x0F, 0xA9, 0x03, 0xA7, 0x80}}, + {"Keypad Output #1 - Buffer ONE key (8 bit Dorado)", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + {"Keypad Output #2 - Buffer ONE to FIVE keys (standard 26 bit)", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAE, 0x0B, 0xAF, 0xFF, 0xAD, 0x15, 0xB3, 0x03}}, + {"Keypad Output #3 - Local PIN verify", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAD, 0x6D, 0xB3, 0x03, 0x00, 0x00, 0x00, 0x00}}, + {"Mifare CSN #1 - 32 bit reverse output", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x01, 0xA7, 0x80, 0xA8, 0x9F, 0xA9, 0x01}}, + {"Mifare CSN #2 - 16 bit output", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x02, 0xA7, 0x80, 0xA8, 0x9F, 0xA9, 0x01}}, + {"Mifare CSN #3 - 34 bit output", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x03, 0xA7, 0x80, 0xA8, 0x9F, 0xA9, 0x01}}, + {"Keyroll DISABLE - Set ELITE Key and DISABLE Keyrolling", {0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0xBF, 0x18, 0xBF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}}, + {"Keyroll ENABLE - Set ELITE Key and ENABLE Keyrolling", {0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0xBF, 0x18, 0xBF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}}, + {"Reset READER - Reset READER to defaults", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + {"Reset ENROLLER - Reset ENROLLER to defaults", {0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF}}, // must be the last entry {"no config card info available", ""} }; @@ -4450,7 +4450,7 @@ static command_t CommandTable[] = { {"esetblk", CmdHFiClassESetBlk, IfPm3Iclass, "Set emulator memory block data"}, {"eview", CmdHFiClassEView, IfPm3Iclass, "View emulator memory"}, {"-----------", CmdHelp, AlwaysAvailable, "---------------------- " _CYAN_("utils") " ----------------------"}, - {"configcard", CmdHFiClassConfigCard, IfPm3Smartcard, "Reader configuration card"}, + {"configcard", CmdHFiClassConfigCard, IfPm3Iclass, "Reader configuration card"}, {"calcnewkey", CmdHFiClassCalcNewKey, AlwaysAvailable, "Calc diversified keys (blocks 3 & 4) to write new keys"}, {"encode", CmdHFiClassEncode, AlwaysAvailable, "Encode binary wiegand to block 7"}, {"encrypt", CmdHFiClassEncryptBlk, AlwaysAvailable, "Encrypt given block data"}, diff --git a/doc/commands.md b/doc/commands.md index cf385dc1a..f6d1aacd6 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -2,7 +2,7 @@ # Proxmark3 command dump -Some commands are available only if a Proxmark3 is actually connected. +Some commands are available only if a Proxmark3 is actually connected. Check column "offline" for their availability. From 168b9eea7a5b159ef840b779050a238f48b37dc3 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 13 Oct 2023 08:23:20 +0200 Subject: [PATCH 066/278] Bandai Namco Passport [fka Banapassport] / Sega Aime Card. BNPs / Aimes endorsed with the Amusement IC Logo use FeliCa and will not work with the below keys. Dumped on the Flipper Devices Discord Server --- client/dictionaries/mfc_default_keys.dic | 40 ++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 424b74647..d708e526e 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -2104,6 +2104,46 @@ D144BD193063 # Brazil transport Sec 8 / A 50d4c54fcdf5 # +# Bandai Namco Passport [fka Banapassport] / Sega Aime Card +# Dumped on the Flipper Devices Discord Server +6090D00632F5 +019761AA8082 +574343467632 +A99164400748 +62742819AD7C +CC5075E42BA1 +B9DF35A0814C +8AF9C718F23D +58CD5C3673CB +FC80E88EB88C +7A3CDAD7C023 +30424C029001 +024E4E44001F +ECBBFA57C6AD +4757698143BD +1D30972E6485 +F8526D1A8D6D +1300EC8C7E80 +F80A65A87FFA +DEB06ED4AF8E +4AD96BF28190 +000390014D41 +0800F9917CB0 +730050555253 +4146D4A956C4 +131157FBB126 +E69DD9015A43 +337237F254D5 +9A8389F32FBF +7B8FB4A7100B +C8382A233993 +7B304F2A12A6 +FC9418BF788B +5C8FF9990DA2 +D01AFEEB890A +75CCB59C9BED +4B791BEA7BCC +# # Data from "the more the marriott" mifare project (colonelborkmundus) # aka The Horde # From 8a8288ec252973b802d8b22cd4371d0357dc134e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 13 Oct 2023 08:40:54 +0200 Subject: [PATCH 067/278] fix the doubletts.. --- client/dictionaries/mfc_default_keys.dic | 4 ---- 1 file changed, 4 deletions(-) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index d708e526e..3b4ef120b 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -2139,10 +2139,6 @@ E69DD9015A43 C8382A233993 7B304F2A12A6 FC9418BF788B -5C8FF9990DA2 -D01AFEEB890A -75CCB59C9BED -4B791BEA7BCC # # Data from "the more the marriott" mifare project (colonelborkmundus) # aka The Horde From e4f373dd65b8d908d15eef5389d779b8a272e65e Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 13 Oct 2023 21:54:07 +0800 Subject: [PATCH 068/278] Finished configcard implementation for keyroll cards Finalized implementation of configcard generation for keyroll when cardhelper is not present. Results need to be compared with cardhelper output. --- CHANGELOG.md | 7 +-- client/src/cmdhficlass.c | 106 ++++++++++++++++++++++++++++----------- 2 files changed, 82 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16037543b..652445723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,16 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Fixed `hf iclass wrbl` - pagemap bit map for secured is now handled better (@iceman1001) - Changed `hf iclass view/decrypt` to detect SIO lengths better and show if legacy credentials are encrypted (@nvx) - Changed the json file formats for mfc, 14b, 15, legic, cryptorf, ndef (@iceman1001) - - Depricated the EML file format when saving dump files. (@iceman1001) + - Deprecated the EML file format when saving dump files. (@iceman1001) - Added `sim014.bin` - new sim module firmware v4.42 with improved ISO7816 Protocol T0 support (@gentilkiwi) - Added datasheet for sim module (@iceman1001) - Changed `smart raw --timeout` - allows for a custom timeout (@iceman1001) - Changed `lf t55 detectp1` - now also accepts 0xE039 Silicon Craft Tech as valid card (@iceman1001) - Fixed `utils.lua` library function "convertdectohex" wasn't working (@iceman1001) - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) - - Modified `hf iclass configcard` to only support online mode @ATK - - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 7 & 7 from nfc-iclass @ATK + - Modified `hf iclass configcard` to only support online mode (@Antiklesys) + - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 6 & 7 from nfc-iclass (@Antiklesys) + - Finalized implementation of configcard generation for keyroll when cardhelper is not present (@Antiklesys) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 1030c8ee9..8ff742847 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -274,6 +274,16 @@ static void print_config_card(const iclass_config_card_item_t *o) { } } +static void iclass_encrypt_block_data(uint8_t *blk_data, uint8_t *key) { + uint8_t encrypted_data[16]; + uint8_t *encrypted = encrypted_data; + mbedtls_des3_context ctx; + mbedtls_des3_set2key_enc(&ctx, key); + mbedtls_des3_crypt_ecb(&ctx, blk_data, encrypted); + memcpy(blk_data, encrypted, 8); + mbedtls_des3_free(&ctx); +} + static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *key, bool got_kr) { if (check_config_card(o) == false) { return PM3_EINVARG; @@ -353,11 +363,35 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke SetFlushAfterWrite(true); // KEYROLL need to encrypt + uint8_t key_en[16] = {0}; + uint8_t *keyptr_en = NULL; + if (IsCardHelperPresent(false) == false){ + size_t keylen = 0; + int res_key = loadFile_safe(ICLASS_DECRYPTION_BIN, "", (void **)&keyptr_en, &keylen); + if (res_key != PM3_SUCCESS) { + PrintAndLogEx(ERR, "Failed to find iclass_decryptionkey.bin"); + return PM3_EINVARG; + } + + if (keylen != 16) { + PrintAndLogEx(ERR, "Failed to load transport key from file"); + free(keyptr_en); + return PM3_EINVARG; + } + memcpy(key_en, keyptr_en, sizeof(key_en)); + free(keyptr_en); + } + PrintAndLogEx(INFO, "Setting up encryption... " NOLF); uint8_t ffs[8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - if (Encrypt(ffs, ffs) == false) { - PrintAndLogEx(WARNING, "failed to encrypt FF"); - } else { + if (IsCardHelperPresent(false) != false){ + if (Encrypt(ffs, ffs) == false) { + PrintAndLogEx(WARNING, "failed to encrypt FF"); + } else { + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + } + }else{ + iclass_encrypt_block_data(ffs, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } @@ -366,9 +400,14 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke uint8_t lkey[8]; memcpy(lkey, key, sizeof(lkey)); uint8_t enckey1[8]; - if (Encrypt(lkey, enckey1) == false) { - PrintAndLogEx(WARNING, "failed to encrypt key1"); - } else { + if (IsCardHelperPresent(false) != false){ + if (Encrypt(lkey, enckey1) == false) { + PrintAndLogEx(WARNING, "failed to encrypt key1"); + } else { + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + } + }else{ + iclass_encrypt_block_data(lkey, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } @@ -377,9 +416,13 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke memcpy(data + (6 * 8), o->data, sizeof(o->data)); // encrypted keyroll key 0D - memcpy(data + (0xD * 8), enckey1, sizeof(enckey1)); + if (IsCardHelperPresent(false) != false){ + memcpy(data + (0x0D * 8), enckey1, sizeof(enckey1)); + } else { + memcpy(data + (0x0D * 8), lkey, sizeof(enckey1)); + } // encrypted 0xFF - for (uint8_t i = 0xD; i < 0x14; i++) { + for (uint8_t i = 0x0D; i < 0x14; i++) { memcpy(data + (i * 8), ffs, sizeof(ffs)); } PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); @@ -387,24 +430,37 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke // encrypted partial keyroll key 14 PrintAndLogEx(INFO, "Setting encrypted partial key14... " NOLF); uint8_t foo[8] = {0x15}; - memcpy(foo + 1, lkey, 7); + memcpy(foo + 1, key, 7); uint8_t enckey2[8]; - if (Encrypt(foo, enckey2) == false) { - PrintAndLogEx(WARNING, "failed to encrypt partial 1"); + if (IsCardHelperPresent(false) != false){ + if (Encrypt(foo, enckey2) == false) { + PrintAndLogEx(WARNING, "failed to encrypt partial 1"); + } else { + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + memcpy(data + (0x14 * 8), enckey2, sizeof(enckey2)); + } + }else{ + iclass_encrypt_block_data(foo, key_en); + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + memcpy(data + (0x14 * 8), foo, sizeof(enckey2)); } - memcpy(data + (0x14 * 8), enckey2, sizeof(enckey2)); - PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); - // encrypted partial keyroll key 15 PrintAndLogEx(INFO, "Setting encrypted partial key15... " NOLF); memset(foo, 0xFF, sizeof(foo)); foo[0] = lkey[7]; - if (Encrypt(foo, enckey2) == false) { - PrintAndLogEx(WARNING, "failed to encrypt partial 2"); + if (IsCardHelperPresent(false) != false){ + if (Encrypt(foo, enckey2) == false) { + PrintAndLogEx(WARNING, "failed to encrypt partial 2"); + } else { + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + memcpy(data + (0x15 * 8), enckey2, sizeof(enckey2)); + } + }else{ + iclass_encrypt_block_data(foo, key_en); + PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); + memcpy(data + (0x15 * 8), foo, sizeof(enckey2)); } - memcpy(data + (0x15 * 8), enckey2, sizeof(enckey2)); - PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); // encrypted 0xFF PrintAndLogEx(INFO, "Setting 0xFF's... " NOLF); @@ -1547,16 +1603,6 @@ static int CmdHFiClassDecrypt(const char *Cmd) { return PM3_SUCCESS; } -static void iclass_encrypt_block_data(uint8_t *blk_data, uint8_t *key) { - uint8_t encrypted_data[16]; - uint8_t *encrypted = encrypted_data; - mbedtls_des3_context ctx; - mbedtls_des3_set2key_enc(&ctx, key); - mbedtls_des3_crypt_ecb(&ctx, blk_data, encrypted); - memcpy(blk_data, encrypted, 8); - mbedtls_des3_free(&ctx); -} - static int CmdHFiClassEncryptBlk(const char *Cmd) { CLIParserContext *clictx; CLIParserInit(&clictx, "hf iclass encrypt", @@ -4376,6 +4422,10 @@ static int CmdHFiClassConfigCard(const char *Cmd) { return PM3_EINVARG; } } + if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false) == false){ + PrintAndLogEx(ERR, "Please specify a configuration between 0 and 12!"); + return PM3_EINVARG; + } generate_config_card(item, key, got_kr); } From 7b4af95a404a3775f587a8e1d84a04e7cbc9725c Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 13 Oct 2023 22:16:10 +0800 Subject: [PATCH 069/278] Update cmdhficlass.c --- client/src/cmdhficlass.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 8ff742847..3bb4db080 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -225,7 +225,7 @@ static bool check_config_card(const iclass_config_card_item_t *o) { static int load_config_cards(void) { PrintAndLogEx(INFO, "detecting cardhelper..."); - if (IsCardHelperPresent(false) == false) { + if (IsCardHelperPresent(false)) { PrintAndLogEx(FAILED, "failed to detect cardhelper"); return PM3_ENODATA; } @@ -365,7 +365,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke // KEYROLL need to encrypt uint8_t key_en[16] = {0}; uint8_t *keyptr_en = NULL; - if (IsCardHelperPresent(false) == false){ + if (IsCardHelperPresent(false)){ size_t keylen = 0; int res_key = loadFile_safe(ICLASS_DECRYPTION_BIN, "", (void **)&keyptr_en, &keylen); if (res_key != PM3_SUCCESS) { @@ -4422,7 +4422,7 @@ static int CmdHFiClassConfigCard(const char *Cmd) { return PM3_EINVARG; } } - if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false) == false){ + if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false)){ PrintAndLogEx(ERR, "Please specify a configuration between 0 and 12!"); return PM3_EINVARG; } From 0692af842505321820bad81f68f17ceaeab59969 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 13 Oct 2023 22:22:10 +0800 Subject: [PATCH 070/278] Update cmdhficlass.c Reverted changes as otherwise the check is ignored. --- client/src/cmdhficlass.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 3bb4db080..8ff742847 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -225,7 +225,7 @@ static bool check_config_card(const iclass_config_card_item_t *o) { static int load_config_cards(void) { PrintAndLogEx(INFO, "detecting cardhelper..."); - if (IsCardHelperPresent(false)) { + if (IsCardHelperPresent(false) == false) { PrintAndLogEx(FAILED, "failed to detect cardhelper"); return PM3_ENODATA; } @@ -365,7 +365,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke // KEYROLL need to encrypt uint8_t key_en[16] = {0}; uint8_t *keyptr_en = NULL; - if (IsCardHelperPresent(false)){ + if (IsCardHelperPresent(false) == false){ size_t keylen = 0; int res_key = loadFile_safe(ICLASS_DECRYPTION_BIN, "", (void **)&keyptr_en, &keylen); if (res_key != PM3_SUCCESS) { @@ -4422,7 +4422,7 @@ static int CmdHFiClassConfigCard(const char *Cmd) { return PM3_EINVARG; } } - if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false)){ + if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false) == false){ PrintAndLogEx(ERR, "Please specify a configuration between 0 and 12!"); return PM3_EINVARG; } From 28c4f66c0b21c23dc8c0f2d7c95067de2c4caa87 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 13 Oct 2023 22:53:29 +0800 Subject: [PATCH 071/278] Update cmdhficlass.c --- client/src/cmdhficlass.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 8ff742847..f93d73b20 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4422,10 +4422,6 @@ static int CmdHFiClassConfigCard(const char *Cmd) { return PM3_EINVARG; } } - if(ccidx < -1 && ccidx > 12 && IsCardHelperPresent(false) == false){ - PrintAndLogEx(ERR, "Please specify a configuration between 0 and 12!"); - return PM3_EINVARG; - } generate_config_card(item, key, got_kr); } From 6e1cf6c0de4be1c8ce5e5c728bf208af30793779 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 13 Oct 2023 22:51:12 +0200 Subject: [PATCH 072/278] added a C sample of grabbing output --- .../experimental_lib/example_c/01make_test.sh | 1 + .../example_c/02run_test_grab.sh | 3 + client/experimental_lib/example_c/test_grab.c | 67 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100755 client/experimental_lib/example_c/02run_test_grab.sh create mode 100644 client/experimental_lib/example_c/test_grab.c diff --git a/client/experimental_lib/example_c/01make_test.sh b/client/experimental_lib/example_c/01make_test.sh index 1ce6357ff..7bda5aa37 100755 --- a/client/experimental_lib/example_c/01make_test.sh +++ b/client/experimental_lib/example_c/01make_test.sh @@ -1,3 +1,4 @@ #!/bin/bash gcc -o test test.c -I../../include -lpm3rrg_rdv4 -L../build -lpthread +gcc -o test_grab test_grab.c -I../../include -lpm3rrg_rdv4 -L../build -lpthread diff --git a/client/experimental_lib/example_c/02run_test_grab.sh b/client/experimental_lib/example_c/02run_test_grab.sh new file mode 100755 index 000000000..2dd6f892b --- /dev/null +++ b/client/experimental_lib/example_c/02run_test_grab.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_LIBRARY_PATH=../build ./test_grab diff --git a/client/experimental_lib/example_c/test_grab.c b/client/experimental_lib/example_c/test_grab.c new file mode 100644 index 000000000..6b093b3ce --- /dev/null +++ b/client/experimental_lib/example_c/test_grab.c @@ -0,0 +1,67 @@ +#include "pm3.h" +#include +#include +#include +#include + +int main(int argc, char *argv[]) { + + int pipefd[2]; + char buf[8196 + 1]; + size_t n; + + if (pipe(pipefd) == -1) { + exit(-1); + } + + int pid = fork(); + if (pid == -1) { + perror("fork"); + exit(-1); + } + + // child + if (pid == 0) { + printf("[INFO] inside child\n"); + + // Redirect stdout to the write end of the pipe + dup2(pipefd[1], STDOUT_FILENO); + + close(pipefd[0]); // Child: close read end of the pipe + close(pipefd[1]); // Close original write end + + pm3 *p; + p = pm3_open("/dev/ttyS9"); + //printf("Device: %s\n", pm3_name_get(p)); + + // Execute the command + pm3_console(p, "hw status"); + pm3_close(p); + _exit(-1); + } else { + + printf("[INFO] inside parent\n"); + // Parent: close write end of the pipe + close(pipefd[1]); + + // Read from the pipe + while (1) { + n = read(pipefd[0], buf, sizeof(buf)); + if (n == -1) { + continue; + } + if (n == 0) { + break; + } else { + // null termination + buf[n] = 0; + if (strstr(buf, "Unique ID") != NULL) { + printf("%s", buf); + } + } + } + + // Close read end + close(pipefd[0]); + } +} From f90434521e210ca093fa2aa18bb268e08cd231a2 Mon Sep 17 00:00:00 2001 From: Self Not Found Date: Sat, 14 Oct 2023 14:04:46 +0800 Subject: [PATCH 073/278] Reduce latency in local TCP connection --- CHANGELOG.md | 1 + client/src/comms.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16037543b..6869596e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) - Modified `hf iclass configcard` to only support online mode @ATK - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 7 & 7 from nfc-iclass @ATK + - Changed the timeout of local TCP connections (@wh201906) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/client/src/comms.c b/client/src/comms.c index a7ed0fd06..d0ec182ab 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -678,7 +678,16 @@ int TestProxmark(pm3_device_t *dev) { if (g_conn.send_via_fpc_usart) { PrintAndLogEx(INFO, "PM3 UART serial baudrate: " _YELLOW_("%u") "\n", g_conn.uart_speed); } else { - int res = uart_reconfigure_timeouts(is_tcp_conn ? UART_TCP_CLIENT_RX_TIMEOUT_MS : UART_USB_CLIENT_RX_TIMEOUT_MS); + int res; + if (is_tcp_conn) { + if (memcmp(g_conn.serial_port_name + 4, "localhost", 9) == 0 || memcmp(g_conn.serial_port_name + 4, "127.0.0.1", 9) == 0) { + res = uart_reconfigure_timeouts(UART_USB_CLIENT_RX_TIMEOUT_MS * 2); + } else { + res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); + } + } else { + res = uart_reconfigure_timeouts(UART_USB_CLIENT_RX_TIMEOUT_MS); + } if (res != PM3_SUCCESS) { return res; } From 0490dc9d078a8b701a0df8ea250d63cf05d3ead7 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 14 Oct 2023 11:00:15 +0200 Subject: [PATCH 074/278] use strstr instead of memcmp --- client/src/comms.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/src/comms.c b/client/src/comms.c index d0ec182ab..c0dc9dc17 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -680,7 +680,8 @@ int TestProxmark(pm3_device_t *dev) { } else { int res; if (is_tcp_conn) { - if (memcmp(g_conn.serial_port_name + 4, "localhost", 9) == 0 || memcmp(g_conn.serial_port_name + 4, "127.0.0.1", 9) == 0) { + if ((strstr(g_conn.serial_port_name, "localhost") != NULL) || + (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL)) { res = uart_reconfigure_timeouts(UART_USB_CLIENT_RX_TIMEOUT_MS * 2); } else { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); From 531ab9b2197436d871acd47b80e44e2292ac462c Mon Sep 17 00:00:00 2001 From: wh201906 Date: Sat, 14 Oct 2023 17:46:23 +0800 Subject: [PATCH 075/278] Faster CI --- .github/workflows/macos.yml | 10 +++------- .github/workflows/ubuntu.yml | 10 +++------- .github/workflows/windows.yml | 12 ++++++------ CHANGELOG.md | 1 + 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a632a5e37..37d628655 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -50,14 +50,12 @@ jobs: - name: Build env: V: 1 - run: make + run: make -j$((`sysctl -n hw.ncpu` + 1)) - name: Test run: make check macos-make-btaddon: - if: always() - needs: [macos-make] runs-on: macos-latest steps: @@ -93,14 +91,12 @@ jobs: env: V: 1 PLATFORM_EXTRAS: BTADDON - run: make + run: make -j$((`sysctl -n hw.ncpu` + 1)) - name: Test run: make check macos-cmake: - if: always() - needs: [macos-make, macos-make-btaddon] runs-on: macos-latest steps: @@ -144,7 +140,7 @@ jobs: - name: Build env: VERBOSE: 1 - run: make + run: make -j$((`sysctl -n hw.ncpu` + 1)) working-directory: client/build/ - name: Test diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 9887be49f..d81ea5db2 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -41,14 +41,12 @@ jobs: - name: Build env: V: 1 - run: make + run: make -j$((`nproc` + 1)) - name: Test run: make check ubuntu-make-btaddon: - if: always() - needs: [ubuntu-make] runs-on: ubuntu-latest steps: @@ -74,14 +72,12 @@ jobs: env: V: 1 PLATFORM_EXTRAS: BTADDON - run: make + run: make -j$((`nproc` + 1)) - name: Test run: make check ubuntu-cmake: - if: always() - needs: [ubuntu-make, ubuntu-make-btaddon] runs-on: ubuntu-latest steps: @@ -115,7 +111,7 @@ jobs: - name: Build env: VERBOSE: 1 - run: make + run: make -j$((`nproc` + 1)) working-directory: client/build/ - name: Test diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3c093f96b..d913a35fc 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -54,7 +54,7 @@ jobs: run: make clean - name: Build - run: make V=1 + run: make -j $([System.Environment]::ProcessorCount + 1) V=1 - name: Test run: make check @@ -63,7 +63,7 @@ jobs: run: make clean - name: Build btaddon - run: make V=1 PLATFORM_EXTRAS=BTADDON + run: make -j $([System.Environment]::ProcessorCount + 1) V=1 PLATFORM_EXTRAS=BTADDON - name: Test btaddon run: make check @@ -84,7 +84,7 @@ jobs: working-directory: client/build/ - name: Build cmake - run: make VERBOSE=1 + run: make -j $([System.Environment]::ProcessorCount + 1) VERBOSE=1 working-directory: client/build/ - name: Test cmake @@ -141,7 +141,7 @@ jobs: run: make clean - name: Build - run: make V=1 + run: make -j$((`nproc` + 1)) V=1 - name: Test run: make check @@ -150,7 +150,7 @@ jobs: run: make clean - name: Build btaddon - run: make V=1 PLATFORM_EXTRAS=BTADDON + run: make -j$((`nproc` + 1)) V=1 PLATFORM_EXTRAS=BTADDON - name: Test btaddon run: make check @@ -171,7 +171,7 @@ jobs: working-directory: client/build/ - name: Build cmake - run: make VERBOSE=1 + run: make -j$((`nproc` + 1)) VERBOSE=1 working-directory: client/build/ - name: Test cmake diff --git a/CHANGELOG.md b/CHANGELOG.md index 5eaa9316a..0cb26317e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed CI scripts to speed up the builds (@wh201906) - Changed the timeout of local TCP connections (@wh201906) - Finalized implementation of configcard generation for keyroll when cardhelper is not present (@Antiklesys) - Added documentation for compiling on iOS (@The-SamminAter) From fc6feea0d4a2db30163480b160df166b2933172f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 14 Oct 2023 20:30:13 +0200 Subject: [PATCH 076/278] experimental UDP support. Doesnt quite work yet --- CHANGELOG.md | 1 + client/src/comms.c | 11 +++--- client/src/uart/uart_posix.c | 76 ++++++++++++++++++++++++++++++++++++ include/pm3_cmd.h | 7 ++-- 4 files changed, 87 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cb26317e..69da9696f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Experimental UDP support in linux (@iceman1001) - Changed CI scripts to speed up the builds (@wh201906) - Changed the timeout of local TCP connections (@wh201906) - Finalized implementation of configcard generation for keyroll when cardhelper is not present (@Antiklesys) diff --git a/client/src/comms.c b/client/src/comms.c index c0dc9dc17..4aaa37689 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -668,21 +668,22 @@ int TestProxmark(pm3_device_t *dev) { bool is_tcp_conn = (memcmp(g_conn.serial_port_name, "tcp:", 4) == 0); bool is_bt_conn = (memcmp(g_conn.serial_port_name, "bt:", 3) == 0); + bool is_udp_conn = (memcmp(g_conn.serial_port_name, "udp:", 4) == 0); - PrintAndLogEx(INFO, "Communicating with PM3 over %s%s%s", + PrintAndLogEx(INFO, "Communicating with PM3 over %s%s%s%s", (g_conn.send_via_fpc_usart) ? _YELLOW_("FPC UART") : _YELLOW_("USB-CDC"), (is_tcp_conn) ? " over " _YELLOW_("TCP") : "", - (is_bt_conn) ? " over " _YELLOW_("BT") : "" + (is_bt_conn) ? " over " _YELLOW_("BT") : "", + (is_udp_conn) ? " over " _YELLOW_("UDP") : "" ); - if (g_conn.send_via_fpc_usart) { PrintAndLogEx(INFO, "PM3 UART serial baudrate: " _YELLOW_("%u") "\n", g_conn.uart_speed); } else { int res; - if (is_tcp_conn) { + if (is_tcp_conn || is_udp_conn) { if ((strstr(g_conn.serial_port_name, "localhost") != NULL) || (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL)) { - res = uart_reconfigure_timeouts(UART_USB_CLIENT_RX_TIMEOUT_MS * 2); + res = uart_reconfigure_timeouts(UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS); } else { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); } diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 106c8d209..c7cdc27a6 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -46,6 +46,9 @@ #ifndef SOL_TCP # define SOL_TCP IPPROTO_TCP #endif +#ifndef SOL_UDP +# define SOL_UDP IPPROTO_UDP +#endif typedef struct termios term_info; typedef struct { @@ -168,6 +171,79 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return sp; } + if (memcmp(prefix, "udp:", 4) == 0) { + free(prefix); + + if (strlen(pcPortName) <= 4) { + free(sp); + return INVALID_SERIAL_PORT; + } + + struct addrinfo *addr = NULL, *rp; + + char *addrstr = strdup(pcPortName + 4); + if (addrstr == NULL) { + PrintAndLogEx(ERR, "error: string duplication"); + free(sp); + return INVALID_SERIAL_PORT; + } + + timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + + char *colon = strrchr(addrstr, ':'); + const char *portstr; + if (colon) { + portstr = colon + 1; + *colon = '\0'; + } else { + portstr = "18888"; + } + + struct addrinfo info; + + memset(&info, 0, sizeof(info)); + + info.ai_family = AF_INET; + info.ai_socktype = SOCK_DGRAM; +// info.ai_protocol = SOL_UDP; + + int s = getaddrinfo(addrstr, portstr, &info, &addr); + if (s != 0) { + PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); + freeaddrinfo(addr); + free(addrstr); + free(sp); + return INVALID_SERIAL_PORT; + } + + int sfd; + for (rp = addr; rp != NULL; rp = rp->ai_next) { + sfd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + + if (sfd == -1) + continue; + + if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) + break; + + close(sfd); + } + + freeaddrinfo(addr); + free(addrstr); + + if (rp == NULL) { /* No address succeeded */ + PrintAndLogEx(ERR, "error: Could not connect"); + free(sp); + return INVALID_SERIAL_PORT; + } + + sp->fd = sfd; + + return sp; + } + + if (memcmp(prefix, "bt:", 3) == 0) { free(prefix); diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index afd8c9ff6..f7317ba11 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -826,9 +826,10 @@ typedef struct { // took settings from libnfc/buses/uart.c // uart_windows.c & uart_posix.c -# define UART_FPC_CLIENT_RX_TIMEOUT_MS 200 -# define UART_USB_CLIENT_RX_TIMEOUT_MS 20 -# define UART_TCP_CLIENT_RX_TIMEOUT_MS 500 +# define UART_FPC_CLIENT_RX_TIMEOUT_MS 200 +# define UART_USB_CLIENT_RX_TIMEOUT_MS 20 +# define UART_TCP_CLIENT_RX_TIMEOUT_MS 500 +# define UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS 40 // CMD_DEVICE_INFO response packet has flags in arg[0], flag definitions: From 90ac7fb67b106d0949906163a519b02478217ed8 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Sun, 15 Oct 2023 13:59:38 +0800 Subject: [PATCH 077/278] Fixed iclass offline mode commands Fixed iclass offline mode commands --- CHANGELOG.md | 1 + client/src/cmdhficlass.c | 8 ++++---- client/src/pm3line_vocabulary.h | 6 +++--- doc/commands.json | 6 +++--- doc/commands.md | 6 +++--- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69da9696f..5664e5551 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) - Modified `hf iclass configcard` to only support online mode (@Antiklesys) - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 6 & 7 from nfc-iclass (@Antiklesys) + - Fixed multiple online iclass commands showing incorrectly in offline mode (@Antiklesys) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index f93d73b20..d79cad63e 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4472,18 +4472,18 @@ static int CmdHFiClassSAM(const char *Cmd) { static command_t CommandTable[] = { {"help", CmdHelp, AlwaysAvailable, "This help"}, - {"list", CmdHFiClassList, AlwaysAvailable, "List iclass history"}, + {"list", CmdHFiClassList, IfPm3Iclass, "List iclass history"}, {"-----------", CmdHelp, AlwaysAvailable, "--------------------- " _CYAN_("general") " ---------------------"}, // {"clone", CmdHFiClassClone, IfPm3Iclass, "Create a HID credential to Picopass / iCLASS tag"}, {"dump", CmdHFiClassDump, IfPm3Iclass, "Dump Picopass / iCLASS tag to file"}, - {"info", CmdHFiClassInfo, AlwaysAvailable, "Tag information"}, + {"info", CmdHFiClassInfo, IfPm3Iclass, "Tag information"}, {"rdbl", CmdHFiClass_ReadBlock, IfPm3Iclass, "Read Picopass / iCLASS block"}, {"reader", CmdHFiClassReader, IfPm3Iclass, "Act like a Picopass / iCLASS reader"}, {"restore", CmdHFiClassRestore, IfPm3Iclass, "Restore a dump file onto a Picopass / iCLASS tag"}, {"sniff", CmdHFiClassSniff, IfPm3Iclass, "Eavesdrop Picopass / iCLASS communication"}, {"view", CmdHFiClassView, AlwaysAvailable, "Display content from tag dump file"}, {"wrbl", CmdHFiClass_WriteBlock, IfPm3Iclass, "Write Picopass / iCLASS block"}, - {"creditepurse", CmdHFiClassCreditEpurse, IfPm3Iclass, "Credit epurse value"}, + {"creditepurse", CmdHFiClassCreditEpurse, IfPm3Iclass, "Credit epurse value"}, {"-----------", CmdHelp, AlwaysAvailable, "--------------------- " _CYAN_("recovery") " --------------------"}, // {"autopwn", CmdHFiClassAutopwn, IfPm3Iclass, "Automatic key recovery tool for iCLASS"}, {"chk", CmdHFiClassCheckKeys, IfPm3Iclass, "Check keys"}, @@ -4498,7 +4498,7 @@ static command_t CommandTable[] = { {"-----------", CmdHelp, AlwaysAvailable, "---------------------- " _CYAN_("utils") " ----------------------"}, {"configcard", CmdHFiClassConfigCard, IfPm3Iclass, "Reader configuration card"}, {"calcnewkey", CmdHFiClassCalcNewKey, AlwaysAvailable, "Calc diversified keys (blocks 3 & 4) to write new keys"}, - {"encode", CmdHFiClassEncode, AlwaysAvailable, "Encode binary wiegand to block 7"}, + {"encode", CmdHFiClassEncode, IfPm3Iclass, "Encode binary wiegand to block 7"}, {"encrypt", CmdHFiClassEncryptBlk, AlwaysAvailable, "Encrypt given block data"}, {"decrypt", CmdHFiClassDecrypt, AlwaysAvailable, "Decrypt given block data or tag dump file" }, {"managekeys", CmdHFiClassManageKeys, AlwaysAvailable, "Manage keys to use with iclass commands"}, diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index e4a05dd2c..af192e24c 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -267,9 +267,9 @@ const static vocabulary_t vocabulary[] = { { 1, "hf jooki encode" }, { 0, "hf jooki sim" }, { 1, "hf iclass help" }, - { 1, "hf iclass list" }, + { 0, "hf iclass list" }, { 0, "hf iclass dump" }, - { 1, "hf iclass info" }, + { 0, "hf iclass info" }, { 0, "hf iclass rdbl" }, { 0, "hf iclass reader" }, { 0, "hf iclass restore" }, @@ -287,7 +287,7 @@ const static vocabulary_t vocabulary[] = { { 0, "hf iclass eview" }, { 0, "hf iclass configcard" }, { 1, "hf iclass calcnewkey" }, - { 1, "hf iclass encode" }, + { 0, "hf iclass encode" }, { 1, "hf iclass encrypt" }, { 1, "hf iclass decrypt" }, { 1, "hf iclass managekeys" }, diff --git a/doc/commands.json b/doc/commands.json index 02fec71df..7d6f4f01b 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -3120,7 +3120,7 @@ "hf iclass encode -w H10301 --fc 31 --cn 337 --ki 0 -> FC 31 CN 337 (H10301)", "hf iclass encode --bin 10001111100000001010100011 --ki 0 --elite -> FC 31 CN 337 (H10301), writing w elite key" ], - "offline": true, + "offline": false, "options": [ "-h, --help This help", "--bin Binary string i.e 0001001001", @@ -3206,7 +3206,7 @@ "notes": [ "hf iclass info" ], - "offline": true, + "offline": false, "options": [ "-h, --help This help", "--shallow use shallow (ASK) reader modulation instead of OOK" @@ -3220,7 +3220,7 @@ "hf iclass list --frame -> show frame delay times", "hf iclass list -1 -> use trace buffer" ], - "offline": true, + "offline": false, "options": [ "-h, --help This help", "-1, --buffer use data from trace buffer", diff --git a/doc/commands.md b/doc/commands.md index f6d1aacd6..4e1be75a2 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -406,9 +406,9 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`hf iclass help `|Y |`This help` -|`hf iclass list `|Y |`List iclass history` +|`hf iclass list `|N |`List iclass history` |`hf iclass dump `|N |`Dump Picopass / iCLASS tag to file` -|`hf iclass info `|Y |`Tag information` +|`hf iclass info `|N |`Tag information` |`hf iclass rdbl `|N |`Read Picopass / iCLASS block` |`hf iclass reader `|N |`Act like a Picopass / iCLASS reader` |`hf iclass restore `|N |`Restore a dump file onto a Picopass / iCLASS tag` @@ -426,7 +426,7 @@ Check column "offline" for their availability. |`hf iclass eview `|N |`View emulator memory` |`hf iclass configcard `|N |`Reader configuration card` |`hf iclass calcnewkey `|Y |`Calc diversified keys (blocks 3 & 4) to write new keys` -|`hf iclass encode `|Y |`Encode binary wiegand to block 7` +|`hf iclass encode `|N |`Encode binary wiegand to block 7` |`hf iclass encrypt `|Y |`Encrypt given block data` |`hf iclass decrypt `|Y |`Decrypt given block data or tag dump file` |`hf iclass managekeys `|Y |`Manage keys to use with iclass commands` From 0f9f5f116cd50c45b7ed6c9447790441286e25f4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 10:11:27 +0200 Subject: [PATCH 078/278] text --- armsrc/i2c.c | 12 +++++++----- tools/pm3_online_check.py | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index a5868d31a..39f623197 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -715,12 +715,14 @@ void I2C_print_status(void) { uint8_t major, minor; if (I2C_get_version(&major, &minor) == PM3_SUCCESS) { - Dbprintf(" version................. " _YELLOW_("v%x.%02d"), major, minor); - if (major < 4) { - DbpString(" " _RED_("Outdated firmware.") " Please upgrade to v4.x or above."); - } + + Dbprintf(" version................. v%x.%02d ( %s )" + , major + , minor + , ( (major == 4) && (minor == 42) ) ? _GREEN_("ok") : _RED_("Outdated") + ); } else { - DbpString(" version................. " _RED_("FAILED")); + DbpString(" version................. ( " _RED_("fail") " )"); } } diff --git a/tools/pm3_online_check.py b/tools/pm3_online_check.py index 4db9a2c9f..925e63de8 100755 --- a/tools/pm3_online_check.py +++ b/tools/pm3_online_check.py @@ -204,7 +204,7 @@ def main(): flash_mem = "baudrate................24 mhz".lower() # check smartcard fw version - sm_version = "version.................v4.12".lower() + sm_version = "version................. v4.42".lower() # check LF lf_search = "valid hid prox id found!".lower() From a348d58c6d09d431053af7d79249e39c0a6fe4f0 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 11:24:48 +0200 Subject: [PATCH 079/278] support fct --- client/src/util.c | 30 ++++++++++++++++++++++++++++++ client/src/util.h | 1 + 2 files changed, 31 insertions(+) diff --git a/client/src/util.c b/client/src/util.c index 0893ab3d6..b44f52711 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -1048,6 +1048,36 @@ int binstring2binarray(uint8_t *target, char *source, int length) { return count; } +void binstr_2_bytes(uint8_t *target, size_t *targetlen, const char *src) { + size_t binlen = strlen(src); + if (binlen == 0) { + *targetlen = 0; + return; + } + + // Calculate padding needed + size_t padding = (8 - (binlen % 8)) % 8; + + // Determine the size of the hexadecimal array + *targetlen = (binlen + padding) / 8; + + uint8_t b = 0; + size_t bit_cnt = padding; + size_t idx = 0; + + // Process binary string + for (size_t i = 0; i < binlen; ++i) { + b = (b << 1) | (src[i] == '1'); + ++bit_cnt; + + if (bit_cnt == 8) { + target[idx++] = b; + b = 0; + bit_cnt = 0; + } + } +} + // return parity bit required to match type uint8_t GetParity(const uint8_t *bits, uint8_t type, int length) { int x; diff --git a/client/src/util.h b/client/src/util.h index c606113fe..a50bdd370 100644 --- a/client/src/util.h +++ b/client/src/util.h @@ -123,6 +123,7 @@ void binarraytobinstring(char *target, char *source, int length); int binstring2binarray(uint8_t *target, char *source, int length); void byte_2_binstr(char *target, const uint8_t *source, size_t sourcelen); +void binstr_2_bytes(uint8_t *target, size_t *targetlen, const char *src); uint8_t GetParity(const uint8_t *bits, uint8_t type, int length); void wiegand_add_parity(uint8_t *target, uint8_t *source, uint8_t length); From 22b85c74d86b24aaddf2d197643788879ee37b1b Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Sun, 15 Oct 2023 18:27:25 +0800 Subject: [PATCH 080/278] Fixed iclass info available in offline mode Fixed iclass info available in offline mode --- CHANGELOG.md | 2 +- client/src/cmdhficlass.c | 4 ++-- client/src/pm3line_vocabulary.h | 4 ++-- doc/commands.json | 4 ++-- doc/commands.md | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5664e5551..994e02362 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added `hf iclass creditepurse` command to allow crediting the epurse debit value (@nvx) - Modified `hf iclass configcard` to only support online mode (@Antiklesys) - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 6 & 7 from nfc-iclass (@Antiklesys) - - Fixed multiple online iclass commands showing incorrectly in offline mode (@Antiklesys) + - Fixed `hf iclass info` command showing incorrectly in offline mode (@Antiklesys) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index d79cad63e..3305e4a3d 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4472,7 +4472,7 @@ static int CmdHFiClassSAM(const char *Cmd) { static command_t CommandTable[] = { {"help", CmdHelp, AlwaysAvailable, "This help"}, - {"list", CmdHFiClassList, IfPm3Iclass, "List iclass history"}, + {"list", CmdHFiClassList, AlwaysAvailable, "List iclass history"}, {"-----------", CmdHelp, AlwaysAvailable, "--------------------- " _CYAN_("general") " ---------------------"}, // {"clone", CmdHFiClassClone, IfPm3Iclass, "Create a HID credential to Picopass / iCLASS tag"}, {"dump", CmdHFiClassDump, IfPm3Iclass, "Dump Picopass / iCLASS tag to file"}, @@ -4498,7 +4498,7 @@ static command_t CommandTable[] = { {"-----------", CmdHelp, AlwaysAvailable, "---------------------- " _CYAN_("utils") " ----------------------"}, {"configcard", CmdHFiClassConfigCard, IfPm3Iclass, "Reader configuration card"}, {"calcnewkey", CmdHFiClassCalcNewKey, AlwaysAvailable, "Calc diversified keys (blocks 3 & 4) to write new keys"}, - {"encode", CmdHFiClassEncode, IfPm3Iclass, "Encode binary wiegand to block 7"}, + {"encode", CmdHFiClassEncode, AlwaysAvailable, "Encode binary wiegand to block 7"}, {"encrypt", CmdHFiClassEncryptBlk, AlwaysAvailable, "Encrypt given block data"}, {"decrypt", CmdHFiClassDecrypt, AlwaysAvailable, "Decrypt given block data or tag dump file" }, {"managekeys", CmdHFiClassManageKeys, AlwaysAvailable, "Manage keys to use with iclass commands"}, diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index af192e24c..adcd31846 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -267,7 +267,7 @@ const static vocabulary_t vocabulary[] = { { 1, "hf jooki encode" }, { 0, "hf jooki sim" }, { 1, "hf iclass help" }, - { 0, "hf iclass list" }, + { 1, "hf iclass list" }, { 0, "hf iclass dump" }, { 0, "hf iclass info" }, { 0, "hf iclass rdbl" }, @@ -287,7 +287,7 @@ const static vocabulary_t vocabulary[] = { { 0, "hf iclass eview" }, { 0, "hf iclass configcard" }, { 1, "hf iclass calcnewkey" }, - { 0, "hf iclass encode" }, + { 1, "hf iclass encode" }, { 1, "hf iclass encrypt" }, { 1, "hf iclass decrypt" }, { 1, "hf iclass managekeys" }, diff --git a/doc/commands.json b/doc/commands.json index 7d6f4f01b..35ff5d2d9 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -3120,7 +3120,7 @@ "hf iclass encode -w H10301 --fc 31 --cn 337 --ki 0 -> FC 31 CN 337 (H10301)", "hf iclass encode --bin 10001111100000001010100011 --ki 0 --elite -> FC 31 CN 337 (H10301), writing w elite key" ], - "offline": false, + "offline": true, "options": [ "-h, --help This help", "--bin Binary string i.e 0001001001", @@ -3220,7 +3220,7 @@ "hf iclass list --frame -> show frame delay times", "hf iclass list -1 -> use trace buffer" ], - "offline": false, + "offline": true, "options": [ "-h, --help This help", "-1, --buffer use data from trace buffer", diff --git a/doc/commands.md b/doc/commands.md index 4e1be75a2..40216f74b 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -406,7 +406,7 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`hf iclass help `|Y |`This help` -|`hf iclass list `|N |`List iclass history` +|`hf iclass list `|Y |`List iclass history` |`hf iclass dump `|N |`Dump Picopass / iCLASS tag to file` |`hf iclass info `|N |`Tag information` |`hf iclass rdbl `|N |`Read Picopass / iCLASS block` @@ -426,7 +426,7 @@ Check column "offline" for their availability. |`hf iclass eview `|N |`View emulator memory` |`hf iclass configcard `|N |`Reader configuration card` |`hf iclass calcnewkey `|Y |`Calc diversified keys (blocks 3 & 4) to write new keys` -|`hf iclass encode `|N |`Encode binary wiegand to block 7` +|`hf iclass encode `|Y |`Encode binary wiegand to block 7` |`hf iclass encrypt `|Y |`Encrypt given block data` |`hf iclass decrypt `|Y |`Decrypt given block data or tag dump file` |`hf iclass managekeys `|Y |`Manage keys to use with iclass commands` From a35960c6d5e1e54b33a9d0e86e1f92ae2fc111b1 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 12:47:45 +0200 Subject: [PATCH 081/278] silence codegl --- tools/cryptorf/sma_multi.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/cryptorf/sma_multi.cpp b/tools/cryptorf/sma_multi.cpp index dcb412eba..25c4aabed 100644 --- a/tools/cryptorf/sma_multi.cpp +++ b/tools/cryptorf/sma_multi.cpp @@ -439,7 +439,7 @@ static uint32_t ice_sm_right(const uint8_t *ks, uint8_t *mask, vector g_topbits = 0; std::vector threads(g_num_cpus); - for (uint8_t m = 0; m < g_num_cpus; m++) { + for (uint32_t m = 0; m < g_num_cpus; m++) { threads[m] = std::thread(ice_sm_right_thread, m, g_num_cpus, ks, &bincstates, mask); } for (auto &t : threads) { @@ -552,7 +552,7 @@ static void ice_sm_left(const uint8_t *ks, uint8_t *mask, vector *pcstates map bincstates; std::vector threads(g_num_cpus); - for (uint8_t m = 0; m < g_num_cpus; m++) { + for (uint32_t m = 0; m < g_num_cpus; m++) { threads[m] = std::thread(ice_sm_left_thread, m, g_num_cpus, ks, &bincstates, mask); } @@ -952,7 +952,7 @@ int main(int argc, const char *argv[]) { key_found = false; key = 0; std::vector threads(g_num_cpus); - for (uint8_t m = 0; m < g_num_cpus; m++) { + for (uint32_t m = 0; m < g_num_cpus; m++) { threads[m] = std::thread(ice_compare, m, g_num_cpus, &pgc_candidates, &ostate, ref(Ci), ref(Q), ref(Ch), ref(Ci_1)); } From 0442e04e055bfbc90e062a0412ce0347fad5b8f6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 13:19:33 +0200 Subject: [PATCH 082/278] text --- client/src/cmddata.c | 10 +++++----- client/src/cmdhficlass.c | 27 +++++++++++---------------- client/src/cmdhflto.c | 4 ++-- doc/cheatsheet.md | 4 ++-- include/pm3_cmd.h | 3 +++ 5 files changed, 23 insertions(+), 25 deletions(-) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index 6eb3fcb85..d628a9285 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3279,9 +3279,9 @@ static int CmdNumCon(const char *Cmd) { } radix_t; radix_t radix[] = { - {"dec..... ", 10}, - {"hex..... 0x", 16}, - {"bin..... 0b", 2} + {"dec... ", 10}, + {"hex... ", 16}, + {"bin... ", 2} }; char s[600] = {0}; @@ -3289,8 +3289,8 @@ static int CmdNumCon(const char *Cmd) { for (uint8_t i = 0; i < ARRAYLEN(radix); i++) { MBEDTLS_MPI_CHK(mbedtls_mpi_write_string(&N, radix[i].radix, s, sizeof(s), &slen)); - if (slen > 0) { - PrintAndLogEx(INFO, "%s%s", radix[i].desc, s); + if (slen > 0) { + PrintAndLogEx(SUCCESS, "%s%s", radix[i].desc, s); } } diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 3305e4a3d..b72eba40c 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1286,7 +1286,7 @@ static int CmdHFiClassESetBlk(const char *Cmd) { void *argtable[] = { arg_param_begin, - arg_int1("b", "blk", "", "block number"), + arg_int1(NULL, "blk", "", "block number"), arg_str0("d", "data", "", "bytes to write, 8 hex bytes"), arg_param_end }; @@ -2140,15 +2140,15 @@ static int CmdHFiClass_WriteBlock(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass wrbl", "Write data to an iCLASS tag", - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B\n" - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B --credit\n" - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA --ki 0"); + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B\n" + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B --credit\n" + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA --ki 0"); void *argtable[] = { arg_param_begin, arg_str0("k", "key", "", "Access key as 8 hex bytes"), arg_int0(NULL, "ki", "", "Key index to select key from memory 'hf iclass managekeys'"), - arg_int1("b", "block", "", "The block number to read"), + arg_int1(NULL, "blk", "", "block number"), arg_str1("d", "data", "", "data to write as 8 hex bytes"), arg_str0("m", "mac", "", "replay mac data (4 hex bytes)"), arg_lit0(NULL, "credit", "key is assumed to be the credit key"), @@ -2599,15 +2599,15 @@ static int CmdHFiClass_ReadBlock(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass rdbl", "Read a iCLASS block from tag", - "hf iclass rdbl -b 6 -k 0011223344556677\n" - "hf iclass rdbl -b 27 -k 0011223344556677 --credit\n" - "hf iclass rdbl -b 10 --ki 0"); + "hf iclass rdbl --blk 6 -k 0011223344556677\n" + "hf iclass rdbl --blk 27 -k 0011223344556677 --credit\n" + "hf iclass rdbl --blk 10 --ki 0"); void *argtable[] = { arg_param_begin, arg_str0("k", "key", "", "Access key as 8 hex bytes"), arg_int0(NULL, "ki", "", "Key index to select key from memory 'hf iclass managekeys'"), - arg_int1("b", "block", "", "The block number to read"), + arg_int1(NULL, "blk", "", "Block number"), arg_lit0(NULL, "credit", "key is assumed to be the credit key"), arg_lit0(NULL, "elite", "elite computations applied to key"), arg_lit0(NULL, "raw", "no computations applied to key"), @@ -4431,22 +4431,17 @@ static int CmdHFiClassConfigCard(const char *Cmd) { static int CmdHFiClassSAM(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass sam", - "Manage via SAM\n", + "Extract PACS via a HID SAM\n", "hf iclass sam\n" ); void *argtable[] = { arg_param_begin, - arg_str0("d", "data", "", "data"), arg_lit0("v", "verbose", "verbose output"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); - int dlen = 0; - uint8_t data[128] = {0}; - CLIGetHexWithReturn(ctx, 1, data, &dlen); - - bool verbose = arg_get_lit(ctx, 2); + bool verbose = arg_get_lit(ctx, 1); CLIParserFree(ctx); Iso7816CommandChannel channel = CC_CONTACT; diff --git a/client/src/cmdhflto.c b/client/src/cmdhflto.c index e263c850e..6ffe115c0 100644 --- a/client/src/cmdhflto.c +++ b/client/src/cmdhflto.c @@ -655,12 +655,12 @@ static int CmdHfLTOWriteBlock(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf lto wrbl", "Write data to block on LTO tag", - "hf lto wrbl --block 128 -d 0001020304050607080910111213141516171819202122232425262728293031"); + "hf lto wrbl --blk 128 -d 0001020304050607080910111213141516171819202122232425262728293031"); void *argtable[] = { arg_param_begin, arg_str1("d", "data", "", "32 bytes of data to write (64 hex symbols, no spaces)"), - arg_int1(NULL, "block", "", "The block number to write to as an integer"), + arg_int1(NULL, "blk", "", "The block number to write to as an integer"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); diff --git a/doc/cheatsheet.md b/doc/cheatsheet.md index f012a0f17..0dd86c2a0 100644 --- a/doc/cheatsheet.md +++ b/doc/cheatsheet.md @@ -79,7 +79,7 @@ Read iCLASS Block Options --- -k, --key Access key as 16 hex symbols --b, --block The block number to read as an integer + --blk The block number to read as an integer --ki Key index to select key from memory 'hf iclass managekeys' --credit key is assumed to be the credit key --elite elite computations applied to key @@ -94,7 +94,7 @@ Write to iCLASS Block Options --- -k, --key Access key as 16 hex symbols --b, --block The block number to read as an integer + --blk The block number to read as an integer -d, --data data to write as 16 hex symbols --ki Key index to select key from memory 'hf iclass managekeys' --credit key is assumed to be the credit key diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index f7317ba11..8f488013e 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -803,6 +803,9 @@ typedef struct { // STATIC Nonce detect pm3: when collecting nonces for hardnested #define PM3_ESTATIC_NONCE -25 +// No PACS data pm3: when using HID SAM to retried PACS data +#define PM3_ENOPACS -26 + // No data pm3: no data available, no host frame available (not really an error) #define PM3_ENODATA -98 // Quit program client: reserved, order to quit the program From 026cd7d53d017b10dcaab858f377e7e784682ea3 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 13:21:16 +0200 Subject: [PATCH 083/278] style --- armsrc/i2c.c | 8 ++-- client/experimental_lib/example_c/test_grab.c | 10 ++--- client/src/cmddata.c | 2 +- client/src/cmdhficlass.c | 20 +++++----- client/src/comms.c | 2 +- doc/commands.json | 37 +++++++++---------- doc/commands.md | 2 +- 7 files changed, 40 insertions(+), 41 deletions(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 39f623197..da9d5b9c7 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -717,10 +717,10 @@ void I2C_print_status(void) { if (I2C_get_version(&major, &minor) == PM3_SUCCESS) { Dbprintf(" version................. v%x.%02d ( %s )" - , major - , minor - , ( (major == 4) && (minor == 42) ) ? _GREEN_("ok") : _RED_("Outdated") - ); + , major + , minor + , ((major == 4) && (minor == 42)) ? _GREEN_("ok") : _RED_("Outdated") + ); } else { DbpString(" version................. ( " _RED_("fail") " )"); } diff --git a/client/experimental_lib/example_c/test_grab.c b/client/experimental_lib/example_c/test_grab.c index 6b093b3ce..f4a6c64bf 100644 --- a/client/experimental_lib/example_c/test_grab.c +++ b/client/experimental_lib/example_c/test_grab.c @@ -23,7 +23,7 @@ int main(int argc, char *argv[]) { // child if (pid == 0) { printf("[INFO] inside child\n"); - + // Redirect stdout to the write end of the pipe dup2(pipefd[1], STDOUT_FILENO); @@ -39,13 +39,13 @@ int main(int argc, char *argv[]) { pm3_close(p); _exit(-1); } else { - + printf("[INFO] inside parent\n"); // Parent: close write end of the pipe close(pipefd[1]); - + // Read from the pipe - while (1) { + while (1) { n = read(pipefd[0], buf, sizeof(buf)); if (n == -1) { continue; @@ -63,5 +63,5 @@ int main(int argc, char *argv[]) { // Close read end close(pipefd[0]); - } + } } diff --git a/client/src/cmddata.c b/client/src/cmddata.c index d628a9285..a1ed8dc65 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3289,7 +3289,7 @@ static int CmdNumCon(const char *Cmd) { for (uint8_t i = 0; i < ARRAYLEN(radix); i++) { MBEDTLS_MPI_CHK(mbedtls_mpi_write_string(&N, radix[i].radix, s, sizeof(s), &slen)); - if (slen > 0) { + if (slen > 0) { PrintAndLogEx(SUCCESS, "%s%s", radix[i].desc, s); } } diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index b72eba40c..df520cb78 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -365,7 +365,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke // KEYROLL need to encrypt uint8_t key_en[16] = {0}; uint8_t *keyptr_en = NULL; - if (IsCardHelperPresent(false) == false){ + if (IsCardHelperPresent(false) == false) { size_t keylen = 0; int res_key = loadFile_safe(ICLASS_DECRYPTION_BIN, "", (void **)&keyptr_en, &keylen); if (res_key != PM3_SUCCESS) { @@ -384,13 +384,13 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke PrintAndLogEx(INFO, "Setting up encryption... " NOLF); uint8_t ffs[8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - if (IsCardHelperPresent(false) != false){ + if (IsCardHelperPresent(false) != false) { if (Encrypt(ffs, ffs) == false) { PrintAndLogEx(WARNING, "failed to encrypt FF"); } else { PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } - }else{ + } else { iclass_encrypt_block_data(ffs, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } @@ -400,13 +400,13 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke uint8_t lkey[8]; memcpy(lkey, key, sizeof(lkey)); uint8_t enckey1[8]; - if (IsCardHelperPresent(false) != false){ + if (IsCardHelperPresent(false) != false) { if (Encrypt(lkey, enckey1) == false) { PrintAndLogEx(WARNING, "failed to encrypt key1"); } else { PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } - }else{ + } else { iclass_encrypt_block_data(lkey, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); } @@ -416,7 +416,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke memcpy(data + (6 * 8), o->data, sizeof(o->data)); // encrypted keyroll key 0D - if (IsCardHelperPresent(false) != false){ + if (IsCardHelperPresent(false) != false) { memcpy(data + (0x0D * 8), enckey1, sizeof(enckey1)); } else { memcpy(data + (0x0D * 8), lkey, sizeof(enckey1)); @@ -432,14 +432,14 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke uint8_t foo[8] = {0x15}; memcpy(foo + 1, key, 7); uint8_t enckey2[8]; - if (IsCardHelperPresent(false) != false){ + if (IsCardHelperPresent(false) != false) { if (Encrypt(foo, enckey2) == false) { PrintAndLogEx(WARNING, "failed to encrypt partial 1"); } else { PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); memcpy(data + (0x14 * 8), enckey2, sizeof(enckey2)); } - }else{ + } else { iclass_encrypt_block_data(foo, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); memcpy(data + (0x14 * 8), foo, sizeof(enckey2)); @@ -449,14 +449,14 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke PrintAndLogEx(INFO, "Setting encrypted partial key15... " NOLF); memset(foo, 0xFF, sizeof(foo)); foo[0] = lkey[7]; - if (IsCardHelperPresent(false) != false){ + if (IsCardHelperPresent(false) != false) { if (Encrypt(foo, enckey2) == false) { PrintAndLogEx(WARNING, "failed to encrypt partial 2"); } else { PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); memcpy(data + (0x15 * 8), enckey2, sizeof(enckey2)); } - }else{ + } else { iclass_encrypt_block_data(foo, key_en); PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); memcpy(data + (0x15 * 8), foo, sizeof(enckey2)); diff --git a/client/src/comms.c b/client/src/comms.c index 4aaa37689..6fd2ff9b0 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -682,7 +682,7 @@ int TestProxmark(pm3_device_t *dev) { int res; if (is_tcp_conn || is_udp_conn) { if ((strstr(g_conn.serial_port_name, "localhost") != NULL) || - (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL)) { + (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL)) { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS); } else { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); diff --git a/doc/commands.json b/doc/commands.json index 35ff5d2d9..20b4b941f 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -3178,10 +3178,10 @@ "offline": false, "options": [ "-h, --help This help", - "-b, --blk block number", + "--blk block number", "-d, --data bytes to write, 8 hex bytes" ], - "usage": "hf iclass esetblk [-h] -b [-d ]" + "usage": "hf iclass esetblk [-h] --blk [-d ]" }, "hf iclass eview": { "command": "hf iclass eview", @@ -3309,16 +3309,16 @@ "command": "hf iclass rdbl", "description": "Read a iCLASS block from tag", "notes": [ - "hf iclass rdbl -b 6 -k 0011223344556677", - "hf iclass rdbl -b 27 -k 0011223344556677 --credit", - "hf iclass rdbl -b 10 --ki 0" + "hf iclass rdbl --blk 6 -k 0011223344556677", + "hf iclass rdbl --blk 27 -k 0011223344556677 --credit", + "hf iclass rdbl --blk 10 --ki 0" ], "offline": false, "options": [ "-h, --help This help", "-k, --key Access key as 8 hex bytes", "--ki Key index to select key from memory 'hf iclass managekeys'", - "-b, --block The block number to read", + "--blk Block number", "--credit key is assumed to be the credit key", "--elite elite computations applied to key", "--raw no computations applied to key", @@ -3326,7 +3326,7 @@ "-v, --verbose verbose output", "--shallow use shallow (ASK) reader modulation instead of OOK" ], - "usage": "hf iclass rdbl [-hv] [-k ] [--ki ] -b [--credit] [--elite] [--raw] [--nr] [--shallow]" + "usage": "hf iclass rdbl [-hv] [-k ] [--ki ] --blk [--credit] [--elite] [--raw] [--nr] [--shallow]" }, "hf iclass reader": { "command": "hf iclass reader", @@ -3368,17 +3368,16 @@ }, "hf iclass sam": { "command": "hf iclass sam", - "description": "Manage via SAM", + "description": "Extract PACS via a HID SAM", "notes": [ "hf iclass sam" ], "offline": false, "options": [ "-h, --help This help", - "-d, --data data", "-v, --verbose verbose output" ], - "usage": "hf iclass sam [-hv] [-d ]" + "usage": "hf iclass sam [-hv]" }, "hf iclass sim": { "command": "hf iclass sim", @@ -3437,16 +3436,16 @@ "command": "hf iclass wrbl", "description": "Write data to an iCLASS tag", "notes": [ - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B", - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B --credit", - "hf iclass wrbl -b 10 -d AAAAAAAAAAAAAAAA --ki 0" + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B", + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA -k 001122334455667B --credit", + "hf iclass wrbl --blk 10 -d AAAAAAAAAAAAAAAA --ki 0" ], "offline": false, "options": [ "-h, --help This help", "-k, --key Access key as 8 hex bytes", "--ki Key index to select key from memory 'hf iclass managekeys'", - "-b, --block The block number to read", + "--blk block number", "-d, --data data to write as 8 hex bytes", "-m, --mac replay mac data (4 hex bytes)", "--credit key is assumed to be the credit key", @@ -3456,7 +3455,7 @@ "-v, --verbose verbose output", "--shallow use shallow (ASK) reader modulation instead of OOK" ], - "usage": "hf iclass wrbl [-hv] [-k ] [--ki ] -b -d [-m ] [--credit] [--elite] [--raw] [--nr] [--shallow]" + "usage": "hf iclass wrbl [-hv] [-k ] [--ki ] --blk -d [-m ] [--credit] [--elite] [--raw] [--nr] [--shallow]" }, "hf jooki clone": { "command": "hf jooki clone", @@ -3951,15 +3950,15 @@ "command": "hf lto wrbl", "description": "Write data to block on LTO tag", "notes": [ - "hf lto wrbl --block 128 -d 0001020304050607080910111213141516171819202122232425262728293031" + "hf lto wrbl --blk 128 -d 0001020304050607080910111213141516171819202122232425262728293031" ], "offline": false, "options": [ "-h, --help This help", "-d, --data 32 bytes of data to write (64 hex symbols, no spaces)", - "--block The block number to write to as an integer" + "--blk The block number to write to as an integer" ], - "usage": "hf lto wrbl [-h] -d --block " + "usage": "hf lto wrbl [-h] -d --blk " }, "hf mf acl": { "command": "hf mf acl", @@ -11857,6 +11856,6 @@ "metadata": { "commands_extracted": 687, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-12T12:53:10" + "extracted_on": "2023-10-15T11:21:02" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 40216f74b..07d744045 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -2,7 +2,7 @@ # Proxmark3 command dump -Some commands are available only if a Proxmark3 is actually connected. +Some commands are available only if a Proxmark3 is actually connected. Check column "offline" for their availability. From 8a9c043aa6df0401d0e1fd43be30df87b3d80016 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 15:23:14 +0200 Subject: [PATCH 084/278] fixing "lf hid clone --bin" param to correctly handle sentinel bit --- CHANGELOG.md | 1 + client/src/cmdlfhid.c | 33 ++++++++++++++++++++++++++------- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 994e02362..22335394d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Fixed `lf hid clone --bin` - now correctly handles sentinel bits (@iceman1001) - Experimental UDP support in linux (@iceman1001) - Changed CI scripts to speed up the builds (@wh201906) - Changed the timeout of local TCP connections (@wh201906) diff --git a/client/src/cmdlfhid.c b/client/src/cmdlfhid.c index d197a6dcb..7e3763ec5 100644 --- a/client/src/cmdlfhid.c +++ b/client/src/cmdlfhid.c @@ -44,6 +44,7 @@ #include "wiegand_formats.h" #include "wiegand_formatutils.h" #include "cmdlfem4x05.h" // EM defines +#include "loclass/cipherutils.h" // bitstreamout #ifndef BITS # define BITS 96 @@ -399,14 +400,32 @@ static int CmdHIDClone(const char *Cmd) { packed.Mid = mid; packed.Bot = bot; } else if (bin_len) { - int res = binstring_to_u96(&top, &mid, &bot, (const char *)bin); - if (res != bin_len) { - PrintAndLogEx(ERR, "Binary string contains none <0|1> chars"); - return PM3_EINVARG; + + uint8_t hex[12]; + memset(hex, 0, sizeof(hex)); + BitstreamOut_t bout = {hex, 0, 0 }; + + for (int i = 0; i < 96 - bin_len - 1; i++) { + pushBit(&bout, 0); } - packed.Top = top; - packed.Mid = mid; - packed.Bot = bot; + // add binary sentinel bit. + pushBit(&bout, 1); + + // convert binary string to hex bytes + for (int i = 0; i < bin_len; i++) { + char c = bin[i]; + if (c == '1') + pushBit(&bout, 1); + else if (c == '0') + pushBit(&bout, 0); + } + + packed.Length = bin_len; + packed.Top = bytes_to_num(hex, 4); + packed.Mid = bytes_to_num(hex + 4, 4); + packed.Bot = bytes_to_num(hex + 8, 4); + add_HID_header(&packed); + } else { if (HIDPack(format_idx, &card, &packed, true) == false) { PrintAndLogEx(WARNING, "The card data could not be encoded in the selected format."); From 12fc6648700072d8dc26ba52564fb24a338b1c97 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 17:11:36 +0200 Subject: [PATCH 085/278] updated commands and text --- client/luascripts/hf_mf_sim_hid.lua | 34 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/client/luascripts/hf_mf_sim_hid.lua b/client/luascripts/hf_mf_sim_hid.lua index 4091a10b5..610c1984c 100644 --- a/client/luascripts/hf_mf_sim_hid.lua +++ b/client/luascripts/hf_mf_sim_hid.lua @@ -7,7 +7,7 @@ local ansicolors = require('ansicolors') copyright = '' author = "Michael Micsen" -version = 'v0.0.1' +version = 'v0.0.2' desc = [[ Perform simulation of Mifare credentials with HID encoding This script only supports: H10301 @@ -17,12 +17,12 @@ example = [[ script run hf_mf_sim_hid.lua -f 1 -c 10000 ]] usage = [[ -script run hf_mf_sim_hid.lua -f facility -c card_number +script run hf_mf_sim_hid.lua -f -c ]] arguments = [[ -h : this help - -f : facility id - -c : starting card id + -f : facility code + -c : card number ]] local DEBUG = true --local bxor = bit32.bxor @@ -126,7 +126,6 @@ local function cardHex(i, f) sentinel = lshift(1, 26) bits = bor(bits, sentinel) - return ('%08x'):format(bits) end --- @@ -146,15 +145,14 @@ local function main(args) if o == 'h' then return help() end if o == 'f' then if isempty(a) then - print('You did not supply a facility code, using 0') + print('Defaulting to facility code 0') facility = 0 else facility = a end end if o == 'c' then - print(a) - if isempty(a) then return oops('You must supply the flag -c (card number)1') end + if isempty(a) then return oops('You must supply a card number') end cardnum = a end end @@ -162,23 +160,27 @@ local function main(args) --Due to my earlier complaints about how this specific getopt library --works, specifying ':' does not enforce supplying a value, thus we --need to do these checks all over again. - if isempty(cardnum) then return oops('You must supply the flag -c (card number)2') end + if isempty(cardnum) then return oops('You must supply a card number') end + --If the facility ID is non specified, ensure we code it as zero if isempty(facility) then - print('Using 0 for the facility code as -f was not supplied') + print('Defaulting to facility code 0') facility = 0 end -- Write the MAD to read for a Mifare HID credential - core.console('hf mf esetblk -b 1 -d 1B014D48000000000000000000000000') - core.console('hf mf esetblk -b 3 -d A0A1A2A3A4A5787788C189ECA97F8C2A') + core.console('hf mf esetblk --blk 1 -d 1B014D48000000000000000000000000') + core.console('hf mf esetblk --blk 3 -d A0A1A2A3A4A5787788C189ECA97F8C2A') --Write the sector trailer for the credential sector - core.console('hf mf esetblk -b 7 -d 484944204953787788AA204752454154') + core.console('hf mf esetblk --blk 7 -d 484944204953787788AA204752454154') local cardh = cardHex(cardnum, facility) - print('Hex') - print(cardh) - core.console( ('hf mf esetblk -b 5 -d 020000000000000000000000%s'):format(cardh) ) + + print('Facility Code... ' .. facility) + print('Card number..... ' .. cardnum) + print('Hex............. ' .. cardh) + print('') + core.console( ('hf mf esetblk --blk 5 -d 020000000000000000000000%s'):format(cardh) ) core.console('hf mf sim --1k -i') end From ade322a4105a6fc9360817e222a2f18d75d9e875 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 17:14:56 +0200 Subject: [PATCH 086/278] style --- client/luascripts/hf_mf_sim_hid.lua | 2 +- doc/commands.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/luascripts/hf_mf_sim_hid.lua b/client/luascripts/hf_mf_sim_hid.lua index 610c1984c..3f3933872 100644 --- a/client/luascripts/hf_mf_sim_hid.lua +++ b/client/luascripts/hf_mf_sim_hid.lua @@ -174,7 +174,7 @@ local function main(args) --Write the sector trailer for the credential sector core.console('hf mf esetblk --blk 7 -d 484944204953787788AA204752454154') local cardh = cardHex(cardnum, facility) - + print('Facility Code... ' .. facility) print('Card number..... ' .. cardnum) print('Hex............. ' .. cardh) diff --git a/doc/commands.json b/doc/commands.json index 20b4b941f..e410a0a98 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -11856,6 +11856,6 @@ "metadata": { "commands_extracted": 687, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-15T11:21:02" + "extracted_on": "2023-10-15T15:14:39" } } \ No newline at end of file From 13f9972f3999c04bc3c800eba522b1f4dba75fb6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 15 Oct 2023 17:49:48 +0200 Subject: [PATCH 087/278] fix coverity resource leak --- client/src/cmdhficlass.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index df520cb78..fb5b5cdb4 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -370,12 +370,14 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke int res_key = loadFile_safe(ICLASS_DECRYPTION_BIN, "", (void **)&keyptr_en, &keylen); if (res_key != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to find iclass_decryptionkey.bin"); + free(data); return PM3_EINVARG; } if (keylen != 16) { PrintAndLogEx(ERR, "Failed to load transport key from file"); free(keyptr_en); + free(data); return PM3_EINVARG; } memcpy(key_en, keyptr_en, sizeof(key_en)); From 7aef669e594126123811d4356f3ec4573fc59e11 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 16 Oct 2023 01:52:27 +0800 Subject: [PATCH 088/278] Add ringbuffer This is used in the UDP connection --- client/CMakeLists.txt | 1 + client/Makefile | 1 + client/experimental_lib/CMakeLists.txt | 1 + client/src/uart/ringbuffer.c | 102 +++++++++++++++++++++++++ client/src/uart/ringbuffer.h | 26 +++++++ 5 files changed, 131 insertions(+) create mode 100644 client/src/uart/ringbuffer.c create mode 100644 client/src/uart/ringbuffer.h diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index eaee2f0f0..acf079f70 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -286,6 +286,7 @@ set (TARGET_SOURCES ${PM3_ROOT}/client/src/mifare/desfirecore.c ${PM3_ROOT}/client/src/mifare/desfiretest.c ${PM3_ROOT}/client/src/mifare/gallaghercore.c + ${PM3_ROOT}/client/src/uart/ringbuffer.c ${PM3_ROOT}/client/src/uart/uart_posix.c ${PM3_ROOT}/client/src/uart/uart_win32.c ${PM3_ROOT}/client/src/ui/overlays.ui diff --git a/client/Makefile b/client/Makefile index b63fdf329..d45e958f7 100644 --- a/client/Makefile +++ b/client/Makefile @@ -707,6 +707,7 @@ SRCS = mifare/aiddesfire.c \ pm3line.c \ proxmark3.c \ scandir.c \ + uart/ringbuffer.c \ uart/uart_posix.c \ uart/uart_win32.c \ scripting.c \ diff --git a/client/experimental_lib/CMakeLists.txt b/client/experimental_lib/CMakeLists.txt index a5caeb014..04198cf88 100644 --- a/client/experimental_lib/CMakeLists.txt +++ b/client/experimental_lib/CMakeLists.txt @@ -286,6 +286,7 @@ set (TARGET_SOURCES ${PM3_ROOT}/client/src/mifare/desfirecore.c ${PM3_ROOT}/client/src/mifare/desfiretest.c ${PM3_ROOT}/client/src/mifare/gallaghercore.c + ${PM3_ROOT}/client/src/uart/ringbuffer.c ${PM3_ROOT}/client/src/uart/uart_posix.c ${PM3_ROOT}/client/src/uart/uart_win32.c ${PM3_ROOT}/client/src/ui/overlays.ui diff --git a/client/src/uart/ringbuffer.c b/client/src/uart/ringbuffer.c new file mode 100644 index 000000000..4a3b01f74 --- /dev/null +++ b/client/src/uart/ringbuffer.c @@ -0,0 +1,102 @@ +#include "ringbuffer.h" +#include + +RingBuffer* RingBuf_create(int capacity) { + RingBuffer* buffer = (RingBuffer*)malloc(sizeof(RingBuffer)); + if (!buffer) { + return NULL; + } + + buffer->data = (uint8_t*)calloc(capacity, sizeof(uint8_t)); + if (!buffer->data) { + free(buffer); + return NULL; + } + + buffer->capacity = capacity; + buffer->size = 0; + buffer->front = 0; + buffer->rear = 0; + + return buffer; +} + +inline bool RingBuf_isFull(RingBuffer* buffer) { + return buffer->size == buffer->capacity; +} + +inline bool RingBuf_isEmpty(RingBuffer* buffer) { + return buffer->size == 0; +} + +bool RingBuf_enqueue(RingBuffer* buffer, uint8_t value) { + if (RingBuf_isFull(buffer)) { + return false; + } + + buffer->data[buffer->rear] = value; + buffer->rear = (buffer->rear + 1) % buffer->capacity; + buffer->size++; + return true; +} + +bool RingBuf_dequeue(RingBuffer* buffer, uint8_t* value) { + if (RingBuf_isEmpty(buffer)) { + return false; + } + + *value = buffer->data[buffer->front]; + buffer->front = (buffer->front + 1) % buffer->capacity; + buffer->size--; + return true; +} + +int RingBuf_enqueueBatch(RingBuffer* buffer, const uint8_t* values, int count) { + int processed = 0; + + if (RingBuf_getAvailableSize(buffer) < count) { + count = RingBuf_getAvailableSize(buffer); + } + + for (int i = 0; i < count; i++) { + buffer->data[buffer->rear] = values[i]; + buffer->rear = (buffer->rear + 1) % buffer->capacity; + processed++; + } + + buffer->size += processed; + + return processed; +} + +int RingBuf_dequeueBatch(RingBuffer* buffer, uint8_t* values, int count) { + int processed = 0; + + if (buffer->size < count) { + count = buffer->size; + } + + for (int i = 0; i < count; i++) { + values[i] = buffer->data[buffer->front]; + buffer->front = (buffer->front + 1) % buffer->capacity; + processed++; + } + + buffer->size -= processed; + + return processed; +} + +inline int RingBuf_getUsedSize(RingBuffer* buffer) { + return buffer->size; +} + +inline int RingBuf_getAvailableSize(RingBuffer* buffer) { + return (buffer->capacity) - (buffer->size); +} + +void RingBuf_destroy(RingBuffer* buffer) { + if (buffer != NULL) + free(buffer->data); + free(buffer); +} diff --git a/client/src/uart/ringbuffer.h b/client/src/uart/ringbuffer.h new file mode 100644 index 000000000..e78e284b4 --- /dev/null +++ b/client/src/uart/ringbuffer.h @@ -0,0 +1,26 @@ +#ifndef _RINGBUFFER_H_ +#define _RINGBUFFER_H_ + +#include +#include + +typedef struct { + uint8_t* data; + int capacity; + int size; + int front; + int rear; +} RingBuffer; + +RingBuffer* RingBuf_create(int capacity); +bool RingBuf_isFull(RingBuffer* buffer); +bool RingBuf_isEmpty(RingBuffer* buffer); +bool RingBuf_enqueue(RingBuffer* buffer, uint8_t value); +bool RingBuf_dequeue(RingBuffer* buffer, uint8_t* value); +int RingBuf_enqueueBatch(RingBuffer* buffer, const uint8_t* values, int count); +int RingBuf_dequeueBatch(RingBuffer* buffer, uint8_t* values, int count); +int RingBuf_getUsedSize(RingBuffer* buffer); +int RingBuf_getAvailableSize(RingBuffer* buffer); +void RingBuf_destroy(RingBuffer* buffer); + +#endif From 5775b53078f0429e83622918c57bce03d2b6748b Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 16 Oct 2023 01:56:03 +0800 Subject: [PATCH 089/278] UDP support on Linux --- CHANGELOG.md | 2 +- client/src/uart/uart_posix.c | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22335394d..9d1f80ba5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac ## [unreleased][unreleased] - Fixed `lf hid clone --bin` - now correctly handles sentinel bits (@iceman1001) - - Experimental UDP support in linux (@iceman1001) + - Experimental UDP support in linux (@iceman1001, @wh201906) - Changed CI scripts to speed up the builds (@wh201906) - Changed the timeout of local TCP connections (@wh201906) - Finalized implementation of configcard generation for keyroll when cardhelper is not present (@Antiklesys) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index c7cdc27a6..cff3b7453 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -21,6 +21,7 @@ #define _DEFAULT_SOURCE #include "uart.h" +#include "ringbuffer.h" #include #include @@ -55,6 +56,7 @@ typedef struct { int fd; // Serial port file descriptor term_info tiOld; // Terminal info before using the port term_info tiNew; // Terminal info during the transaction + RingBuffer* udpBuffer; } serial_port_unix_t_t; // see pm3_cmd.h @@ -84,6 +86,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } + sp->udpBuffer = NULL; // init timeouts timeout.tv_usec = UART_FPC_CLIENT_RX_TIMEOUT_MS * 1000; @@ -239,6 +242,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } sp->fd = sfd; + sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 20); return sp; } @@ -427,6 +431,7 @@ void uart_close(const serial_port sp) { //silent error message as it can be called from uart_open failing modes, e.g. when waiting for port to appear //PrintAndLogEx(ERR, "UART error while closing port"); } + RingBuf_destroy(spu->udpBuffer); close(spu->fd); free(sp); } @@ -435,6 +440,7 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin uint32_t byteCount; // FIONREAD returns size on 32b fd_set rfds; struct timeval tv; + const serial_port_unix_t_t *spu = (serial_port_unix_t_t *)sp; if (newtimeout_pending) { timeout.tv_usec = newtimeout_value * 1000; @@ -443,11 +449,30 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // Reset the output count *pszRxLen = 0; do { + int res; + if(spu->udpBuffer != NULL) { + // for UDP connection, try to use the data from the buffer + + byteCount = RingBuf_getAvailableSize(spu->udpBuffer); + // Cap the number of bytes, so we don't overrun the buffer + if (pszMaxRxLen - (*pszRxLen) < byteCount) { +// PrintAndLogEx(ERR, "UART:: RX prevent overrun (have %u, need %u)", pszMaxRxLen - (*pszRxLen), byteCount); + byteCount = pszMaxRxLen - (*pszRxLen); + } + res = RingBuf_dequeueBatch(spu->udpBuffer, pbtRx + (*pszRxLen), byteCount); + *pszRxLen += res; + + if (*pszRxLen == pszMaxRxLen) { + // We have all the data we wanted. + return PM3_SUCCESS; + } + } + // Reset file descriptor FD_ZERO(&rfds); FD_SET(((serial_port_unix_t_t *)sp)->fd, &rfds); tv = timeout; - int res = select(((serial_port_unix_t_t *)sp)->fd + 1, &rfds, NULL, NULL, &tv); + res = select(((serial_port_unix_t_t *)sp)->fd + 1, &rfds, NULL, NULL, &tv); // Read error if (res < 0) { @@ -470,6 +495,14 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // PrintAndLogEx(ERR, "UART:: RX ioctl res %d byteCount %u", res, byteCount); if (res < 0) return PM3_ENOTTY; + // For UDP connection, put the incoming data into the buffer and handle them in the next round + if (spu->udpBuffer != NULL) { + uint8_t recvBuf[MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 20]; + res = read(spu->fd, recvBuf, RingBuf_getAvailableSize(spu->udpBuffer)); + RingBuf_enqueueBatch(spu->udpBuffer, recvBuf, res); + continue; + } + // Cap the number of bytes, so we don't overrun the buffer if (pszMaxRxLen - (*pszRxLen) < byteCount) { // PrintAndLogEx(ERR, "UART:: RX prevent overrun (have %u, need %u)", pszMaxRxLen - (*pszRxLen), byteCount); From 3df58f3a9eb853df944c8b045f4bac7c8e15412a Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 16 Oct 2023 02:07:32 +0800 Subject: [PATCH 090/278] Clean up --- client/src/uart/uart_posix.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index cff3b7453..05a728ada 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -470,9 +470,9 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // Reset file descriptor FD_ZERO(&rfds); - FD_SET(((serial_port_unix_t_t *)sp)->fd, &rfds); + FD_SET(spu->fd, &rfds); tv = timeout; - res = select(((serial_port_unix_t_t *)sp)->fd + 1, &rfds, NULL, NULL, &tv); + res = select(spu->fd + 1, &rfds, NULL, NULL, &tv); // Read error if (res < 0) { @@ -491,7 +491,7 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin } // Retrieve the count of the incoming bytes - res = ioctl(((serial_port_unix_t_t *)sp)->fd, FIONREAD, &byteCount); + res = ioctl(spu->fd, FIONREAD, &byteCount); // PrintAndLogEx(ERR, "UART:: RX ioctl res %d byteCount %u", res, byteCount); if (res < 0) return PM3_ENOTTY; @@ -510,7 +510,7 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin } // There is something available, read the data - res = read(((serial_port_unix_t_t *)sp)->fd, pbtRx + (*pszRxLen), byteCount); + res = read(spu->fd, pbtRx + (*pszRxLen), byteCount); // Stop if the OS has some troubles reading the data if (res <= 0) { @@ -532,13 +532,14 @@ int uart_send(const serial_port sp, const uint8_t *pbtTx, const uint32_t len) { uint32_t pos = 0; fd_set rfds; struct timeval tv; + const serial_port_unix_t_t *spu = (serial_port_unix_t_t *)sp; while (pos < len) { // Reset file descriptor FD_ZERO(&rfds); - FD_SET(((serial_port_unix_t_t *)sp)->fd, &rfds); + FD_SET(spu->fd, &rfds); tv = timeout; - int res = select(((serial_port_unix_t_t *)sp)->fd + 1, NULL, &rfds, NULL, &tv); + int res = select(spu->fd + 1, NULL, &rfds, NULL, &tv); // Write error if (res < 0) { @@ -553,7 +554,7 @@ int uart_send(const serial_port sp, const uint8_t *pbtTx, const uint32_t len) { } // Send away the bytes - res = write(((serial_port_unix_t_t *)sp)->fd, pbtTx + pos, len - pos); + res = write(spu->fd, pbtTx + pos, len - pos); // Stop if the OS has some troubles sending the data if (res <= 0) From 732473bdf2ebc5470478183b4cde81b985471a13 Mon Sep 17 00:00:00 2001 From: Eugenue Cherevatskii <34691028+rozetkinrobot@users.noreply.github.com> Date: Sun, 15 Oct 2023 21:49:46 +0300 Subject: [PATCH 091/278] Fix typo in magic_card_notes.md Signed-off-by: Eugenue Cherevatskii <34691028+rozetkinrobot@users.noreply.github.com> --- doc/magic_cards_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/magic_cards_notes.md b/doc/magic_cards_notes.md index c588d3b54..0477a46ae 100644 --- a/doc/magic_cards_notes.md +++ b/doc/magic_cards_notes.md @@ -1217,7 +1217,7 @@ There are two ways to program this card. ***OR*** - 2. Use the hf_mf_ultimatecard.lua script commands designated but the `script run hf_mf_ulimatecard` examples. + 2. Use the hf_mf_ultimatecard.lua script commands designated but the `script run hf_mf_ultimatecard` examples. script run hf_mf_ultimatecard.lua -h From d738f3171cfb1552c47e0e196907c6bc402f82d6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 16 Oct 2023 10:14:38 +0200 Subject: [PATCH 092/278] maur, thanks to Randy! --- client/dictionaries/mfc_default_keys.dic | 8 +++++++- client/gen_pm3mfsim_script.sh => tools/pm3_gen_mfsim.sh | 0 2 files changed, 7 insertions(+), 1 deletion(-) rename client/gen_pm3mfsim_script.sh => tools/pm3_gen_mfsim.sh (100%) diff --git a/client/dictionaries/mfc_default_keys.dic b/client/dictionaries/mfc_default_keys.dic index 3b4ef120b..100cfb4f0 100644 --- a/client/dictionaries/mfc_default_keys.dic +++ b/client/dictionaries/mfc_default_keys.dic @@ -1837,11 +1837,17 @@ E19504C39461 FA1FBB3F0F1F FF16014FEFC7 # -# # Food GEM 6686FADE5566 # +# Samsung Data Systems (SDS) — Electronic Locks +# Gen 1 S10 KA/KB is FFFFFFFFFFFF, incompatible with Gen 2 locks +# +# SDS Gen 2 S10 KB +C22E04247D9A +# # Data from Discord, French pool +# SDS Gen 2 S10 KA 9B7C25052FC3 494446555455 # diff --git a/client/gen_pm3mfsim_script.sh b/tools/pm3_gen_mfsim.sh similarity index 100% rename from client/gen_pm3mfsim_script.sh rename to tools/pm3_gen_mfsim.sh From 703a2c968a665aa2d859d15f23307951666c9d5d Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 16 Oct 2023 20:05:42 +0800 Subject: [PATCH 093/278] Faster uart_receive() in UDP mode Added some functions for writing data to the ring buffer directly Increased the size of ring buffer --- client/src/uart/ringbuffer.c | 16 ++++++++++++++++ client/src/uart/ringbuffer.h | 5 +++++ client/src/uart/uart_posix.c | 17 +++++++++++++---- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/client/src/uart/ringbuffer.c b/client/src/uart/ringbuffer.c index 4a3b01f74..13ff133e8 100644 --- a/client/src/uart/ringbuffer.c +++ b/client/src/uart/ringbuffer.c @@ -100,3 +100,19 @@ void RingBuf_destroy(RingBuffer* buffer) { free(buffer->data); free(buffer); } + +inline int RingBuf_getContinousAvailableSize(RingBuffer* buffer) { + const int availableSize = RingBuf_getAvailableSize(buffer); + const int continousSize = (buffer->capacity) - (buffer->rear); + return (availableSize < continousSize) ? availableSize : continousSize; +} + +inline void RingBuf_postEnqueueBatch(RingBuffer* buffer, int count) { + // no check there + buffer->rear = (buffer->rear + count) % buffer->capacity; + buffer->size += count; +} + +inline uint8_t* RingBuf_getRearPtr(RingBuffer* buffer) { + return buffer->data + buffer->rear; +} diff --git a/client/src/uart/ringbuffer.h b/client/src/uart/ringbuffer.h index e78e284b4..35321c8d6 100644 --- a/client/src/uart/ringbuffer.h +++ b/client/src/uart/ringbuffer.h @@ -23,4 +23,9 @@ int RingBuf_getUsedSize(RingBuffer* buffer); int RingBuf_getAvailableSize(RingBuffer* buffer); void RingBuf_destroy(RingBuffer* buffer); +// for direct write +int RingBuf_getContinousAvailableSize(RingBuffer* buffer); +void RingBuf_postEnqueueBatch(RingBuffer* buffer, int count); +uint8_t* RingBuf_getRearPtr(RingBuffer* buffer); + #endif diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 05a728ada..b864da4b1 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -242,7 +242,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } sp->fd = sfd; - sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 20); + sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); return sp; } @@ -497,9 +497,18 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // For UDP connection, put the incoming data into the buffer and handle them in the next round if (spu->udpBuffer != NULL) { - uint8_t recvBuf[MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 20]; - res = read(spu->fd, recvBuf, RingBuf_getAvailableSize(spu->udpBuffer)); - RingBuf_enqueueBatch(spu->udpBuffer, recvBuf, res); + if (RingBuf_getContinousAvailableSize(spu->udpBuffer) >= byteCount) { + // write to the buffer directly + res = read(spu->fd, RingBuf_getRearPtr(spu->udpBuffer), RingBuf_getAvailableSize(spu->udpBuffer)); + if (res >= 0) { + RingBuf_postEnqueueBatch(spu->udpBuffer, res); + } + } else { + // use transit buffer + uint8_t transitBuf[MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30]; + res = read(spu->fd, transitBuf, RingBuf_getAvailableSize(spu->udpBuffer)); + RingBuf_enqueueBatch(spu->udpBuffer, transitBuf, res); + } continue; } From a333438fa4f71c3804c6a700164d3d42a6a8ac66 Mon Sep 17 00:00:00 2001 From: Self Not Found Date: Mon, 16 Oct 2023 21:04:15 +0800 Subject: [PATCH 094/278] Speed up CodeQL --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index e035578b4..07d1832ce 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -70,7 +70,7 @@ jobs: env: V: 1 PLATFORM_EXTRAS: BTADDON - run: make + run: make -j$((`nproc` + 1)) - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 From bd34794d263302e2c82290e53a3860093528ae32 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 16 Oct 2023 21:12:14 +0800 Subject: [PATCH 095/278] Add error handling --- client/src/uart/uart_posix.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index b864da4b1..ff2a6cde3 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -509,6 +509,10 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin res = read(spu->fd, transitBuf, RingBuf_getAvailableSize(spu->udpBuffer)); RingBuf_enqueueBatch(spu->udpBuffer, transitBuf, res); } + // Stop if the OS has some troubles reading the data + if (res < 0) { + return PM3_EIO; + } continue; } From 2e0c24c8f21389120ac4331e1f1239df8ab61a15 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 18:32:13 +0800 Subject: [PATCH 096/278] Add IPv6 support for TCP (Linux) --- client/src/uart/uart_posix.c | 55 +++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index ff2a6cde3..c67199164 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -108,8 +108,10 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrstr = strdup(pcPortName + 4); - if (addrstr == NULL) { + char *addrPortStr = strdup(pcPortName + 4); + char *addrstr = addrPortStr; + const char *portstr; + if (addrPortStr == NULL) { PrintAndLogEx(ERR, "error: string duplication"); free(sp); return INVALID_SERIAL_PORT; @@ -117,26 +119,59 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; - char *colon = strrchr(addrstr, ':'); - const char *portstr; - if (colon) { - portstr = colon + 1; - *colon = '\0'; - } else { + // find the start of the address + char *endBracket = strrchr(addrPortStr, ']'); + if (addrPortStr[0] == '[') { + addrstr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the port + char *lColon = strchr(addrPortStr, ':'); + char *rColon = strrchr(addrPortStr, ':'); + if (rColon == NULL) { + // no colon + // "tcp:", "tcp:[]" portstr = "18888"; + } else if (lColon == rColon) { + // only one colon + // "tcp::", "tcp:[]:" + portstr = rColon + 1; + } else { + // two or more colon, IPv6 address + // tcp:[]: + // "tcp:", "tcp:[]" + if (endBracket != NULL && rColon == endBracket + 1) { + portstr = rColon + 1; + } else { + portstr = "18888"; + } + } + + // handle the end of the address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; } struct addrinfo info; memset(&info, 0, sizeof(info)); + info.ai_family = PF_UNSPEC; info.ai_socktype = SOCK_STREAM; int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); free(sp); return INVALID_SERIAL_PORT; } @@ -155,7 +190,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); if (rp == NULL) { /* No address succeeded */ PrintAndLogEx(ERR, "error: Could not connect"); From 67d36152cc3a86a54250ca1f27f4810a6d35d57e Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 18:40:17 +0800 Subject: [PATCH 097/278] Add IPv6 support for UDP (Linux) --- client/src/uart/uart_posix.c | 56 +++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index c67199164..5480e98b7 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -219,8 +219,10 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrstr = strdup(pcPortName + 4); - if (addrstr == NULL) { + char *addrPortStr = strdup(pcPortName + 4); + char *addrstr = addrPortStr; + const char *portstr; + if (addrPortStr == NULL) { PrintAndLogEx(ERR, "error: string duplication"); free(sp); return INVALID_SERIAL_PORT; @@ -228,20 +230,52 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; - char *colon = strrchr(addrstr, ':'); - const char *portstr; - if (colon) { - portstr = colon + 1; - *colon = '\0'; - } else { + // find the start of the address + char *endBracket = strrchr(addrPortStr, ']'); + if (addrPortStr[0] == '[') { + addrstr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the port + char *lColon = strchr(addrPortStr, ':'); + char *rColon = strrchr(addrPortStr, ':'); + if (rColon == NULL) { + // no colon + // "tcp:", "tcp:[]" portstr = "18888"; + } else if (lColon == rColon) { + // only one colon + // "tcp::", "tcp:[]:" + portstr = rColon + 1; + } else { + // two or more colon, IPv6 address + // tcp:[]: + // "tcp:", "tcp:[]" + if (endBracket != NULL && rColon == endBracket + 1) { + portstr = rColon + 1; + } else { + portstr = "18888"; + } + } + + // handle the end of the address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; } struct addrinfo info; memset(&info, 0, sizeof(info)); - info.ai_family = AF_INET; + info.ai_family = PF_UNSPEC; info.ai_socktype = SOCK_DGRAM; // info.ai_protocol = SOL_UDP; @@ -249,7 +283,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); free(sp); return INVALID_SERIAL_PORT; } @@ -268,7 +302,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); if (rp == NULL) { /* No address succeeded */ PrintAndLogEx(ERR, "error: Could not connect"); From d9b5afbb9284f66a309bb545d32edf52093e5505 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 19:40:41 +0800 Subject: [PATCH 098/278] Add IPv6 support for TCP (Windows) --- client/src/uart/uart_win32.c | 58 +++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 541804a24..983127015 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -109,8 +109,10 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrstr = strdup(pcPortName + 4); - if (addrstr == NULL) { + char *addrPortStr = strdup(pcPortName + 4); + char *addrstr = addrPortStr; + const char *portstr; + if (addrPortStr == NULL) { PrintAndLogEx(ERR, "error: string duplication"); free(sp); return INVALID_SERIAL_PORT; @@ -118,13 +120,45 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; - char *colon = strrchr(addrstr, ':'); - const char *portstr; - if (colon) { - portstr = colon + 1; - *colon = '\0'; - } else { + // find the start of the address + char *endBracket = strrchr(addrPortStr, ']'); + if (addrPortStr[0] == '[') { + addrstr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the port + char *lColon = strchr(addrPortStr, ':'); + char *rColon = strrchr(addrPortStr, ':'); + if (rColon == NULL) { + // no colon + // "tcp:", "tcp:[]" portstr = "18888"; + } else if (lColon == rColon) { + // only one colon + // "tcp::", "tcp:[]:" + portstr = rColon + 1; + } else { + // two or more colon, IPv6 address + // tcp:[]: + // "tcp:", "tcp:[]" + if (endBracket != NULL && rColon == endBracket + 1) { + portstr = rColon + 1; + } else { + portstr = "18888"; + } + } + + // handle the end of the address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; } WSADATA wsaData; @@ -134,19 +168,21 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); if (iResult != 0) { PrintAndLogEx(ERR, "error: WSAStartup failed with error: %d", iResult); + free(addrPortStr); free(sp); return INVALID_SERIAL_PORT; } memset(&info, 0, sizeof(info)); + info.ai_family = AF_UNSPEC; info.ai_socktype = SOCK_STREAM; info.ai_protocol = IPPROTO_TCP; int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { - PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); + PrintAndLogEx(ERR, "error: getaddrinfo: %d: %s", s, gai_strerror(s)); freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); free(sp); WSACleanup(); return INVALID_SERIAL_PORT; @@ -167,7 +203,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } freeaddrinfo(addr); - free(addrstr); + free(addrPortStr); if (rp == NULL) { /* No address succeeded */ PrintAndLogEx(ERR, "error: Could not connect"); From 08d55f331cb6e5822aaa9d64e8286d713bd3fb64 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 19:52:39 +0800 Subject: [PATCH 099/278] Add an entry in CHANGELOG --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d1f80ba5..6043e3440 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,10 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added IPv6 support (@wh201906) - Fixed `lf hid clone --bin` - now correctly handles sentinel bits (@iceman1001) - Experimental UDP support in linux (@iceman1001, @wh201906) - - Changed CI scripts to speed up the builds (@wh201906) + - Changed CI scripts to speed up the builds (@wh201906) - Changed the timeout of local TCP connections (@wh201906) - Finalized implementation of configcard generation for keyroll when cardhelper is not present (@Antiklesys) - Added documentation for compiling on iOS (@The-SamminAter) From d1f916ba25582a1051319a4accb0719fe7282063 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 20:20:21 +0800 Subject: [PATCH 100/278] Reduce the default communication timeout for local IPv6 address --- client/src/comms.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/comms.c b/client/src/comms.c index 6fd2ff9b0..4d65fd5f9 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -682,7 +682,9 @@ int TestProxmark(pm3_device_t *dev) { int res; if (is_tcp_conn || is_udp_conn) { if ((strstr(g_conn.serial_port_name, "localhost") != NULL) || - (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL)) { + (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL) || + (strstr(g_conn.serial_port_name, "[::1]") != NULL) || + (strstr(g_conn.serial_port_name, "p:::1") != NULL)) { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS); } else { res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); From 78e1a845154a58e36f1606d161d0375d0eeadb16 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 17 Oct 2023 14:54:44 +0200 Subject: [PATCH 101/278] added the timeout to preferences, so its stored in the pref file but... there need to be adaptations to the uart_p*/uart_w* files to use the the session value.. --- CHANGELOG.md | 1 + client/src/cmdhw.c | 15 ++-- client/src/preferences.c | 151 ++++++++++++++++++++++++++++----------- client/src/ui.h | 1 + 4 files changed, 118 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6043e3440..0ebf42904 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added client communication timeout to preferences (@iceman1001) - Added IPv6 support (@wh201906) - Fixed `lf hid clone --bin` - now correctly handles sentinel bits (@iceman1001) - Experimental UDP support in linux (@iceman1001, @wh201906) diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index 4b26bc00e..d47cec050 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -932,13 +932,12 @@ static int CmdTimeout(const char *Cmd) { CLIParserInit(&ctx, "hw timeout", "Set the communication timeout on the client side", "hw timeout --> Show current timeout\n" - "hw timeout -t 20 --> Set the timeout to 20ms\n" - "hw timeout -t 500 --> Set the timeout to 500ms\n" + "hw timeout --ms 500\n" ); void *argtable[] = { arg_param_begin, - arg_int0("t", "timeout", "", "timeout in ms"), + arg_int0(NULL, "ms", "", "timeout in micro seconds"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -949,20 +948,20 @@ static int CmdTimeout(const char *Cmd) { // timeout is not given/invalid, just show the current timeout then return if (arg < 0) { - PrintAndLogEx(INFO, "Current communication timeout: %ums", oldTimeout); + PrintAndLogEx(INFO, "Current communication timeout... " _GREEN_("%u") " ms", oldTimeout); return PM3_SUCCESS; } uint32_t newTimeout = arg; // UART_USB_CLIENT_RX_TIMEOUT_MS is considered as the minimum required timeout. if (newTimeout < UART_USB_CLIENT_RX_TIMEOUT_MS) { - PrintAndLogEx(WARNING, "Timeout less than %ums might cause errors.", UART_USB_CLIENT_RX_TIMEOUT_MS); + PrintAndLogEx(WARNING, "Timeout less than %u ms might cause errors.", UART_USB_CLIENT_RX_TIMEOUT_MS); } else if (newTimeout > 5000) { - PrintAndLogEx(WARNING, "Timeout greater than 5000ms makes the client unresponsive."); + PrintAndLogEx(WARNING, "Timeout greater than 5000 ms makes the client unresponsive."); } uart_reconfigure_timeouts(newTimeout); - PrintAndLogEx(INFO, "Old communication timeout: %ums", oldTimeout); - PrintAndLogEx(INFO, "New communication timeout: %ums", newTimeout); + PrintAndLogEx(INFO, "Old communication timeout... %u ms", oldTimeout); + PrintAndLogEx(INFO, "New communication timeout... " _GREEN_("%u") " ms", newTimeout); return PM3_SUCCESS; } diff --git a/client/src/preferences.c b/client/src/preferences.c index e3aef4ccb..cbdeb69f1 100644 --- a/client/src/preferences.c +++ b/client/src/preferences.c @@ -34,6 +34,7 @@ #include #include #include "cliparser.h" +#include "uart/uart.h" // uart_reconfigure_timeouts static int CmdHelp(const char *Cmd); static int setCmdHelp(const char *Cmd); @@ -52,6 +53,8 @@ int preferences_load(void) { // Set all defaults g_session.client_debug_level = cdbOFF; // g_session.device_debug_level = ddbOFF; + g_session.timeout = uart_get_timeouts(); + g_session.window_changed = false; g_session.plot.x = 10; g_session.plot.y = 30; @@ -260,7 +263,7 @@ void preferences_save_callback(json_t *root) { } */ JsonSaveInt(root, "client.exe.delay", g_session.client_exe_delay); - + JsonSaveInt(root, "client.timeout", g_session.timeout); } void preferences_load_callback(json_t *root) { json_error_t up_error = {0}; @@ -355,6 +358,10 @@ void preferences_load_callback(json_t *root) { // client command execution delay if (json_unpack_ex(root, &up_error, 0, "{s:i}", "client.exe.delay", &i1) == 0) g_session.client_exe_delay = i1; + + // client command timeout + if (json_unpack_ex(root, &up_error, 0, "{s:i}", "client.timeout", &i1) == 0) + g_session.timeout = i1; } // Help Functions @@ -379,44 +386,44 @@ static void showEmojiState(prefShowOpt_t opt) { switch (g_session.emoji_mode) { case EMO_ALIAS: - PrintAndLogEx(INFO, " %s emoji.................. "_GREEN_("alias"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s emoji................... "_GREEN_("alias"), prefShowMsg(opt)); break; case EMO_EMOJI: - PrintAndLogEx(INFO, " %s emoji.................. "_GREEN_("emoji"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s emoji................... "_GREEN_("emoji"), prefShowMsg(opt)); break; case EMO_ALTTEXT: - PrintAndLogEx(INFO, " %s emoji.................. "_GREEN_("alttext"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s emoji................... "_GREEN_("alttext"), prefShowMsg(opt)); break; case EMO_NONE: - PrintAndLogEx(INFO, " %s emoji.................. "_GREEN_("none"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s emoji................... "_GREEN_("none"), prefShowMsg(opt)); break; default: - PrintAndLogEx(INFO, " %s emoji.................. "_RED_("unknown"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s emoji................... "_RED_("unknown"), prefShowMsg(opt)); } } static void showColorState(prefShowOpt_t opt) { if (g_session.supports_colors) - PrintAndLogEx(INFO, " %s color.................. "_GREEN_("ansi"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s color................... "_GREEN_("ansi"), prefShowMsg(opt)); else - PrintAndLogEx(INFO, " %s color.................. "_WHITE_("off"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s color................... "_WHITE_("off"), prefShowMsg(opt)); } static void showClientDebugState(prefShowOpt_t opt) { switch (g_session.client_debug_level) { case cdbOFF: - PrintAndLogEx(INFO, " %s client debug........... "_WHITE_("off"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s client debug............ "_WHITE_("off"), prefShowMsg(opt)); break; case cdbSIMPLE: - PrintAndLogEx(INFO, " %s client debug........... "_GREEN_("simple"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s client debug............ "_GREEN_("simple"), prefShowMsg(opt)); break; case cdbFULL: - PrintAndLogEx(INFO, " %s client debug........... "_GREEN_("full"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s client debug............ "_GREEN_("full"), prefShowMsg(opt)); break; default: - PrintAndLogEx(INFO, " %s client debug........... "_RED_("unknown"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s client debug............ "_RED_("unknown"), prefShowMsg(opt)); } } /* @@ -448,17 +455,17 @@ static void showSavePathState(savePaths_t path_index, prefShowOpt_t opt) { char s[50]; switch (path_index) { case spDefault: - strcpy(s, "default save path......"); + strcpy(s, "default save path......."); break; case spDump: - strcpy(s, "dump save path........."); + strcpy(s, "dump save path.........."); break; case spTrace: - strcpy(s, "trace save path........"); + strcpy(s, "trace save path........."); break; case spItemCount: default: - strcpy(s, _RED_("unknown")" save path......"); + strcpy(s, _RED_("unknown")" save path......."); } if (path_index < spItemCount) { @@ -478,7 +485,7 @@ static void showSavePathState(savePaths_t path_index, prefShowOpt_t opt) { } static void showPlotPosState(void) { - PrintAndLogEx(INFO, " Plot window............ X "_GREEN_("%4d")" Y "_GREEN_("%4d")" H "_GREEN_("%4d")" W "_GREEN_("%4d"), + PrintAndLogEx(INFO, " plot window............. X "_GREEN_("%4d")" Y "_GREEN_("%4d")" H "_GREEN_("%4d")" W "_GREEN_("%4d"), g_session.plot.x, g_session.plot.y, g_session.plot.h, @@ -487,7 +494,7 @@ static void showPlotPosState(void) { } static void showOverlayPosState(void) { - PrintAndLogEx(INFO, " Slider/Overlay window.. X "_GREEN_("%4d")" Y "_GREEN_("%4d")" H "_GREEN_("%4d")" W "_GREEN_("%4d"), + PrintAndLogEx(INFO, " slider/overlay window... X "_GREEN_("%4d")" Y "_GREEN_("%4d")" H "_GREEN_("%4d")" W "_GREEN_("%4d"), g_session.overlay.x, g_session.overlay.y, g_session.overlay.h, @@ -497,44 +504,47 @@ static void showOverlayPosState(void) { static void showHintsState(prefShowOpt_t opt) { if (g_session.show_hints) - PrintAndLogEx(INFO, " %s hints.................. "_GREEN_("on"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s hints................... "_GREEN_("on"), prefShowMsg(opt)); else - PrintAndLogEx(INFO, " %s hints.................. "_WHITE_("off"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s hints................... "_WHITE_("off"), prefShowMsg(opt)); } static void showPlotSliderState(prefShowOpt_t opt) { if (g_session.overlay_sliders) - PrintAndLogEx(INFO, " %s show plot sliders...... "_GREEN_("on"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s show plot sliders....... "_GREEN_("on"), prefShowMsg(opt)); else - PrintAndLogEx(INFO, " %s show plot sliders...... "_WHITE_("off"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s show plot sliders....... "_WHITE_("off"), prefShowMsg(opt)); } static void showBarModeState(prefShowOpt_t opt) { switch (g_session.bar_mode) { case STYLE_BAR: - PrintAndLogEx(INFO, " %s barmode................ "_GREEN_("bar"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s barmode................. "_GREEN_("bar"), prefShowMsg(opt)); break; case STYLE_MIXED: - PrintAndLogEx(INFO, " %s barmode................ "_GREEN_("mixed"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s barmode................. "_GREEN_("mixed"), prefShowMsg(opt)); break; case STYLE_VALUE: - PrintAndLogEx(INFO, " %s barmode................ "_GREEN_("value"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s barmode................. "_GREEN_("value"), prefShowMsg(opt)); break; default: - PrintAndLogEx(INFO, " %s barmode............... "_RED_("unknown"), prefShowMsg(opt)); + PrintAndLogEx(INFO, " %s barmode................ "_RED_("unknown"), prefShowMsg(opt)); } } static void showOutputState(prefShowOpt_t opt) { - PrintAndLogEx(INFO, " %s output................. %s", prefShowMsg(opt), + PrintAndLogEx(INFO, " %s output.................. %s", prefShowMsg(opt), g_session.dense_output ? _GREEN_("dense") : _WHITE_("normal")); } static void showClientExeDelayState(void) { - PrintAndLogEx(INFO, " Cmd execution delay.... "_GREEN_("%u"), g_session.client_exe_delay); + PrintAndLogEx(INFO, " cmd execution delay..... "_GREEN_("%u"), g_session.client_exe_delay); } +static void showClientTimeoutState(void) { + PrintAndLogEx(INFO, " communication timeout... " _GREEN_("%u") " ms", g_session.timeout); +} static int setCmdEmoji(const char *Cmd) { CLIParserContext *ctx; @@ -636,9 +646,9 @@ static int setCmdColor(const char *Cmd) { static int setCmdDebug(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "prefs set clientdebug ", + CLIParserInit(&ctx, "prefs set client.debug ", "Set persistent preference of using clientside debug level", - "prefs set clientdebug --simple" + "prefs set client.debug --simple" ); void *argtable[] = { @@ -798,10 +808,10 @@ static int setCmdOutput(const char *Cmd) { static int setCmdExeDelay(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "prefs set clientdelay", + CLIParserInit(&ctx, "prefs set client.delay", "Set persistent preference of delay before executing a command in the client", - "prefs set clientdelay --ms 0 --> unsets any delay\n" - "prefs set clientdelay --ms 1000 --> sets 1000ms delay" + "prefs set client.delay --ms 0 --> unsets any delay\n" + "prefs set client.delay --ms 1000 --> sets 1000ms delay" ); void *argtable[] = { @@ -824,9 +834,46 @@ static int setCmdExeDelay(const char *Cmd) { return PM3_SUCCESS; } +static int setClientTimeout(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "prefs set client.timeout", + "Set persistent preference of client communication timeout", + "prefs set client.timeout --ms 0 --> unsets any timeout\n" + "prefs set client.timeout --ms 500\n" + ); + + void *argtable[] = { + arg_param_begin, + arg_int0(NULL, "ms", "", "timeout in micro seconds"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, true); + uint32_t new_value = (uint32_t)arg_get_int_def(ctx, 1, 0); + CLIParserFree(ctx); + + // UART_USB_CLIENT_RX_TIMEOUT_MS is considered as the minimum required timeout. + if (new_value < UART_USB_CLIENT_RX_TIMEOUT_MS) { + PrintAndLogEx(WARNING, "Timeout less than %u ms might cause errors.", UART_USB_CLIENT_RX_TIMEOUT_MS); + } else if (new_value > 5000) { + PrintAndLogEx(WARNING, "Timeout greater than 5000 ms makes the client unresponsive."); + } + + if (g_session.timeout != new_value) { + showClientTimeoutState(); + g_session.timeout = new_value; + uart_reconfigure_timeouts(new_value); + showClientTimeoutState(); + preferences_save(); + } else { + showClientTimeoutState(); + } + return PM3_SUCCESS; +} + + static int setCmdHint(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "prefs set hints ", + CLIParserInit(&ctx, "prefs set hints", "Set persistent preference of showing hint messages in the client", "prefs set hints --on" ); @@ -1087,9 +1134,9 @@ static int getCmdColor(const char *Cmd) { static int getCmdDebug(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "prefs get clientdebug", + CLIParserInit(&ctx, "prefs get client.debug", "Get preference of using clientside debug level", - "prefs get clientdebug" + "prefs get client.debug" ); void *argtable[] = { arg_param_begin, @@ -1169,9 +1216,9 @@ static int getCmdSavePaths(const char *Cmd) { static int getCmdExeDelay(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "prefs get clientdelay", + CLIParserInit(&ctx, "prefs get client.delay", "Get preference of delay time before execution of a command in the client", - "prefs get clientdelay" + "prefs get client.delay" ); void *argtable[] = { arg_param_begin, @@ -1183,10 +1230,27 @@ static int getCmdExeDelay(const char *Cmd) { return PM3_SUCCESS; } +static int getClientTimeout(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "prefs get client.timeout", + "Get preference of delay time before execution of a command in the client", + "prefs get client.timeout" + ); + void *argtable[] = { + arg_param_begin, + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, true); + CLIParserFree(ctx); + showClientTimeoutState(); + return PM3_SUCCESS; +} + static command_t CommandTableGet[] = { {"barmode", getCmdBarMode, AlwaysAvailable, "Get bar mode preference"}, - {"clientdebug", getCmdDebug, AlwaysAvailable, "Get client debug level preference"}, - {"clientdelay", getCmdExeDelay, AlwaysAvailable, "Get client execution delay preference"}, + {"client.debug", getCmdDebug, AlwaysAvailable, "Get client debug level preference"}, + {"client.delay", getCmdExeDelay, AlwaysAvailable, "Get client execution delay preference"}, + {"client.timeout", getClientTimeout, AlwaysAvailable, "Get client execution delay preference"}, {"color", getCmdColor, AlwaysAvailable, "Get color support preference"}, {"savepaths", getCmdSavePaths, AlwaysAvailable, "Get file folder "}, // {"devicedebug", getCmdDeviceDebug, AlwaysAvailable, "Get device debug level"}, @@ -1200,8 +1264,10 @@ static command_t CommandTableGet[] = { static command_t CommandTableSet[] = { {"help", setCmdHelp, AlwaysAvailable, "This help"}, {"barmode", setCmdBarMode, AlwaysAvailable, "Set bar mode"}, - {"clientdebug", setCmdDebug, AlwaysAvailable, "Set client debug level"}, - {"clientdelay", setCmdExeDelay, AlwaysAvailable, "Set client execution delay"}, + {"client.debug", setCmdDebug, AlwaysAvailable, "Set client debug level"}, + {"client.delay", setCmdExeDelay, AlwaysAvailable, "Set client execution delay"}, + {"client.timeout", setClientTimeout, AlwaysAvailable, "Set client communication timeout"}, + {"color", setCmdColor, AlwaysAvailable, "Set color support"}, {"emoji", setCmdEmoji, AlwaysAvailable, "Set emoji display"}, {"hints", setCmdHint, AlwaysAvailable, "Set hint display"}, @@ -1265,6 +1331,7 @@ static int CmdPrefShow(const char *Cmd) { showBarModeState(prefShowNone); showClientExeDelayState(); showOutputState(prefShowNone); + showClientTimeoutState(); PrintAndLogEx(NORMAL, ""); return PM3_SUCCESS; diff --git a/client/src/ui.h b/client/src/ui.h index 4042550b3..4cfd75660 100644 --- a/client/src/ui.h +++ b/client/src/ui.h @@ -62,6 +62,7 @@ typedef struct { uint16_t client_exe_delay; char *history_path; pm3_device_t *current_device; + uint32_t timeout; } session_arg_t; extern session_arg_t g_session; From 5e22ed25bcae08c683b5a62a127cc51acae574e3 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 17 Oct 2023 22:48:12 +0800 Subject: [PATCH 102/278] Add UDP support on Windows --- CHANGELOG.md | 1 + client/src/uart/uart_win32.c | 197 ++++++++++++++++++++++++++++++++--- 2 files changed, 182 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ebf42904..7bc571b5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added UDP support on Windows (@wh201906) - Added client communication timeout to preferences (@iceman1001) - Added IPv6 support (@wh201906) - Fixed `lf hid clone --bin` - now correctly handles sentinel bits (@iceman1001) diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 983127015..7e7021c71 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -17,6 +17,7 @@ //----------------------------------------------------------------------------- #include "uart.h" +#include "ringbuffer.h" #include #include @@ -33,10 +34,11 @@ #include typedef struct { - HANDLE hPort; // Serial port handle - DCB dcb; // Device control settings - COMMTIMEOUTS ct; // Serial port time-out configuration - SOCKET hSocket; // Socket handle + HANDLE hPort; // Serial port handle + DCB dcb; // Device control settings + COMMTIMEOUTS ct; // Serial port time-out configuration + SOCKET hSocket; // Socket handle + RingBuffer* udpBuffer; // Buffer for UDP } serial_port_windows_t; // this is for TCP connection @@ -63,8 +65,7 @@ static int uart_reconfigure_timeouts_polling(serial_port sp) { return PM3_SUCCESS; newtimeout_pending = false; - serial_port_windows_t *spw; - spw = (serial_port_windows_t *)sp; + serial_port_windows_t *spw = (serial_port_windows_t *)sp; spw->ct.ReadIntervalTimeout = newtimeout_value; spw->ct.ReadTotalTimeoutMultiplier = 0; spw->ct.ReadTotalTimeoutConstant = newtimeout_value; @@ -90,6 +91,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } + sp->udpBuffer = NULL; + char *prefix = strdup(pcPortName); if (prefix == NULL) { PrintAndLogEx(ERR, "error: string duplication"); @@ -225,6 +228,126 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return sp; } + if (memcmp(prefix, "udp:", 4) == 0) { + free(prefix); + + if (strlen(pcPortName) <= 4) { + PrintAndLogEx(ERR, "error: tcp port name length too short"); + free(sp); + return INVALID_SERIAL_PORT; + } + + struct addrinfo *addr = NULL, *rp; + + char *addrPortStr = strdup(pcPortName + 4); + char *addrstr = addrPortStr; + const char *portstr; + if (addrPortStr == NULL) { + PrintAndLogEx(ERR, "error: string duplication"); + free(sp); + return INVALID_SERIAL_PORT; + } + + timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + + // find the start of the address + char *endBracket = strrchr(addrPortStr, ']'); + if (addrPortStr[0] == '[') { + addrstr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the port + char *lColon = strchr(addrPortStr, ':'); + char *rColon = strrchr(addrPortStr, ':'); + if (rColon == NULL) { + // no colon + // "tcp:", "tcp:[]" + portstr = "18888"; + } else if (lColon == rColon) { + // only one colon + // "tcp::", "tcp:[]:" + portstr = rColon + 1; + } else { + // two or more colon, IPv6 address + // tcp:[]: + // "tcp:", "tcp:[]" + if (endBracket != NULL && rColon == endBracket + 1) { + portstr = rColon + 1; + } else { + portstr = "18888"; + } + } + + // handle the end of the address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; + } + + WSADATA wsaData; + struct addrinfo info; + int iResult; + + iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (iResult != 0) { + PrintAndLogEx(ERR, "error: WSAStartup failed with error: %d", iResult); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + + memset(&info, 0, sizeof(info)); + info.ai_family = AF_UNSPEC; + info.ai_socktype = SOCK_DGRAM; + info.ai_protocol = IPPROTO_UDP; + + int s = getaddrinfo(addrstr, portstr, &info, &addr); + if (s != 0) { + PrintAndLogEx(ERR, "error: getaddrinfo: %d: %s", s, gai_strerror(s)); + freeaddrinfo(addr); + free(addrPortStr); + free(sp); + WSACleanup(); + return INVALID_SERIAL_PORT; + } + + SOCKET hSocket = INVALID_SOCKET; + for (rp = addr; rp != NULL; rp = rp->ai_next) { + hSocket = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + + if (hSocket == INVALID_SOCKET) + continue; + + if (connect(hSocket, rp->ai_addr, (int)rp->ai_addrlen) != INVALID_SOCKET) + break; + + closesocket(hSocket); + hSocket = INVALID_SOCKET; + } + + freeaddrinfo(addr); + free(addrPortStr); + + if (rp == NULL) { /* No address succeeded */ + PrintAndLogEx(ERR, "error: Could not connect"); + WSACleanup(); + free(sp); + return INVALID_SERIAL_PORT; + } + + sp->hSocket = hSocket; + sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); + + return sp; + } + // Copy the input "com?" to "\\.\COM?" format snprintf(acPortName, sizeof(acPortName), "\\\\.\\%s", pcPortName); _strupr(acPortName); @@ -277,13 +400,14 @@ void uart_close(const serial_port sp) { closesocket(spw->hSocket); WSACleanup(); } + RingBuf_destroy(spw->udpBuffer); if (spw->hPort != INVALID_HANDLE_VALUE) CloseHandle(spw->hPort); free(sp); } bool uart_set_speed(serial_port sp, const uint32_t uiPortSpeed) { - serial_port_windows_t *spw; + serial_port_windows_t *spw = (serial_port_windows_t *)sp; // Set port speed (Input and Output) switch (uiPortSpeed) { @@ -301,7 +425,6 @@ bool uart_set_speed(serial_port sp, const uint32_t uiPortSpeed) { return false; }; - spw = (serial_port_windows_t *)sp; spw->dcb.BaudRate = uiPortSpeed; bool result = SetCommState(spw->hPort, &spw->dcb); PurgeComm(spw->hPort, PURGE_RXABORT | PURGE_RXCLEAR); @@ -320,11 +443,12 @@ uint32_t uart_get_speed(const serial_port sp) { } int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uint32_t *pszRxLen) { - serial_port_windows_t *spw = (serial_port_windows_t *)sp; - if (spw->hSocket == INVALID_SOCKET) { // serial port + const serial_port_windows_t *spw = (serial_port_windows_t *)sp; + if (spw->hSocket == INVALID_SOCKET) { + // serial port uart_reconfigure_timeouts_polling(sp); - int res = ReadFile(((serial_port_windows_t *)sp)->hPort, pbtRx, pszMaxRxLen, (LPDWORD)pszRxLen, NULL); + int res = ReadFile(spw->hPort, pbtRx, pszMaxRxLen, (LPDWORD)pszRxLen, NULL); if (res) return PM3_SUCCESS; @@ -335,7 +459,8 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin } return PM3_ENOTTY; - } else { // TCP + } else { + // TCP or UDP uint32_t byteCount; // FIONREAD returns size on 32b fd_set rfds; struct timeval tv; @@ -347,12 +472,31 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // Reset the output count *pszRxLen = 0; do { + int res; + if(spw->udpBuffer != NULL) { + // for UDP connection, try to use the data from the buffer + + byteCount = RingBuf_getAvailableSize(spw->udpBuffer); + // Cap the number of bytes, so we don't overrun the buffer + if (pszMaxRxLen - (*pszRxLen) < byteCount) { + // PrintAndLogEx(ERR, "UART:: RX prevent overrun (have %u, need %u)", pszMaxRxLen - (*pszRxLen), byteCount); + byteCount = pszMaxRxLen - (*pszRxLen); + } + res = RingBuf_dequeueBatch(spw->udpBuffer, pbtRx + (*pszRxLen), byteCount); + *pszRxLen += res; + + if (*pszRxLen == pszMaxRxLen) { + // We have all the data we wanted. + return PM3_SUCCESS; + } + } + // Reset file descriptor FD_ZERO(&rfds); FD_SET(spw->hSocket, &rfds); tv = timeout; // the first argument nfds is ignored in Windows - int res = select(0, &rfds, NULL, NULL, &tv); + res = select(0, &rfds, NULL, NULL, &tv); // Read error if (res == SOCKET_ERROR) { @@ -372,9 +516,30 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin // Retrieve the count of the incoming bytes res = ioctlsocket(spw->hSocket, FIONREAD, (u_long *)&byteCount); - // PrintAndLogEx(ERR, "UART:: RX ioctl res %d byteCount %u", res, byteCount); + // PrintAndLogEx(ERR, "UART:: RX ioctl res %d byteCount %u", res, byteCount); if (res == SOCKET_ERROR) return PM3_ENOTTY; + // For UDP connection, put the incoming data into the buffer and handle them in the next round + if (spw->udpBuffer != NULL) { + if (RingBuf_getContinousAvailableSize(spw->udpBuffer) >= byteCount) { + // write to the buffer directly + res = recv(spw->hSocket, (char *)RingBuf_getRearPtr(spw->udpBuffer), RingBuf_getAvailableSize(spw->udpBuffer), 0); + if (res >= 0) { + RingBuf_postEnqueueBatch(spw->udpBuffer, res); + } + } else { + // use transit buffer + uint8_t transitBuf[MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30]; + res = recv(spw->hSocket, (char *)transitBuf, RingBuf_getAvailableSize(spw->udpBuffer), 0); + RingBuf_enqueueBatch(spw->udpBuffer, transitBuf, res); + } + // Stop if the OS has some troubles reading the data + if (res < 0) { + return PM3_EIO; + } + continue; + } + // Cap the number of bytes, so we don't overrun the buffer if (pszMaxRxLen - (*pszRxLen) < byteCount) { // PrintAndLogEx(ERR, "UART:: RX prevent overrun (have %u, need %u)", pszMaxRxLen - (*pszRxLen), byteCount); @@ -402,10 +567,10 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin } int uart_send(const serial_port sp, const uint8_t *p_tx, const uint32_t len) { - serial_port_windows_t *spw = (serial_port_windows_t *)sp; + const serial_port_windows_t *spw = (serial_port_windows_t *)sp; if (spw->hSocket == INVALID_SOCKET) { // serial port DWORD txlen = 0; - int res = WriteFile(((serial_port_windows_t *)sp)->hPort, p_tx, len, &txlen, NULL); + int res = WriteFile(spw->hPort, p_tx, len, &txlen, NULL); if (res) return PM3_SUCCESS; From ce45b3b2424e52fe5167e530c6631aeef2ad1cf6 Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Tue, 17 Oct 2023 17:47:54 +0200 Subject: [PATCH 103/278] Fix potential stack overflow while making it easier to support more ATRs --- common/cardhelper.c | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/common/cardhelper.c b/common/cardhelper.c index 7103769c9..8c5fd8c22 100644 --- a/common/cardhelper.c +++ b/common/cardhelper.c @@ -73,27 +73,35 @@ bool IsHIDSamPresent(bool verbose) { } // SAM identification - uint8_t sam_atr[] = {0x3B, 0x95, 0x96, 0x80, 0xB1, 0xFE, 0x55, 0x1F, 0xC7, 0x47, 0x72, 0x61, 0x63, 0x65, 0x13}; - if (memcmp(card.atr, sam_atr, card.atr_len) < 0) { - - uint8_t sam_atr2[] = {0x3b, 0x90, 0x96, 0x91, 0x81, 0xb1, 0xfe, 0x55, 0x1f, 0xc7, 0xd4}; - if (memcmp(card.atr, sam_atr2, card.atr_len) < 0) { - if (verbose) { - PrintAndLogEx(SUCCESS, "Not detecting a SAM"); - } - return false; + smart_card_atr_t supported[] = { + {15, {0x3B, 0x95, 0x96, 0x80, 0xB1, 0xFE, 0x55, 0x1F, 0xC7, 0x47, 0x72, 0x61, 0x63, 0x65, 0x13}}, + {11, {0x3b, 0x90, 0x96, 0x91, 0x81, 0xb1, 0xfe, 0x55, 0x1f, 0xc7, 0xd4}}, + }; + bool found = false; + for (int i = 0; i < sizeof(supported) / sizeof(supported[0]); i++) { + if ((card.atr_len == supported[i].atr_len) && + (memcmp(card.atr, supported[i].atr, supported[i].atr_len) == 0)) { + found = true; + break; } } - - // Suspect some SAMs has version name in their ATR - uint8_t T0 = card.atr[1]; - uint8_t K = T0 & 0x0F; - if (K > 4 && verbose) { - if (byte_strstr(card.atr, card.atr_len, (const uint8_t *)"Grace", 5) > -1) { - PrintAndLogEx(SUCCESS, "SAM (Grace) detected"); - } else if (byte_strstr(card.atr, card.atr_len, (const uint8_t *)"Hopper", 6) > -1) { - PrintAndLogEx(SUCCESS, "SAM (Hopper) detected"); + if (found == false) { + if (verbose) { + PrintAndLogEx(SUCCESS, "Not detecting a SAM"); } + return false; + } + + // Suspect some SAMs has version name in the historical bytes + uint8_t T0 = card.atr[1]; + uint8_t K = T0 & 0x0F; // Number of historical bytes + if (K > 0 && (K < (card.atr_len - 3)) && verbose) { + // Last byte of ATR is CRC and before that we have K bytes of + // "historical bytes". + // By construction K can't go above 15 + char sam_name[16] = {0}; + memcpy(sam_name, &card.atr[card.atr_len - 1 - K], K); + PrintAndLogEx(SUCCESS, "SAM (%s) detected", sam_name); } return true; } From 8cc7022604f7fb7167a8c8575b07c53e467c38a8 Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Tue, 17 Oct 2023 19:33:59 +0200 Subject: [PATCH 104/278] Remove compilation error. Function is already declared (non-static) in armsrc. Compiler was complaining about re-defining a non-static func by a static one. --- armsrc/Standalone/hf_iceclass.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/armsrc/Standalone/hf_iceclass.c b/armsrc/Standalone/hf_iceclass.c index ea38574db..a47cf6517 100644 --- a/armsrc/Standalone/hf_iceclass.c +++ b/armsrc/Standalone/hf_iceclass.c @@ -116,10 +116,6 @@ static bool have_aa2(void) { return memcmp(aa2_key, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 8); } -static uint8_t get_pagemap(const picopass_hdr_t *hdr) { - return (hdr->conf.fuses & (FUSE_CRYPT0 | FUSE_CRYPT1)) >> 3; -} - static uint8_t csns[8 * NUM_CSNS] = { 0x01, 0x0A, 0x0F, 0xFF, 0xF7, 0xFF, 0x12, 0xE0, 0x0C, 0x06, 0x0C, 0xFE, 0xF7, 0xFF, 0x12, 0xE0, From a842c8ca0e74ab26f81e96b9bbf1939c7fb327df Mon Sep 17 00:00:00 2001 From: Self Not Found Date: Wed, 18 Oct 2023 10:14:12 +0800 Subject: [PATCH 105/278] Change URLs of badge in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fe1fc0ae..90444f2de 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The Proxmark3 is the swiss-army tool of RFID, allowing for interactions with the | Actions OSX CI | Actions Ubuntu CI | Actions Windows CI | |:--------------:|:------------------:|:------------------:| -| ![MacOS Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/MacOS%20Build%20and%20Test/badge.svg?branch=master) | ![Ubuntu Build and Test](https://github.com/RfidResearchGroup/proxmark3/workflows/Ubuntu%20Build%20and%20Test/badge.svg?branch=master) | [![Windows Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml) | +| [![MacOS Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/macos.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/macos.yml) | [![Ubuntu Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/ubuntu.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/ubuntu.yml) | [![Windows Build and Test](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/RfidResearchGroup/proxmark3/actions/workflows/windows.yml) | # Table of Contents 1. [PROXMARK3 INSTALLATION AND OVERVIEW](#proxmark3-installation-and-overview) From a5124c310923d20d87be2c08f0f90b3b1f844fad Mon Sep 17 00:00:00 2001 From: Iceman Date: Wed, 18 Oct 2023 09:18:01 +0200 Subject: [PATCH 106/278] Update README.md Signed-off-by: Iceman --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 90444f2de..89bacebf1 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ We define generic Proxmark3 platforms as following devices. - Ryscorp green PCB version - Radiowar black PCB version - numerous Chinese adapted versions of the RDV3 easy (kkmoon, PiSwords etc) + - Proxmark3 SE (Second edition) (BLE enabled) **Not supported** - ⚠ Proxmark Evolution (EVO) @@ -96,8 +97,6 @@ We define generic Proxmark3 platforms as following devices. - **Note**: unknown device hw - ⚠ Proxmark3 Ultimate - **Note**: unknown device hw -- ⚠ Proxmark3 SE - - **Note**: unknown device hw When it comes to these new unknown models we are depending on the community to report in if this repo works and what they did to make it work. From 3b7cec365af342697017796eac63bff7fb56e1c6 Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Wed, 18 Oct 2023 10:27:12 +0200 Subject: [PATCH 107/278] Support double-quoted arguments in CLI When a quoted command argument is seen, it will take all characters until the next double-quote (no supported escape sequence here for simplicity). All white spaces (space, tab, etc.) are then removed from the argument. This means that the following command should behave the same: ``` pm3> wiegand encode --fc 101 --cn 1337 pm3> wiegand encode --fc "1 0 1" --cn "1 3 3 7" ``` Or a more useful example, when copy/pasting hex formatted values: ``` pm3> hf iclass calcnewkey --old 1122334455667788 --new 2233445566778899 pm3> hf iclass calcnewkey --old "11 22 33 44 55 66 77 88" --new "22 33 44 55 66 77 88 99" ``` --- client/deps/cliparser/cliparser.c | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/client/deps/cliparser/cliparser.c b/client/deps/cliparser/cliparser.c index e5e8f946c..c11863ab6 100644 --- a/client/deps/cliparser/cliparser.c +++ b/client/deps/cliparser/cliparser.c @@ -147,6 +147,7 @@ enum ParserState { PS_FIRST, PS_ARGUMENT, PS_OPTION, + PS_QUOTE, }; #define isSpace(c)(c == ' ' || c == '\t') @@ -195,6 +196,10 @@ int CLIParserParseStringEx(CLIParserContext *ctx, const char *str, void *vargtab case PS_ARGUMENT: if (state == PS_FIRST) state = PS_ARGUMENT; + if (str[i] == '"') { + state = PS_QUOTE; + break; + } if (isSpace(str[i])) { spaceptr = bufptr; state = PS_FIRST; @@ -215,6 +220,35 @@ int CLIParserParseStringEx(CLIParserContext *ctx, const char *str, void *vargtab *bufptr = str[i]; bufptr++; break; + case PS_QUOTE: + if (str[i] == '"') { + // Now let's compact the argument by removing spaces + if (spaceptr != NULL) { + // We've seen at least 1 space + char *cur_ptr = spaceptr; + while (spaceptr < bufptr) { + if (isSpace(*spaceptr) == false) { + *cur_ptr = *spaceptr; + cur_ptr++; + } + spaceptr++; + } + *cur_ptr = 0; + // Rollback bufptr + bufptr = cur_ptr; + spaceptr = NULL; + } + *bufptr = 0x00; + state = PS_FIRST; + } else { + if (isSpace(str[i]) && spaceptr == NULL) { + // Store first encountered space for later + spaceptr = bufptr; + } + *bufptr = str[i]; + } + bufptr++; + break; } if (bufptr > bufptrend) { PrintAndLogEx(ERR, "ERROR: Line too long\n"); From 238faaf226432a2f4499ebbfc7ee8bd13181211c Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Wed, 18 Oct 2023 10:32:18 +0200 Subject: [PATCH 108/278] Add entry to CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bc571b5a..6a711b51c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Add support for quoted arguments in the CLI, allowing spaces in them which + are removed automatically (@jmichelp) - Added UDP support on Windows (@wh201906) - Added client communication timeout to preferences (@iceman1001) - Added IPv6 support (@wh201906) From dbe041231185e3aca57a8bd77636a73c7dff39fd Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Wed, 18 Oct 2023 10:38:33 +0200 Subject: [PATCH 109/278] Simplify quote handling --- client/deps/cliparser/cliparser.c | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/client/deps/cliparser/cliparser.c b/client/deps/cliparser/cliparser.c index c11863ab6..0ea0bd33b 100644 --- a/client/deps/cliparser/cliparser.c +++ b/client/deps/cliparser/cliparser.c @@ -222,32 +222,13 @@ int CLIParserParseStringEx(CLIParserContext *ctx, const char *str, void *vargtab break; case PS_QUOTE: if (str[i] == '"') { - // Now let's compact the argument by removing spaces - if (spaceptr != NULL) { - // We've seen at least 1 space - char *cur_ptr = spaceptr; - while (spaceptr < bufptr) { - if (isSpace(*spaceptr) == false) { - *cur_ptr = *spaceptr; - cur_ptr++; - } - spaceptr++; - } - *cur_ptr = 0; - // Rollback bufptr - bufptr = cur_ptr; - spaceptr = NULL; - } - *bufptr = 0x00; + *bufptr++ = 0x00; state = PS_FIRST; } else { - if (isSpace(str[i]) && spaceptr == NULL) { - // Store first encountered space for later - spaceptr = bufptr; + if (isSpace(str[i]) == false) { + *bufptr++ = str[i]; } - *bufptr = str[i]; } - bufptr++; break; } if (bufptr > bufptrend) { From 7dbdc7cf101ff3ec186881663ff1801a28acf160 Mon Sep 17 00:00:00 2001 From: Self Not Found Date: Wed, 18 Oct 2023 18:47:32 +0800 Subject: [PATCH 110/278] Add short flag -m for timeout related commands --- client/src/cmdhw.c | 7 ++++--- client/src/preferences.c | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index d47cec050..7483a07a9 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -931,13 +931,14 @@ static int CmdTimeout(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hw timeout", "Set the communication timeout on the client side", - "hw timeout --> Show current timeout\n" - "hw timeout --ms 500\n" + "hw timeout --> Show current timeout\n" + "hw timeout -m 20 --> Set the timeout to 20ms\n" + "hw timeout --ms 500 --> Set the timeout to 500ms\n" ); void *argtable[] = { arg_param_begin, - arg_int0(NULL, "ms", "", "timeout in micro seconds"), + arg_int0("m", "ms", "", "timeout in micro seconds"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); diff --git a/client/src/preferences.c b/client/src/preferences.c index cbdeb69f1..83deb945d 100644 --- a/client/src/preferences.c +++ b/client/src/preferences.c @@ -839,12 +839,13 @@ static int setClientTimeout(const char *Cmd) { CLIParserInit(&ctx, "prefs set client.timeout", "Set persistent preference of client communication timeout", "prefs set client.timeout --ms 0 --> unsets any timeout\n" - "prefs set client.timeout --ms 500\n" + "prefs set client.timeout -m 20 --> Set the timeout to 20ms\n" + "prefs set client.timeout --ms 500 --> Set the timeout to 500ms\n" ); void *argtable[] = { arg_param_begin, - arg_int0(NULL, "ms", "", "timeout in micro seconds"), + arg_int0("m", "ms", "", "timeout in micro seconds"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); From 14a0e0bc723af4617987b59491b38081b46dd9b4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 18 Oct 2023 15:18:58 +0200 Subject: [PATCH 111/278] fix old length for sim module --- armsrc/i2c.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index da9d5b9c7..8c9110150 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -558,6 +558,15 @@ int16_t I2C_BufferRead(uint8_t *data, uint16_t len, uint8_t device_cmd, uint8_t case 1: { // Length (LSB) recv_len += *data; + + // old packages.. + if (recv_len > 0x0200) { + // [0] = len + // [1] = data + recv_len >>= 8; + data++; + } + // Adjust len if needed if (len > recv_len) { len = recv_len; From efac735bad893e3e859a5e35937b3a7305837049 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 18 Oct 2023 19:59:34 +0200 Subject: [PATCH 112/278] added support for HID SAM picopass communications. Nasty array copying but does the trick. Will need refactoring. --- CHANGELOG.md | 1 + armsrc/Makefile | 4 +- armsrc/appmain.c | 19 +- armsrc/sam_mfc.c | 22 ++ armsrc/sam_mfc.h | 21 ++ armsrc/sam_picopass.c | 446 +++++++++++++++++++++++++++++++++++++++ armsrc/sam_picopass.h | 23 ++ armsrc/sam_seos.c | 22 ++ armsrc/sam_seos.h | 21 ++ client/src/cmdhficlass.c | 102 +++++++-- 10 files changed, 665 insertions(+), 16 deletions(-) create mode 100644 armsrc/sam_mfc.c create mode 100644 armsrc/sam_mfc.h create mode 100644 armsrc/sam_picopass.c create mode 100644 armsrc/sam_picopass.h create mode 100644 armsrc/sam_seos.c create mode 100644 armsrc/sam_seos.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a711b51c..822f33018 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `hf iclass sam` - Added support for HID SAM Picopass communications (@iceman1001) - Add support for quoted arguments in the CLI, allowing spaces in them which are removed automatically (@jmichelp) - Added UDP support on Windows (@wh201906) diff --git a/armsrc/Makefile b/armsrc/Makefile index d6ab2bfc4..5f641884a 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -37,13 +37,13 @@ APP_CFLAGS = $(PLATFORM_DEFS) \ SRC_LF = lfops.c lfsampling.c pcf7931.c lfdemod.c lfadc.c SRC_HF = hfops.c SRC_ISO15693 = iso15693.c iso15693tools.c -SRC_ISO14443a = iso14443a.c mifareutil.c mifarecmd.c epa.c mifaresim.c +SRC_ISO14443a = iso14443a.c mifareutil.c mifarecmd.c epa.c mifaresim.c sam_mfc.c sam_seos.c #UNUSED: mifaresniff.c SRC_ISO14443b = iso14443b.c SRC_FELICA = felica.c SRC_CRAPTO1 = crypto1.c des.c desfire_crypto.c mifaredesfire.c aes.c platform_util.c SRC_CRC = crc.c crc16.c crc32.c -SRC_ICLASS = iclass.c optimized_cipherutils.c optimized_ikeys.c optimized_elite.c optimized_cipher.c +SRC_ICLASS = iclass.c optimized_cipherutils.c optimized_ikeys.c optimized_elite.c optimized_cipher.c sam_picopass.c SRC_LEGIC = legicrf.c legicrfsim.c legic_prng.c SRC_NFCBARCODE = thinfilm.c diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 42d551d9b..68490325c 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -62,7 +62,9 @@ #include "crc16.h" #include "protocols.h" #include "mifareutil.h" - +#include "sam_picopass.h" +#include "sam_seos.h" +#include "sam_mfc.h" #ifdef WITH_LCD #include "LCD_disabled.h" @@ -2038,6 +2040,21 @@ static void PacketReceived(PacketCommandNG *packet) { fwdata = NULL; break; } + + case CMD_HF_SAM_PICOPASS: { + sam_picopass_get_pacs(); + break; + } + case CMD_HF_SAM_SEOS: { +// sam_seos_get_pacs(); + break; + } + + case CMD_HF_SAM_MFC: { +// sam_mfc_get_pacs(); + break; + } + #endif #ifdef WITH_FPC_USART diff --git a/armsrc/sam_mfc.c b/armsrc/sam_mfc.c new file mode 100644 index 000000000..773dd199c --- /dev/null +++ b/armsrc/sam_mfc.c @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// Routines to support MFC <-> SAM communication +//----------------------------------------------------------------------------- +#include "sam_seos.h" +#include "iclass.h" + +#include "proxmark3_arm.h" +#include "cmd.h" \ No newline at end of file diff --git a/armsrc/sam_mfc.h b/armsrc/sam_mfc.h new file mode 100644 index 000000000..4a995a6ed --- /dev/null +++ b/armsrc/sam_mfc.h @@ -0,0 +1,21 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +#ifndef __SAM_MFC_H +#define __SAM_MFC_H + +#include "common.h" + +#endif \ No newline at end of file diff --git a/armsrc/sam_picopass.c b/armsrc/sam_picopass.c new file mode 100644 index 000000000..48702680b --- /dev/null +++ b/armsrc/sam_picopass.c @@ -0,0 +1,446 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// Routines to support Picopass <-> SAM communication +//----------------------------------------------------------------------------- +#include "sam_picopass.h" +#include "iclass.h" +#include "crc16.h" +#include "proxmark3_arm.h" +#include "BigBuf.h" +#include "cmd.h" +#include "commonutil.h" +#include "ticks.h" +#include "dbprint.h" +#include "i2c.h" +#include "iso15693.h" +#include "protocols.h" +#include "optimized_cipher.h" +#include "fpgaloader.h" + +static int sam_rxtx(const uint8_t *data, uint16_t n, uint8_t *resp, uint16_t *resplen) { + + StartTicks(); + + bool res = I2C_BufferWrite(data, n, I2C_DEVICE_CMD_SEND_T0, I2C_DEVICE_ADDRESS_MAIN); + if (res == false) { + DbpString("failed to send to SIM CARD"); + goto out; + } + + *resplen = ISO7816_MAX_FRAME; + + res = sc_rx_bytes(resp, resplen, SIM_WAIT_DELAY); + if (res == false) { + DbpString("failed to receive from SIM CARD"); + goto out; + } + + if (*resplen < 2) { + DbpString("received too few bytes from SIM CARD"); + res = false; + goto out; + } + + uint16_t more_len = 0; + + if (resp[*resplen - 2] == 0x61 || resp[*resplen - 2] == 0x9F) { + more_len = resp[*resplen - 1]; + } else { + // we done, return + goto out; + } + + // Don't discard data we already received except the SW code. + // If we only received 1 byte, this is the echo of INS, we discard it. + *resplen -= 2; + if (*resplen == 1) { + *resplen = 0; + } + + uint8_t cmd_getresp[] = {0x00, ISO7816_GET_RESPONSE, 0x00, 0x00, more_len}; + + res = I2C_BufferWrite(cmd_getresp, sizeof(cmd_getresp), I2C_DEVICE_CMD_SEND_T0, I2C_DEVICE_ADDRESS_MAIN); + if (res == false) { + DbpString("failed to send to SIM CARD 2"); + goto out; + } + + more_len = 255 - *resplen; + + res = sc_rx_bytes(resp + *resplen, &more_len, SIM_WAIT_DELAY); + if (res == false) { + DbpString("failed to receive from SIM CARD 2"); + goto out; + } + + *resplen += more_len; + +out: + StopTicks(); + return res; +} + +// using HID SAM to authenticate w PICOPASS +int sam_picopass_get_pacs(void) { + + static uint8_t act_all[] = { ICLASS_CMD_ACTALL }; + static uint8_t identify[] = { ICLASS_CMD_READ_OR_IDENTIFY, 0x00, 0x73, 0x33 }; + static uint8_t read_conf[] = { ICLASS_CMD_READ_OR_IDENTIFY, 0x01, 0xfa, 0x22 }; + uint8_t select[] = { 0x80 | ICLASS_CMD_SELECT, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t read_aia[] = { ICLASS_CMD_READ_OR_IDENTIFY, 0x05, 0xde, 0x64}; + uint8_t read_check_cc[] = { 0x80 | ICLASS_CMD_READCHECK, 0x02 }; + + picopass_hdr_t hdr = {0}; + // Bit 4: K.If this bit equals to one, the READCHECK will use the Credit Key (Kc); if equals to zero, Debit Key (Kd) will be used + // bit 7: parity. + // if (use_credit_key) + // read_check_cc[0] = 0x10 | ICLASS_CMD_READCHECK; + + BigBuf_free_keep_EM(); + + clear_trace(); + + I2C_Reset_EnterMainProgram(); StopTicks(); + + uint8_t *resp = BigBuf_calloc(ISO7816_MAX_FRAME); + + bool shallow_mod = false; + uint16_t resp_len = 0; + int res; + uint32_t eof_time = 0; + + // wakeup + Iso15693InitReader(); + + uint32_t start_time = GetCountSspClk(); + iclass_send_as_reader(act_all, 1, &start_time, &eof_time, shallow_mod); + + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_ACTALL, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // send Identify + start_time = eof_time + DELAY_ICLASS_VICC_TO_VCD_READER; + iclass_send_as_reader(identify, 1, &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here, 8 byte anticollision-CSN and 2 byte CRC + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 10) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // copy the Anti-collision CSN to our select-packet + memcpy(&select[1], resp, 8); + + // select the card + start_time = eof_time + DELAY_ICLASS_VICC_TO_VCD_READER; + iclass_send_as_reader(select, sizeof(select), &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here, 8 byte CSN and 2 byte CRC + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 10) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // store CSN + memcpy(hdr.csn, resp, sizeof(hdr.csn)); + + // card selected, now read config (block1) (only 8 bytes no CRC) + start_time = eof_time + DELAY_ICLASS_VICC_TO_VCD_READER; + iclass_send_as_reader(read_conf, sizeof(read_conf), &start_time, &eof_time, shallow_mod); + + // expect a 8-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 10) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // store CONFIG + memcpy((uint8_t *)&hdr.conf, resp, sizeof(hdr.conf)); + + uint8_t pagemap = get_pagemap(&hdr); + if (pagemap == PICOPASS_NON_SECURE_PAGEMODE) { + res = PM3_EWRONGANSWER; + goto out; + } + + // read App Issuer Area block 5 + start_time = eof_time + DELAY_ICLASS_VICC_TO_VCD_READER; + iclass_send_as_reader(read_aia, sizeof(read_aia), &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 10) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // store AIA + memcpy(hdr.app_issuer_area, resp, sizeof(hdr.app_issuer_area)); + + // card selected, now read e-purse (cc) (block2) (only 8 bytes no CRC) + start_time = eof_time + DELAY_ICLASS_VICC_TO_VCD_READER; + iclass_send_as_reader(read_check_cc, sizeof(read_check_cc), &start_time, &eof_time, shallow_mod); + + // expect a 8-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 8) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + // store EPURSE + memcpy(hdr.epurse, resp, sizeof(hdr.epurse)); + + // ----------------------------------------------------------------------------- + // SAM comms + // ----------------------------------------------------------------------------- + size_t sam_len = 0; + uint8_t *sam_apdu = BigBuf_calloc(ISO7816_MAX_FRAME); + + // ----------------------------------------------------------------------------- + // first + // a0 da 02 63 1a 44 0a 44 00 00 00 a0 12 ad 10 a0 0e 80 02 00 04 81 08 9b fc a4 00 fb ff 12 e0 + hexstr_to_byte_array("a0da02631a440a44000000a012ad10a00e800200048108", sam_apdu, &sam_len); + memcpy(sam_apdu + sam_len, hdr.csn, sizeof(hdr.csn)); + sam_len += sizeof(hdr.csn); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 1",resp, resp_len); + + // ----------------------------------------------------------------------------- + // second + // a0 da 02 63 0d 44 0a 44 00 00 00 a0 05 a1 03 80 01 04 + hexstr_to_byte_array("a0da02630d440a44000000a005a103800104", sam_apdu, &sam_len); + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 2",resp, resp_len); + + // TAG response + // -- 0c 05 de64 // read block 5 + // Tag|c00a140a000000a110a10e8004 0c05de64 8102 0004 820201f4 + + // ----------------------------------------------------------------------------- + // third AIA block 5 + // a0da02631c140a00000000bd14a012a010800a ffffff0006fffffff88e 81020000 + // picopass legacy is fixed. wants AIA and crc. ff ff ff ff ff ff ff ff ea f5 + // picpoasss SE ff ff ff 00 06 ff ff ff f8 8e + hexstr_to_byte_array("a0da02631c140a00000000bd14a012a010800affffff0006fffffff88e81020000", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, hdr.app_issuer_area, sizeof(hdr.app_issuer_area)); + AddCrc(sam_apdu + 19, 8); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 3",resp, resp_len); + + // 88 02 -- readcheck (block2 epurse, start of auth) + // Tag|c00a140a000000a10ea10c8002 8802 8102 0004 820201f4 9000 + // 61 16 f5 0a140a000000a10ea10c 8002 8802 8102 0004 820201f4 9000 + + // ----------------------------------------------------------------------------- + // forth EPURSE + // a0da02631a140a00000000bd12a010a00e8008 ffffffffedffffff 81020000 + hexstr_to_byte_array("a0da02631a140a00000000bd12a010a00e8008ffffffffedffffff81020000", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, hdr.epurse, sizeof(hdr.epurse)); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 4",resp, resp_len); + + uint8_t nr_mac[9] = {0}; + memcpy(nr_mac, resp + 11, sizeof(nr_mac)); + // resp here hold the whole NR/MAC + // 05 9bcd475e965ee20e // CHECK (w key) + print_dbg("NR/MAC",nr_mac, sizeof(nr_mac)); + + // c00a140a000000a115a1138009 059bcd475e965ee20e 8102 0004 820201f4 9000 + + // pre calc ourself? + // uint8_t cc_nr[] = {0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0}; + uint8_t div_key[8] = {0}; + static uint8_t legacy_aa1_key[] = {0xAE, 0xA6, 0x84, 0xA6, 0xDA, 0xB2, 0x32, 0x78}; + iclass_calc_div_key(hdr.csn, legacy_aa1_key, div_key, false); + + uint8_t mac[4] = {0}; + if (g_dbglevel == DBG_DEBUG) { + uint8_t wb[16] = {0}; + memcpy(wb, hdr.epurse, sizeof(hdr.epurse)); + memcpy(wb + sizeof(hdr.epurse), nr_mac+1, 4); + print_dbg("cc_nr...", wb, sizeof(wb)); + doMAC_N(wb, sizeof(wb), div_key, mac); + print_dbg("Calc MAC...", mac, sizeof(mac)); + } + + // start ssp clock again... + StartCountSspClk(); + + // NOW we auth against tag + uint8_t cmd_check[9] = { ICLASS_CMD_CHECK }; + memcpy(cmd_check + 1, nr_mac + 1, 8); + + start_time = GetCountSspClk(); + iclass_send_as_reader(cmd_check, sizeof(cmd_check), &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 4) { + res = PM3_ECARDEXCHANGE; + goto out; + } + // store MAC + memcpy(mac, resp, sizeof(mac)); + print_dbg("Got MAC",mac,sizeof(mac)); + + // ----------------------------------------------------------------------------- + // fifth send received MAC + // A0DA026316140A00000000BD0EA00CA00A8004 311E32E9 81020000 + hexstr_to_byte_array("A0DA026316140A00000000BD0EA00CA00A8004311E32E981020000", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, mac, sizeof(mac)); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 5",resp, resp_len); + + uint8_t tmp_p1[4] = {0}; + uint8_t tmp_p2[4] = {0}; + + // c161c10000a11aa118800e8702 ffffffff88ffffff 0a914eb981020004820236b09000 + + memcpy(tmp_p1, resp + 13, sizeof(tmp_p1)); + memcpy(tmp_p2, resp + 13 + 4, sizeof(tmp_p2)); + // ----------------------------------------------------------------------------- + // sixth send fake epurse update + // A0DA02631C140A00000000BD14A012A010800A 88FFFFFFFFFFFFFF9DE1 81020000 + hexstr_to_byte_array("A0DA02631C140A00000000BD14A012A010800A88FFFFFFFFFFFFFF9DE181020000", sam_apdu, &sam_len); + + memcpy(sam_apdu + 19, tmp_p2, sizeof(tmp_p1)); + memcpy(sam_apdu + 19 + 4, tmp_p1, sizeof(tmp_p1)); + AddCrc(sam_apdu + 19, 8); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 6",resp, resp_len); + // c1 61 c1 00 00 a1 10 a1 0e 80 04 0c 06 45 56 81 02 00 04 82 02 01 f4 90 00 + + // read block 6 + StartCountSspClk(); + start_time = GetCountSspClk(); + iclass_send_as_reader(resp + 11, 4, &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS || resp_len != 10) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("Block 6 from Picopass",resp, resp_len); + + // ----------------------------------------------------------------------------- + // eight send block 6 config to SAM + // A0DA02631C140A00000000BD14A012A010800A 030303030003E0174323 81020000 + hexstr_to_byte_array("A0DA02631C140A00000000BD14A012A010800A030303030003E017432381020000", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, resp, resp_len); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 7", resp, resp_len); + + // c161c10000a110a10e8004 0606455681020004820201f49000 + + // read the credential blocks + StartCountSspClk(); + start_time = GetCountSspClk(); + iclass_send_as_reader(resp + 11, 4, &start_time, &eof_time, shallow_mod); + + // expect a 10-byte response here + res = GetIso15693AnswerFromTag(resp, ISO7816_MAX_FRAME, ICLASS_READER_TIMEOUT_OTHERS, &eof_time, false, true, &resp_len); + if (res != PM3_SUCCESS) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("Block 6-9 from Picopass",resp, resp_len); + + // ----------------------------------------------------------------------------- + // nine send credential blocks to SAM + // A0DA026334140A00000000BD2CA02AA0288022 030303030003E017769CB4A198E0DEC82AD4C8211F9968712BE7393CF8E71D7E804C 81020000 + hexstr_to_byte_array("A0DA026334140A00000000BD2CA02AA0288022030303030003E017769CB4A198E0DEC82AD4C8211F9968712BE7393CF8E71D7E804C81020000", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, resp, resp_len); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + print_dbg("-- 8",resp, resp_len); + + + // ----------------------------------------------------------------------------- + // TEN ask for PACS data + // A0DA02630C440A00000000BD04A0028200 + hexstr_to_byte_array("A0DA02630C440A00000000BD04A0028200", sam_apdu, &sam_len); + memcpy(sam_apdu + 19, resp, resp_len); + + if (sam_rxtx(sam_apdu, sam_len, resp, &resp_len) == false) { + res = PM3_ECARDEXCHANGE; + goto out; + } + + print_dbg("-- 9 response", resp, resp_len); + if (memcmp(resp, "\xc1\x64\x00\x00\x00\xbd\x17\x8a\x15", 9) == 0) { + res = PM3_ENOPACS; + goto out; + } + + // c164000000bd098a07 030506951f9a00 9000 + uint8_t *pacs = BigBuf_calloc(resp[8]); + memcpy(pacs, resp + 9, resp[8]); + + print_dbg("-- 10 PACS data", pacs, resp[8]); + + reply_ng(CMD_HF_SAM_PICOPASS, PM3_SUCCESS, pacs, resp[8]); + res = PM3_SUCCESS; + goto off; + +out: + reply_ng(CMD_HF_SAM_PICOPASS, res, NULL, 0); + +off: + switch_off(); + BigBuf_free(); + return res; +} + +// HID SAM <-> MFC +// HID SAM <-> SEOS diff --git a/armsrc/sam_picopass.h b/armsrc/sam_picopass.h new file mode 100644 index 000000000..a4f553c5b --- /dev/null +++ b/armsrc/sam_picopass.h @@ -0,0 +1,23 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +#ifndef __SAM_PICOPASS_H +#define __SAM_PICOPASS_H + +#include "common.h" + +int sam_picopass_get_pacs(void); + +#endif \ No newline at end of file diff --git a/armsrc/sam_seos.c b/armsrc/sam_seos.c new file mode 100644 index 000000000..2f0f01817 --- /dev/null +++ b/armsrc/sam_seos.c @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// Routines to support SEOS <-> SAM communication +//----------------------------------------------------------------------------- +#include "sam_seos.h" +#include "iclass.h" + +#include "proxmark3_arm.h" +#include "cmd.h" \ No newline at end of file diff --git a/armsrc/sam_seos.h b/armsrc/sam_seos.h new file mode 100644 index 000000000..7cc08517b --- /dev/null +++ b/armsrc/sam_seos.h @@ -0,0 +1,21 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +#ifndef __SAM_SEOS_H +#define __SAM_SEOS_H + +#include "common.h" + +#endif \ No newline at end of file diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index fb5b5cdb4..0d9af88ec 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4446,24 +4446,100 @@ static int CmdHFiClassSAM(const char *Cmd) { bool verbose = arg_get_lit(ctx, 1); CLIParserFree(ctx); - Iso7816CommandChannel channel = CC_CONTACT; - if (IfPm3Smartcard() == false) { - if (channel == CC_CONTACT) { - PrintAndLogEx(WARNING, "PM3 does not have SMARTCARD support, exiting"); - return PM3_EDEVNOTSUPP; - } + if (IsHIDSamPresent(verbose) == false) { + return PM3_ESOFT; } - int res = IsHIDSamPresent(verbose); - if (res != PM3_SUCCESS) { - return res; + clearCommandBuffer(); + SendCommandNG(CMD_HF_SAM_PICOPASS, NULL, 0); + PacketResponseNG resp; + if (WaitForResponseTimeout(CMD_HF_SAM_PICOPASS, &resp, 4000) == false) { + PrintAndLogEx(WARNING, "SAM timeout"); + return PM3_ETIMEOUT; } - SetAPDULogging(verbose); + switch (resp.status) { + case PM3_SUCCESS: + break; + case PM3_ENOPACS: + PrintAndLogEx(SUCCESS, "No PACS data found. Card empty?"); + return resp.status; + default: + PrintAndLogEx(WARNING, "SAM select failed"); + return resp.status; + } -// do things with sending apdus.. + // CSN, config, epurse, NR/MAC, AIA + // PACS + // first byte skip + // second byte length + // third padded + // fourth .. + uint8_t *d = resp.data.asBytes; + uint8_t n = d[1] - 1; // skip length byte + uint8_t pad = d[2]; + char *binstr = (char*)calloc((n * 8) + 1 , sizeof(uint8_t)); + if (binstr == NULL) { + return PM3_EMALLOC; + } + + byte_2_binstr(binstr, d + 3, n); + + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(SUCCESS, "PACS......... " _GREEN_("%s"), sprint_hex_inrow(d + 2, resp.length - 2)); + PrintAndLogEx(SUCCESS, "padded bin... " _GREEN_("%s") " ( %zu )", binstr, strlen(binstr)); + + binstr[strlen(binstr) - pad] = '\0'; + PrintAndLogEx(SUCCESS, "bin.......... " _GREEN_("%s") " ( %zu )", binstr, strlen(binstr)); + + size_t hexlen = 0; + uint8_t hex[16] = {0}; + binstr_2_bytes(hex, &hexlen,binstr); + PrintAndLogEx(SUCCESS, "hex.......... " _GREEN_("%s"), sprint_hex_inrow(hex, hexlen)); + + uint32_t top = 0, mid = 0, bot = 0; + if (binstring_to_u96(&top, &mid, &bot, binstr) != strlen(binstr)) { + PrintAndLogEx(ERR, "Binary string contains none <0|1> chars"); + free(binstr); + return PM3_EINVARG; + } + + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, "Wiegand decode"); + wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); + HIDTryUnpack(&packed); + + PrintAndLogEx(NORMAL, ""); + + if (strlen(binstr) >= 26 && verbose) { + + // HID Prox II + PrintAndLogEx(INFO, "Downgrade to " _YELLOW_("HID Prox II")); + PrintAndLogEx(SUCCESS, " lf hid clone -w H10301 --bin %s", binstr); + PrintAndLogEx(NORMAL, ""); + // MIFARE Classic + char mfcbin[28] = {0}; + mfcbin[0] = '1'; + memcpy(mfcbin + 1, binstr, strlen(binstr)); + binstr_2_bytes(hex, &hexlen, mfcbin); + + PrintAndLogEx(INFO, "Downgrade to " _YELLOW_("MIFARE Classic") " (Pm3 simulation)"); + PrintAndLogEx(SUCCESS, " hf mf eclr;"); + PrintAndLogEx(SUCCESS, " hf mf esetblk --blk 0 -d 049DBA42A23E80884400C82000000000;"); + PrintAndLogEx(SUCCESS, " hf mf esetblk --blk 1 -d 1B014D48000000000000000000000000;"); + PrintAndLogEx(SUCCESS, " hf mf esetblk --blk 3 -d A0A1A2A3A4A5787788C189ECA97F8C2A;"); + PrintAndLogEx(SUCCESS, " hf mf esetblk --blk 5 -d 020000000000000000000000%s;", sprint_hex_inrow(hex, hexlen)); + PrintAndLogEx(SUCCESS, " hf mf esetblk --blk 7 -d 484944204953787788AA204752454154;"); + PrintAndLogEx(SUCCESS, " hf mf sim --1k -i;"); + PrintAndLogEx(NORMAL, ""); + + // iCLASS Legacy + PrintAndLogEx(INFO, "Clone to " _YELLOW_("iCLASS Legacy")); + PrintAndLogEx(SUCCESS, " hf iclass encode --ki 0 --bin %s", binstr); + PrintAndLogEx(NORMAL, ""); + } + free(binstr); - SetAPDULogging(false); return PM3_SUCCESS; } @@ -4516,7 +4592,7 @@ int CmdHFiClass(const char *Cmd) { return CmdsParse(CommandTable, Cmd); } -//static void test_credential_type(void) { +// static void test_credential_type(void) { // need AA1 key // Block 5 -> tells if its a legacy or SIO, also tells which key to use. From 185da09e6276f33b859ce6ae27cc51206ebd8453 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 18 Oct 2023 20:20:55 +0200 Subject: [PATCH 113/278] we use calloc --- armsrc/hitag2crack.c | 2 +- client/src/cmdlfem4x05.c | 2 +- client/src/crypto/libpcrypto.c | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/armsrc/hitag2crack.c b/armsrc/hitag2crack.c index ed7daecd5..bd5fc2a94 100644 --- a/armsrc/hitag2crack.c +++ b/armsrc/hitag2crack.c @@ -569,7 +569,7 @@ bool hitag2_keystream(uint8_t *response, uint8_t *nrarhex) { uint8_t *spaceptr = NULL; /* - keybits = malloc(2080); + keybits = calloc(2080, sizeof(uint8_t)); if (!keybits) { UserMessage("cannot malloc keybits\r\n"); return false; diff --git a/client/src/cmdlfem4x05.c b/client/src/cmdlfem4x05.c index 862be6f9c..f548d98e3 100644 --- a/client/src/cmdlfem4x05.c +++ b/client/src/cmdlfem4x05.c @@ -2020,7 +2020,7 @@ int CmdEM4x05Sniff(const char *Cmd) { PrintAndLogEx(SUCCESS, "-------+-------------+----------+-----+------------------------------------------------------------"); smartbuf bits = { 0 }; - bits.ptr = malloc(EM4X05_BITS_BUFSIZE); + bits.ptr = calloc(EM4X05_BITS_BUFSIZE, sizeof(uint8_t)); bits.size = EM4X05_BITS_BUFSIZE; bits.idx = 0; size_t idx = 0; diff --git a/client/src/crypto/libpcrypto.c b/client/src/crypto/libpcrypto.c index 4e119f245..3634e9e4d 100644 --- a/client/src/crypto/libpcrypto.c +++ b/client/src/crypto/libpcrypto.c @@ -629,8 +629,10 @@ int blowfish_decrypt(uint8_t *iv, uint8_t *key, uint8_t *input, uint8_t *output, mbedtls_blowfish_init(&blow); if (mbedtls_blowfish_setkey(&blow, key, 64)) return 1; + if (mbedtls_blowfish_crypt_cbc(&blow, MBEDTLS_BLOWFISH_DECRYPT, length, iiv, input, output)) return 2; + mbedtls_blowfish_free(&blow); return 0; @@ -647,7 +649,7 @@ int ansi_x963_sha256(uint8_t *sharedSecret, size_t sharedSecretLen, uint8_t *sha uint32_t counter = 0x00000001; for (int i = 0; i < (keyDataLen / 32); ++i) { - uint8_t *hashMaterial = malloc(4 + sharedSecretLen + sharedInfoLen); + uint8_t *hashMaterial = calloc(4 + sharedSecretLen + sharedInfoLen, sizeof(uint8_t)); memcpy(hashMaterial, sharedSecret, sharedSecretLen); hashMaterial[sharedSecretLen] = (counter >> 24); hashMaterial[sharedSecretLen + 1] = (counter >> 16) & 0xFF; From 1f3cf808981bac1f4f8c3be2b69df34a18f3ad3a Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 18 Oct 2023 20:34:35 +0200 Subject: [PATCH 114/278] style --- armsrc/sam_mfc.c | 2 +- armsrc/sam_mfc.h | 2 +- armsrc/sam_picopass.c | 45 ++++++++++---------- armsrc/sam_picopass.h | 2 +- armsrc/sam_seos.c | 2 +- armsrc/sam_seos.h | 2 +- client/src/cmdhficlass.c | 10 ++--- client/src/pm3line_vocabulary.h | 10 +++-- client/src/preferences.c | 4 +- client/src/uart/ringbuffer.c | 30 +++++++------- client/src/uart/ringbuffer.h | 28 ++++++------- client/src/uart/uart_posix.c | 12 +++--- client/src/uart/uart_win32.c | 4 +- common/cardhelper.c | 10 ++--- doc/commands.json | 73 ++++++++++++++++++++++----------- doc/commands.md | 10 +++-- 16 files changed, 139 insertions(+), 107 deletions(-) diff --git a/armsrc/sam_mfc.c b/armsrc/sam_mfc.c index 773dd199c..f2dee067c 100644 --- a/armsrc/sam_mfc.c +++ b/armsrc/sam_mfc.c @@ -19,4 +19,4 @@ #include "iclass.h" #include "proxmark3_arm.h" -#include "cmd.h" \ No newline at end of file +#include "cmd.h" diff --git a/armsrc/sam_mfc.h b/armsrc/sam_mfc.h index 4a995a6ed..5cf55d711 100644 --- a/armsrc/sam_mfc.h +++ b/armsrc/sam_mfc.h @@ -18,4 +18,4 @@ #include "common.h" -#endif \ No newline at end of file +#endif diff --git a/armsrc/sam_picopass.c b/armsrc/sam_picopass.c index 48702680b..fd465c992 100644 --- a/armsrc/sam_picopass.c +++ b/armsrc/sam_picopass.c @@ -57,9 +57,9 @@ static int sam_rxtx(const uint8_t *data, uint16_t n, uint8_t *resp, uint16_t *re uint16_t more_len = 0; if (resp[*resplen - 2] == 0x61 || resp[*resplen - 2] == 0x9F) { - more_len = resp[*resplen - 1]; + more_len = resp[*resplen - 1]; } else { - // we done, return + // we done, return goto out; } @@ -113,7 +113,8 @@ int sam_picopass_get_pacs(void) { clear_trace(); - I2C_Reset_EnterMainProgram(); StopTicks(); + I2C_Reset_EnterMainProgram(); + StopTicks(); uint8_t *resp = BigBuf_calloc(ISO7816_MAX_FRAME); @@ -212,7 +213,7 @@ int sam_picopass_get_pacs(void) { // ----------------------------------------------------------------------------- // SAM comms - // ----------------------------------------------------------------------------- + // ----------------------------------------------------------------------------- size_t sam_len = 0; uint8_t *sam_apdu = BigBuf_calloc(ISO7816_MAX_FRAME); @@ -227,7 +228,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 1",resp, resp_len); + print_dbg("-- 1", resp, resp_len); // ----------------------------------------------------------------------------- // second @@ -237,9 +238,9 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 2",resp, resp_len); + print_dbg("-- 2", resp, resp_len); - // TAG response + // TAG response // -- 0c 05 de64 // read block 5 // Tag|c00a140a000000a110a10e8004 0c05de64 8102 0004 820201f4 @@ -256,7 +257,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 3",resp, resp_len); + print_dbg("-- 3", resp, resp_len); // 88 02 -- readcheck (block2 epurse, start of auth) // Tag|c00a140a000000a10ea10c8002 8802 8102 0004 820201f4 9000 @@ -272,29 +273,29 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 4",resp, resp_len); + print_dbg("-- 4", resp, resp_len); uint8_t nr_mac[9] = {0}; memcpy(nr_mac, resp + 11, sizeof(nr_mac)); // resp here hold the whole NR/MAC // 05 9bcd475e965ee20e // CHECK (w key) - print_dbg("NR/MAC",nr_mac, sizeof(nr_mac)); + print_dbg("NR/MAC", nr_mac, sizeof(nr_mac)); // c00a140a000000a115a1138009 059bcd475e965ee20e 8102 0004 820201f4 9000 // pre calc ourself? // uint8_t cc_nr[] = {0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0}; uint8_t div_key[8] = {0}; - static uint8_t legacy_aa1_key[] = {0xAE, 0xA6, 0x84, 0xA6, 0xDA, 0xB2, 0x32, 0x78}; + static uint8_t legacy_aa1_key[] = {0xAE, 0xA6, 0x84, 0xA6, 0xDA, 0xB2, 0x32, 0x78}; iclass_calc_div_key(hdr.csn, legacy_aa1_key, div_key, false); uint8_t mac[4] = {0}; - if (g_dbglevel == DBG_DEBUG) { + if (g_dbglevel == DBG_DEBUG) { uint8_t wb[16] = {0}; memcpy(wb, hdr.epurse, sizeof(hdr.epurse)); - memcpy(wb + sizeof(hdr.epurse), nr_mac+1, 4); + memcpy(wb + sizeof(hdr.epurse), nr_mac + 1, 4); print_dbg("cc_nr...", wb, sizeof(wb)); - doMAC_N(wb, sizeof(wb), div_key, mac); + doMAC_N(wb, sizeof(wb), div_key, mac); print_dbg("Calc MAC...", mac, sizeof(mac)); } @@ -315,8 +316,8 @@ int sam_picopass_get_pacs(void) { goto out; } // store MAC - memcpy(mac, resp, sizeof(mac)); - print_dbg("Got MAC",mac,sizeof(mac)); + memcpy(mac, resp, sizeof(mac)); + print_dbg("Got MAC", mac, sizeof(mac)); // ----------------------------------------------------------------------------- // fifth send received MAC @@ -328,7 +329,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 5",resp, resp_len); + print_dbg("-- 5", resp, resp_len); uint8_t tmp_p1[4] = {0}; uint8_t tmp_p2[4] = {0}; @@ -350,7 +351,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 6",resp, resp_len); + print_dbg("-- 6", resp, resp_len); // c1 61 c1 00 00 a1 10 a1 0e 80 04 0c 06 45 56 81 02 00 04 82 02 01 f4 90 00 // read block 6 @@ -364,7 +365,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("Block 6 from Picopass",resp, resp_len); + print_dbg("Block 6 from Picopass", resp, resp_len); // ----------------------------------------------------------------------------- // eight send block 6 config to SAM @@ -391,7 +392,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("Block 6-9 from Picopass",resp, resp_len); + print_dbg("Block 6-9 from Picopass", resp, resp_len); // ----------------------------------------------------------------------------- // nine send credential blocks to SAM @@ -403,7 +404,7 @@ int sam_picopass_get_pacs(void) { res = PM3_ECARDEXCHANGE; goto out; } - print_dbg("-- 8",resp, resp_len); + print_dbg("-- 8", resp, resp_len); // ----------------------------------------------------------------------------- @@ -438,7 +439,7 @@ out: off: switch_off(); - BigBuf_free(); + BigBuf_free(); return res; } diff --git a/armsrc/sam_picopass.h b/armsrc/sam_picopass.h index a4f553c5b..7feef0bde 100644 --- a/armsrc/sam_picopass.h +++ b/armsrc/sam_picopass.h @@ -20,4 +20,4 @@ int sam_picopass_get_pacs(void); -#endif \ No newline at end of file +#endif diff --git a/armsrc/sam_seos.c b/armsrc/sam_seos.c index 2f0f01817..00e4da45b 100644 --- a/armsrc/sam_seos.c +++ b/armsrc/sam_seos.c @@ -19,4 +19,4 @@ #include "iclass.h" #include "proxmark3_arm.h" -#include "cmd.h" \ No newline at end of file +#include "cmd.h" diff --git a/armsrc/sam_seos.h b/armsrc/sam_seos.h index 7cc08517b..c2100f07e 100644 --- a/armsrc/sam_seos.h +++ b/armsrc/sam_seos.h @@ -18,4 +18,4 @@ #include "common.h" -#endif \ No newline at end of file +#endif diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 0d9af88ec..3cda9feef 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4472,17 +4472,17 @@ static int CmdHFiClassSAM(const char *Cmd) { // CSN, config, epurse, NR/MAC, AIA // PACS // first byte skip - // second byte length - // third padded + // second byte length + // third padded // fourth .. uint8_t *d = resp.data.asBytes; uint8_t n = d[1] - 1; // skip length byte uint8_t pad = d[2]; - char *binstr = (char*)calloc((n * 8) + 1 , sizeof(uint8_t)); + char *binstr = (char *)calloc((n * 8) + 1, sizeof(uint8_t)); if (binstr == NULL) { return PM3_EMALLOC; } - + byte_2_binstr(binstr, d + 3, n); PrintAndLogEx(NORMAL, ""); @@ -4494,7 +4494,7 @@ static int CmdHFiClassSAM(const char *Cmd) { size_t hexlen = 0; uint8_t hex[16] = {0}; - binstr_2_bytes(hex, &hexlen,binstr); + binstr_2_bytes(hex, &hexlen, binstr); PrintAndLogEx(SUCCESS, "hex.......... " _GREEN_("%s"), sprint_hex_inrow(hex, hexlen)); uint32_t top = 0, mid = 0, bot = 0; diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index adcd31846..583d5a0d0 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -42,8 +42,9 @@ const static vocabulary_t vocabulary[] = { { 1, "prefs help" }, { 1, "prefs show" }, { 1, "prefs get barmode" }, - { 1, "prefs get clientdebug" }, - { 1, "prefs get clientdelay" }, + { 1, "prefs get client.debug" }, + { 1, "prefs get client.delay" }, + { 1, "prefs get client.timeout" }, { 1, "prefs get color" }, { 1, "prefs get savepaths" }, { 1, "prefs get emoji" }, @@ -52,8 +53,9 @@ const static vocabulary_t vocabulary[] = { { 1, "prefs get plotsliders" }, { 1, "prefs set help" }, { 1, "prefs set barmode" }, - { 1, "prefs set clientdebug" }, - { 1, "prefs set clientdelay" }, + { 1, "prefs set client.debug" }, + { 1, "prefs set client.delay" }, + { 1, "prefs set client.timeout" }, { 1, "prefs set color" }, { 1, "prefs set emoji" }, { 1, "prefs set hints" }, diff --git a/client/src/preferences.c b/client/src/preferences.c index 83deb945d..904e12a44 100644 --- a/client/src/preferences.c +++ b/client/src/preferences.c @@ -852,7 +852,7 @@ static int setClientTimeout(const char *Cmd) { uint32_t new_value = (uint32_t)arg_get_int_def(ctx, 1, 0); CLIParserFree(ctx); - // UART_USB_CLIENT_RX_TIMEOUT_MS is considered as the minimum required timeout. + // UART_USB_CLIENT_RX_TIMEOUT_MS is considered as the minimum required timeout. if (new_value < UART_USB_CLIENT_RX_TIMEOUT_MS) { PrintAndLogEx(WARNING, "Timeout less than %u ms might cause errors.", UART_USB_CLIENT_RX_TIMEOUT_MS); } else if (new_value > 5000) { @@ -1268,7 +1268,7 @@ static command_t CommandTableSet[] = { {"client.debug", setCmdDebug, AlwaysAvailable, "Set client debug level"}, {"client.delay", setCmdExeDelay, AlwaysAvailable, "Set client execution delay"}, {"client.timeout", setClientTimeout, AlwaysAvailable, "Set client communication timeout"}, - + {"color", setCmdColor, AlwaysAvailable, "Set color support"}, {"emoji", setCmdEmoji, AlwaysAvailable, "Set emoji display"}, {"hints", setCmdHint, AlwaysAvailable, "Set hint display"}, diff --git a/client/src/uart/ringbuffer.c b/client/src/uart/ringbuffer.c index 13ff133e8..345abdf5a 100644 --- a/client/src/uart/ringbuffer.c +++ b/client/src/uart/ringbuffer.c @@ -1,13 +1,13 @@ #include "ringbuffer.h" #include -RingBuffer* RingBuf_create(int capacity) { - RingBuffer* buffer = (RingBuffer*)malloc(sizeof(RingBuffer)); +RingBuffer *RingBuf_create(int capacity) { + RingBuffer *buffer = (RingBuffer *)malloc(sizeof(RingBuffer)); if (!buffer) { return NULL; } - buffer->data = (uint8_t*)calloc(capacity, sizeof(uint8_t)); + buffer->data = (uint8_t *)calloc(capacity, sizeof(uint8_t)); if (!buffer->data) { free(buffer); return NULL; @@ -21,15 +21,15 @@ RingBuffer* RingBuf_create(int capacity) { return buffer; } -inline bool RingBuf_isFull(RingBuffer* buffer) { +inline bool RingBuf_isFull(RingBuffer *buffer) { return buffer->size == buffer->capacity; } -inline bool RingBuf_isEmpty(RingBuffer* buffer) { +inline bool RingBuf_isEmpty(RingBuffer *buffer) { return buffer->size == 0; } -bool RingBuf_enqueue(RingBuffer* buffer, uint8_t value) { +bool RingBuf_enqueue(RingBuffer *buffer, uint8_t value) { if (RingBuf_isFull(buffer)) { return false; } @@ -40,7 +40,7 @@ bool RingBuf_enqueue(RingBuffer* buffer, uint8_t value) { return true; } -bool RingBuf_dequeue(RingBuffer* buffer, uint8_t* value) { +bool RingBuf_dequeue(RingBuffer *buffer, uint8_t *value) { if (RingBuf_isEmpty(buffer)) { return false; } @@ -51,7 +51,7 @@ bool RingBuf_dequeue(RingBuffer* buffer, uint8_t* value) { return true; } -int RingBuf_enqueueBatch(RingBuffer* buffer, const uint8_t* values, int count) { +int RingBuf_enqueueBatch(RingBuffer *buffer, const uint8_t *values, int count) { int processed = 0; if (RingBuf_getAvailableSize(buffer) < count) { @@ -69,7 +69,7 @@ int RingBuf_enqueueBatch(RingBuffer* buffer, const uint8_t* values, int count) { return processed; } -int RingBuf_dequeueBatch(RingBuffer* buffer, uint8_t* values, int count) { +int RingBuf_dequeueBatch(RingBuffer *buffer, uint8_t *values, int count) { int processed = 0; if (buffer->size < count) { @@ -87,32 +87,32 @@ int RingBuf_dequeueBatch(RingBuffer* buffer, uint8_t* values, int count) { return processed; } -inline int RingBuf_getUsedSize(RingBuffer* buffer) { +inline int RingBuf_getUsedSize(RingBuffer *buffer) { return buffer->size; } -inline int RingBuf_getAvailableSize(RingBuffer* buffer) { +inline int RingBuf_getAvailableSize(RingBuffer *buffer) { return (buffer->capacity) - (buffer->size); } -void RingBuf_destroy(RingBuffer* buffer) { +void RingBuf_destroy(RingBuffer *buffer) { if (buffer != NULL) free(buffer->data); free(buffer); } -inline int RingBuf_getContinousAvailableSize(RingBuffer* buffer) { +inline int RingBuf_getContinousAvailableSize(RingBuffer *buffer) { const int availableSize = RingBuf_getAvailableSize(buffer); const int continousSize = (buffer->capacity) - (buffer->rear); return (availableSize < continousSize) ? availableSize : continousSize; } -inline void RingBuf_postEnqueueBatch(RingBuffer* buffer, int count) { +inline void RingBuf_postEnqueueBatch(RingBuffer *buffer, int count) { // no check there buffer->rear = (buffer->rear + count) % buffer->capacity; buffer->size += count; } -inline uint8_t* RingBuf_getRearPtr(RingBuffer* buffer) { +inline uint8_t *RingBuf_getRearPtr(RingBuffer *buffer) { return buffer->data + buffer->rear; } diff --git a/client/src/uart/ringbuffer.h b/client/src/uart/ringbuffer.h index 35321c8d6..ba29ddd77 100644 --- a/client/src/uart/ringbuffer.h +++ b/client/src/uart/ringbuffer.h @@ -5,27 +5,27 @@ #include typedef struct { - uint8_t* data; + uint8_t *data; int capacity; int size; int front; int rear; } RingBuffer; -RingBuffer* RingBuf_create(int capacity); -bool RingBuf_isFull(RingBuffer* buffer); -bool RingBuf_isEmpty(RingBuffer* buffer); -bool RingBuf_enqueue(RingBuffer* buffer, uint8_t value); -bool RingBuf_dequeue(RingBuffer* buffer, uint8_t* value); -int RingBuf_enqueueBatch(RingBuffer* buffer, const uint8_t* values, int count); -int RingBuf_dequeueBatch(RingBuffer* buffer, uint8_t* values, int count); -int RingBuf_getUsedSize(RingBuffer* buffer); -int RingBuf_getAvailableSize(RingBuffer* buffer); -void RingBuf_destroy(RingBuffer* buffer); +RingBuffer *RingBuf_create(int capacity); +bool RingBuf_isFull(RingBuffer *buffer); +bool RingBuf_isEmpty(RingBuffer *buffer); +bool RingBuf_enqueue(RingBuffer *buffer, uint8_t value); +bool RingBuf_dequeue(RingBuffer *buffer, uint8_t *value); +int RingBuf_enqueueBatch(RingBuffer *buffer, const uint8_t *values, int count); +int RingBuf_dequeueBatch(RingBuffer *buffer, uint8_t *values, int count); +int RingBuf_getUsedSize(RingBuffer *buffer); +int RingBuf_getAvailableSize(RingBuffer *buffer); +void RingBuf_destroy(RingBuffer *buffer); // for direct write -int RingBuf_getContinousAvailableSize(RingBuffer* buffer); -void RingBuf_postEnqueueBatch(RingBuffer* buffer, int count); -uint8_t* RingBuf_getRearPtr(RingBuffer* buffer); +int RingBuf_getContinousAvailableSize(RingBuffer *buffer); +void RingBuf_postEnqueueBatch(RingBuffer *buffer, int count); +uint8_t *RingBuf_getRearPtr(RingBuffer *buffer); #endif diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 5480e98b7..0a9afb04a 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -56,7 +56,7 @@ typedef struct { int fd; // Serial port file descriptor term_info tiOld; // Terminal info before using the port term_info tiNew; // Terminal info during the transaction - RingBuffer* udpBuffer; + RingBuffer *udpBuffer; } serial_port_unix_t_t; // see pm3_cmd.h @@ -150,7 +150,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { portstr = rColon + 1; } else { portstr = "18888"; - } + } } // handle the end of the address @@ -261,7 +261,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { portstr = rColon + 1; } else { portstr = "18888"; - } + } } // handle the end of the address @@ -519,9 +519,9 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin *pszRxLen = 0; do { int res; - if(spu->udpBuffer != NULL) { + if (spu->udpBuffer != NULL) { // for UDP connection, try to use the data from the buffer - + byteCount = RingBuf_getAvailableSize(spu->udpBuffer); // Cap the number of bytes, so we don't overrun the buffer if (pszMaxRxLen - (*pszRxLen) < byteCount) { @@ -536,7 +536,7 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin return PM3_SUCCESS; } } - + // Reset file descriptor FD_ZERO(&rfds); FD_SET(spu->fd, &rfds); diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 7e7021c71..794302a81 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -38,7 +38,7 @@ typedef struct { DCB dcb; // Device control settings COMMTIMEOUTS ct; // Serial port time-out configuration SOCKET hSocket; // Socket handle - RingBuffer* udpBuffer; // Buffer for UDP + RingBuffer *udpBuffer; // Buffer for UDP } serial_port_windows_t; // this is for TCP connection @@ -473,7 +473,7 @@ int uart_receive(const serial_port sp, uint8_t *pbtRx, uint32_t pszMaxRxLen, uin *pszRxLen = 0; do { int res; - if(spw->udpBuffer != NULL) { + if (spw->udpBuffer != NULL) { // for UDP connection, try to use the data from the buffer byteCount = RingBuf_getAvailableSize(spw->udpBuffer); diff --git a/common/cardhelper.c b/common/cardhelper.c index 8c5fd8c22..623e1c1f4 100644 --- a/common/cardhelper.c +++ b/common/cardhelper.c @@ -74,15 +74,15 @@ bool IsHIDSamPresent(bool verbose) { // SAM identification smart_card_atr_t supported[] = { - {15, {0x3B, 0x95, 0x96, 0x80, 0xB1, 0xFE, 0x55, 0x1F, 0xC7, 0x47, 0x72, 0x61, 0x63, 0x65, 0x13}}, - {11, {0x3b, 0x90, 0x96, 0x91, 0x81, 0xb1, 0xfe, 0x55, 0x1f, 0xc7, 0xd4}}, + {15, {0x3B, 0x95, 0x96, 0x80, 0xB1, 0xFE, 0x55, 0x1F, 0xC7, 0x47, 0x72, 0x61, 0x63, 0x65, 0x13}}, + {11, {0x3b, 0x90, 0x96, 0x91, 0x81, 0xb1, 0xfe, 0x55, 0x1f, 0xc7, 0xd4}}, }; bool found = false; for (int i = 0; i < sizeof(supported) / sizeof(supported[0]); i++) { if ((card.atr_len == supported[i].atr_len) && - (memcmp(card.atr, supported[i].atr, supported[i].atr_len) == 0)) { - found = true; - break; + (memcmp(card.atr, supported[i].atr, supported[i].atr_len) == 0)) { + found = true; + break; } } if (found == false) { diff --git a/doc/commands.json b/doc/commands.json index e410a0a98..a0f7232d1 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -7580,15 +7580,15 @@ "description": "Set the communication timeout on the client side", "notes": [ "hw timeout -> Show current timeout", - "hw timeout -t 20 -> Set the timeout to 20ms", - "hw timeout -t 500 -> Set the timeout to 500ms" + "hw timeout -m 20 -> Set the timeout to 20ms", + "hw timeout --ms 500 -> Set the timeout to 500ms" ], "offline": true, "options": [ "-h, --help This help", - "-t, --timeout timeout in ms" + "-m, --ms timeout in micro seconds" ], - "usage": "hw timeout [-h] [-t ]" + "usage": "hw timeout [-h] [-m ]" }, "hw tune": { "command": "hw tune", @@ -11220,29 +11220,41 @@ ], "usage": "prefs get barmode [-h]" }, - "prefs get clientdebug": { - "command": "prefs get clientdebug", + "prefs get client.debug": { + "command": "prefs get client.debug", "description": "Get preference of using clientside debug level", "notes": [ - "prefs get clientdebug" + "prefs get client.debug" ], "offline": true, "options": [ "-h, --help This help" ], - "usage": "prefs get clientdebug [-h]" + "usage": "prefs get client.debug [-h]" }, - "prefs get clientdelay": { - "command": "prefs get clientdelay", + "prefs get client.delay": { + "command": "prefs get client.delay", "description": "Get preference of delay time before execution of a command in the client", "notes": [ - "prefs get clientdelay" + "prefs get client.delay" ], "offline": true, "options": [ "-h, --help This help" ], - "usage": "prefs get clientdelay [-h]" + "usage": "prefs get client.delay [-h]" + }, + "prefs get client.timeout": { + "command": "prefs get client.timeout", + "description": "Get preference of delay time before execution of a command in the client", + "notes": [ + "prefs get client.timeout" + ], + "offline": true, + "options": [ + "-h, --help This help" + ], + "usage": "prefs get client.timeout [-h]" }, "prefs get color": { "command": "prefs get color", @@ -11331,11 +11343,11 @@ ], "usage": "prefs set barmode [-h] [--bar] [--mix] [--val]" }, - "prefs set clientdebug": { - "command": "prefs set clientdebug", + "prefs set client.debug": { + "command": "prefs set client.debug", "description": "Set persistent preference of using clientside debug level", "notes": [ - "prefs set clientdebug --simple" + "prefs set client.debug --simple" ], "offline": true, "options": [ @@ -11344,21 +11356,36 @@ "--simple simple debug messages", "--full full debug messages" ], - "usage": "prefs set clientdebug [-h] [--off] [--simple] [--full]" + "usage": "prefs set client.debug [-h] [--off] [--simple] [--full]" }, - "prefs set clientdelay": { - "command": "prefs set clientdelay", + "prefs set client.delay": { + "command": "prefs set client.delay", "description": "Set persistent preference of delay before executing a command in the client", "notes": [ - "prefs set clientdelay --ms 0 -> unsets any delay", - "prefs set clientdelay --ms 1000 -> sets 1000ms delay" + "prefs set client.delay --ms 0 -> unsets any delay", + "prefs set client.delay --ms 1000 -> sets 1000ms delay" ], "offline": true, "options": [ "-h, --help This help", "--ms delay in micro seconds" ], - "usage": "prefs set clientdelay [-h] [--ms ]" + "usage": "prefs set client.delay [-h] [--ms ]" + }, + "prefs set client.timeout": { + "command": "prefs set client.timeout", + "description": "Set persistent preference of client communication timeout", + "notes": [ + "prefs set client.timeout --ms 0 -> unsets any timeout", + "prefs set client.timeout -m 20 -> Set the timeout to 20ms", + "prefs set client.timeout --ms 500 -> Set the timeout to 500ms" + ], + "offline": true, + "options": [ + "-h, --help This help", + "-m, --ms timeout in micro seconds" + ], + "usage": "prefs set client.timeout [-h] [-m ]" }, "prefs set color": { "command": "prefs set color", @@ -11854,8 +11881,8 @@ } }, "metadata": { - "commands_extracted": 687, + "commands_extracted": 689, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-15T15:14:39" + "extracted_on": "2023-10-18T18:30:58" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 07d744045..6fcbf242f 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -37,8 +37,9 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`prefs get barmode `|Y |`Get bar mode preference` -|`prefs get clientdebug `|Y |`Get client debug level preference` -|`prefs get clientdelay `|Y |`Get client execution delay preference` +|`prefs get client.debug `|Y |`Get client debug level preference` +|`prefs get client.delay `|Y |`Get client execution delay preference` +|`prefs get client.timeout`|Y |`Get client execution delay preference` |`prefs get color `|Y |`Get color support preference` |`prefs get savepaths `|Y |`Get file folder ` |`prefs get emoji `|Y |`Get emoji display preference` @@ -55,8 +56,9 @@ Check column "offline" for their availability. |------- |------- |----------- |`prefs set help `|Y |`This help` |`prefs set barmode `|Y |`Set bar mode` -|`prefs set clientdebug `|Y |`Set client debug level` -|`prefs set clientdelay `|Y |`Set client execution delay` +|`prefs set client.debug `|Y |`Set client debug level` +|`prefs set client.delay `|Y |`Set client execution delay` +|`prefs set client.timeout`|Y |`Set client communication timeout` |`prefs set color `|Y |`Set color support` |`prefs set emoji `|Y |`Set emoji display` |`prefs set hints `|Y |`Set hint display` From 5ae919d8ee80c878973b98e2f9b9299f0913fce9 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 18 Oct 2023 20:43:52 +0200 Subject: [PATCH 115/278] since we split the image for iclass, every time we swap back to hf / mf commands there is a penalty for swapping fpga image. this fix some allow for fast simulation part --- armsrc/appmain.c | 1 + 1 file changed, 1 insertion(+) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 68490325c..0162fae80 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -1686,6 +1686,7 @@ static void PacketReceived(PacketCommandNG *packet) { case CMD_HF_MIFARE_EML_MEMCLR: { MifareEMemClr(); reply_ng(CMD_HF_MIFARE_EML_MEMCLR, PM3_SUCCESS, NULL, 0); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); break; } case CMD_HF_MIFARE_EML_MEMSET: { From 34d8a41021a0bf153e6a764ce7b77cddb4367169 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 19 Oct 2023 11:08:53 +0200 Subject: [PATCH 116/278] hw ping - fix output text --- client/src/cmdhw.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index 7483a07a9..7cef9fa81 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -987,7 +987,7 @@ static int CmdPing(const char *Cmd) { len = PM3_CMD_DATA_SIZE; if (len) { - PrintAndLogEx(INFO, "Ping sent with payload len " _YELLOW_("%d"), len); + PrintAndLogEx(INFO, "Ping sent with payload len... " _YELLOW_("%d"), len); } else { PrintAndLogEx(INFO, "Ping sent"); } @@ -996,14 +996,15 @@ static int CmdPing(const char *Cmd) { PacketResponseNG resp; uint8_t data[PM3_CMD_DATA_SIZE] = {0}; - for (uint16_t i = 0; i < len; i++) + for (uint16_t i = 0; i < len; i++) { data[i] = i & 0xFF; + } SendCommandNG(CMD_PING, data, len); if (WaitForResponseTimeout(CMD_PING, &resp, 1000)) { if (len) { bool error = (memcmp(data, resp.data.asBytes, len) != 0); - PrintAndLogEx((error) ? ERR : SUCCESS, "Ping response " _GREEN_("received") " and content () %s )", error ? _RED_("fail") : _GREEN_("ok")); + PrintAndLogEx((error) ? ERR : SUCCESS, "Ping response " _GREEN_("received") " and content ( %s )", error ? _RED_("fail") : _GREEN_("ok")); } else { PrintAndLogEx(SUCCESS, "Ping response " _GREEN_("received")); } From ae1504e763fb869f9eacdb222764bee5d7b557e4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 19 Oct 2023 14:21:46 +0200 Subject: [PATCH 117/278] fixed a boolean bug with write block, and added a hf mf encodehid which writes some simple ndef message to a empty MFC 1K card --- CHANGELOG.md | 1 + client/src/cmdhfmf.c | 127 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 127 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 822f33018..caa1ffd66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `hf mf encodehid` - writes HID legacy credential to a empty MFC (@iceman1001) - Added `hf iclass sam` - Added support for HID SAM Picopass communications (@iceman1001) - Add support for quoted arguments in the CLI, allowing spaces in them which are removed automatically (@jmichelp) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index fb620edbf..ae33ea91f 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -37,6 +37,8 @@ #include "wiegand_formats.h" #include "wiegand_formatutils.h" #include "cmdhw.h" // set_fpga_mode +#include "loclass/cipherutils.h" // BitstreamOut_t +#include "proxendian.h" static int CmdHelp(const char *Cmd); @@ -483,7 +485,7 @@ static bool mf_write_block(const uint8_t *key, uint8_t keytype, uint8_t blockno, return false; } - return (resp.oldarg[0] & 0xff); + return ((resp.oldarg[0] & 0xff) == 1); } // assumes n is in number of blocks 0..255 @@ -8508,6 +8510,128 @@ static int CmdHF14AMfValue(const char *Cmd) { return PM3_SUCCESS; } +static int CmdHFMFHidEncode(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf mf encodehid", + "Encode binary wiegand to card\n" + "Use either --bin or --wiegand/--fc/--cn", + "hf mf encodehid --bin 10001111100000001010100011 -> FC 31 CN 337 (H10301)\n" + "hf mf encodehid -w H10301 --fc 31 --cn 337\n" + ); + + void *argtable[] = { + arg_param_begin, + arg_str0(NULL, "bin", "", "Binary string i.e 0001001001"), + arg_u64_0(NULL, "fc", "", "facility code"), + arg_u64_0(NULL, "cn", "", "card number"), + arg_str0("w", "wiegand", "", "see " _YELLOW_("`wiegand list`") " for available formats"), + arg_lit0("v", "verbose", "verbose output"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + int bin_len = 120; + uint8_t bin[121] = {0}; + CLIGetStrWithReturn(ctx, 1, bin, &bin_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); + + char format[16] = {0}; + int format_len = 0; + CLIParamStrToBuf(arg_get_str(ctx, 4), (uint8_t *)format, sizeof(format), &format_len); + + bool verbose = arg_get_lit(ctx, 5); + CLIParserFree(ctx); + + // santity checks + if (bin_len > 120) { + PrintAndLogEx(ERR, "Binary wiegand string must be less than 120 bits"); + return PM3_EINVARG; + } + + if (bin_len == 0 && card.FacilityCode == 0 && card.CardNumber == 0) { + PrintAndLogEx(ERR, "Must provide either --cn/--fc or --bin"); + return PM3_EINVARG; + } + + uint8_t blocks[] = { + 0x1B, 0x01, 0x4D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0x78, 0x77, 0x88, 0xC1, 0x89, 0xEC, 0xA9, 0x7F, 0x8C, 0x2A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x49, 0x44, 0x20, 0x49, 0x53, 0x78, 0x77, 0x88, 0xAA, 0x20, 0x47, 0x52, 0x45, 0x41, 0x54, + }; + + if (bin_len) { + char mfcbin[121] = {0}; + mfcbin[0] = '1'; + memcpy(mfcbin + 1, bin, strlen(bin)); + + size_t hexlen = 0; + uint8_t hex[15] = {0}; + binstr_2_bytes(hex, &hexlen, mfcbin); + + memcpy(blocks + (MFBLOCK_SIZE * 4) + 1 + (15 - hexlen), hex, hexlen); + } else { + wiegand_message_t packed; + memset(&packed, 0, sizeof(wiegand_message_t)); + + int format_idx = HIDFindCardFormat(format); + if (format_idx == -1) { + PrintAndLogEx(WARNING, "Unknown format: " _YELLOW_("%s"), format); + return PM3_EINVARG; + } + + if (HIDPack(format_idx, &card, &packed, false) == false) { + PrintAndLogEx(WARNING, "The card data could not be encoded in the selected format."); + return PM3_ESOFT; + } + + // iceman: only for formats w length smaller than 37. + // Needs a check. + + // increase length to allow setting bit just above real data + packed.Length++; + // Set sentinel bit + set_bit_by_position(&packed, true, 0); + +#ifdef HOST_LITTLE_ENDIAN + packed.Mid = BSWAP_32(packed.Mid); + packed.Bot = BSWAP_32(packed.Bot); +#endif + + memcpy(blocks + (MFBLOCK_SIZE * 4) + 8, &packed.Mid, sizeof(packed.Mid)); + memcpy(blocks + (MFBLOCK_SIZE * 4) + 12, &packed.Bot, sizeof(packed.Bot)); + } + + uint8_t empty[MIFARE_KEY_SIZE] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; + bool res = true; + for (uint8_t i = 0; i < (sizeof(blocks) / MFBLOCK_SIZE); i++) { + + if (verbose) { + PrintAndLogEx(INFO, "Writing %u - %s", (i + 1), sprint_hex_inrow(blocks + (i * MFBLOCK_SIZE), MFBLOCK_SIZE)); + } + + if (mf_write_block(empty, MF_KEY_A, (i + 1), blocks + (i * MFBLOCK_SIZE)) == false) { + if (mf_write_block(empty, MF_KEY_B, (i + 1), blocks + (i * MFBLOCK_SIZE)) == false) { + PrintAndLogEx(WARNING, "failed writing block %d using default empty key", (i + 1)); + res = false; + break; + } + } + } + if (res == false) { + PrintAndLogEx(WARNING, "Make sure card is wiped before running this command"); + } + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; +} + static command_t CommandTable[] = { {"help", CmdHelp, AlwaysAvailable, "This help"}, {"list", CmdHF14AMfList, AlwaysAvailable, "List MIFARE history"}, @@ -8576,6 +8700,7 @@ static command_t CommandTable[] = { {"ndefformat", CmdHFMFNDEFFormat, IfPm3Iso14443a, "Format MIFARE Classic Tag as NFC Tag"}, {"ndefread", CmdHFMFNDEFRead, IfPm3Iso14443a, "Read and print NDEF records from card"}, {"ndefwrite", CmdHFMFNDEFWrite, IfPm3Iso14443a, "Write NDEF records to card"}, + {"encodehid", CmdHFMFHidEncode, IfPm3Iso14443a, "Encode a HID Credential / NDEF record to card"}, {NULL, NULL, NULL, NULL} }; From 8565781f66e6cafaaa2499df17c63856fde0ae2a Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 19 Oct 2023 14:22:13 +0200 Subject: [PATCH 118/278] text --- client/src/cmdhficlass.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 3cda9feef..3e06a93c9 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4513,10 +4513,16 @@ static int CmdHFiClassSAM(const char *Cmd) { if (strlen(binstr) >= 26 && verbose) { + // iCLASS Legacy + PrintAndLogEx(INFO, "Clone to " _YELLOW_("iCLASS Legacy")); + PrintAndLogEx(SUCCESS, " hf iclass encode --ki 0 --bin %s", binstr); + PrintAndLogEx(NORMAL, ""); + // HID Prox II PrintAndLogEx(INFO, "Downgrade to " _YELLOW_("HID Prox II")); PrintAndLogEx(SUCCESS, " lf hid clone -w H10301 --bin %s", binstr); PrintAndLogEx(NORMAL, ""); + // MIFARE Classic char mfcbin[28] = {0}; mfcbin[0] = '1'; @@ -4533,9 +4539,8 @@ static int CmdHFiClassSAM(const char *Cmd) { PrintAndLogEx(SUCCESS, " hf mf sim --1k -i;"); PrintAndLogEx(NORMAL, ""); - // iCLASS Legacy - PrintAndLogEx(INFO, "Clone to " _YELLOW_("iCLASS Legacy")); - PrintAndLogEx(SUCCESS, " hf iclass encode --ki 0 --bin %s", binstr); + PrintAndLogEx(INFO, "Downgrade to " _YELLOW_("MIFARE Classic 1K")); + PrintAndLogEx(SUCCESS, " hf mf encodehid --bin %s", binstr); PrintAndLogEx(NORMAL, ""); } free(binstr); From 0a42e92d1112928af7aa7a86762683640230eefb Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 19 Oct 2023 14:40:48 +0200 Subject: [PATCH 119/278] fix compilation errors for strlen call that doesnt like uint8_t arrays --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index ae33ea91f..e4892e31b 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8570,7 +8570,7 @@ static int CmdHFMFHidEncode(const char *Cmd) { if (bin_len) { char mfcbin[121] = {0}; mfcbin[0] = '1'; - memcpy(mfcbin + 1, bin, strlen(bin)); + memcpy(mfcbin + 1, bin, bin_len); size_t hexlen = 0; uint8_t hex[15] = {0}; From e2f7454abc87bad45ec37cd520f0b11384e9d8d7 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Thu, 19 Oct 2023 23:35:09 +0800 Subject: [PATCH 120/278] Fixed command description Fixed command help file as it incorrectly shows -b instead of --blk --- client/src/cmdhficlass.c | 2 +- doc/commands.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 3e06a93c9..19a319db5 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1284,7 +1284,7 @@ static int CmdHFiClassESetBlk(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass esetblk", "Sets an individual block in emulator memory.", - "hf iclass esetblk -b 7 -d 0000000000000000"); + "hf iclass esetblk --blk 7 -d 0000000000000000"); void *argtable[] = { arg_param_begin, diff --git a/doc/commands.json b/doc/commands.json index a0f7232d1..5a59d65dc 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -3173,7 +3173,7 @@ "command": "hf iclass esetblk", "description": "Sets an individual block in emulator memory.", "notes": [ - "hf iclass esetblk -b 7 -d 0000000000000000" + "hf iclass esetblk --blk 7 -d 0000000000000000" ], "offline": false, "options": [ From 31bc88f6846a8ab3ad9601e112697db5993974b6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 19 Oct 2023 21:42:01 +0200 Subject: [PATCH 121/278] style --- client/src/cmdhfmf.c | 2 +- client/src/pm3line_vocabulary.h | 1 + doc/commands.json | 22 ++++++++++++++++++++-- doc/commands.md | 1 + 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index e4892e31b..0459cd4f7 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8609,7 +8609,7 @@ static int CmdHFMFHidEncode(const char *Cmd) { memcpy(blocks + (MFBLOCK_SIZE * 4) + 12, &packed.Bot, sizeof(packed.Bot)); } - uint8_t empty[MIFARE_KEY_SIZE] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; + uint8_t empty[MIFARE_KEY_SIZE] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; bool res = true; for (uint8_t i = 0; i < (sizeof(blocks) / MFBLOCK_SIZE); i++) { diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index 583d5a0d0..0274fcf89 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -376,6 +376,7 @@ const static vocabulary_t vocabulary[] = { { 0, "hf mf ndefformat" }, { 0, "hf mf ndefread" }, { 0, "hf mf ndefwrite" }, + { 0, "hf mf encodehid" }, { 1, "hf mfp help" }, { 1, "hf mfp list" }, { 0, "hf mfp auth" }, diff --git a/doc/commands.json b/doc/commands.json index 5a59d65dc..7e27429f1 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -4338,6 +4338,24 @@ ], "usage": "hf mf eload [-hmv] -f [--mini] [--1k] [--2k] [--4k] [--ul] [-q ]" }, + "hf mf encodehid": { + "command": "hf mf encodehid", + "description": "Encode binary wiegand to card Use either --bin or --wiegand/--fc/--cn", + "notes": [ + "hf mf encodehid --bin 10001111100000001010100011 -> FC 31 CN 337 (H10301)", + "hf mf encodehid -w H10301 --fc 31 --cn 337" + ], + "offline": false, + "options": [ + "-h, --help This help", + "--bin Binary string i.e 0001001001", + "--fc facility code", + "--cn card number", + "-w, --wiegand see `wiegand list` for available formats", + "-v, --verbose verbose output" + ], + "usage": "hf mf encodehid [-hv] [--bin ] [--fc ] [--cn ] [-w ]" + }, "hf mf esave": { "command": "hf mf esave", "description": "Save emulator memory to file (bin/json)", @@ -11881,8 +11899,8 @@ } }, "metadata": { - "commands_extracted": 689, + "commands_extracted": 690, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-18T18:30:58" + "extracted_on": "2023-10-19T19:41:49" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 6fcbf242f..c1fa64657 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -539,6 +539,7 @@ Check column "offline" for their availability. |`hf mf ndefformat `|N |`Format MIFARE Classic Tag as NFC Tag` |`hf mf ndefread `|N |`Read and print NDEF records from card` |`hf mf ndefwrite `|N |`Write NDEF records to card` +|`hf mf encodehid `|N |`Encode a HID Credential / NDEF record to card` ### hf mfp From b9ae38f88808b26be0e68ffa2475e9629d8e0e1b Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 20 Oct 2023 00:33:58 +0200 Subject: [PATCH 122/278] Add timing to hw ping, reduce sleep to 1ms in WaitForResponse, no impact on CPU --- client/src/cmdhw.c | 11 +++++++++-- client/src/comms.c | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index 7cef9fa81..7b2693781 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -35,6 +35,7 @@ #include "pmflash.h" // rdv40validation_t #include "cmdflashmem.h" // get_signature.. #include "uart/uart.h" // configure timeout +#include "util_posix.h" static int CmdHelp(const char *Cmd); @@ -979,6 +980,7 @@ static int CmdPing(const char *Cmd) { arg_u64_0("l", "len", "", "length of payload to send"), arg_param_end }; + CLIExecWithReturn(ctx, Cmd, argtable, true); uint32_t len = arg_get_u32_def(ctx, 1, 32); CLIParserFree(ctx); @@ -1000,13 +1002,18 @@ static int CmdPing(const char *Cmd) { data[i] = i & 0xFF; } + uint64_t tms = msclock(); SendCommandNG(CMD_PING, data, len); if (WaitForResponseTimeout(CMD_PING, &resp, 1000)) { + tms = msclock() - tms; if (len) { bool error = (memcmp(data, resp.data.asBytes, len) != 0); - PrintAndLogEx((error) ? ERR : SUCCESS, "Ping response " _GREEN_("received") " and content ( %s )", error ? _RED_("fail") : _GREEN_("ok")); + PrintAndLogEx((error) ? ERR : SUCCESS, "Ping response " _GREEN_("received") + " in " _YELLOW_("%" PRIu64) " ms and content ( %s )", + tms, error ? _RED_("fail") : _GREEN_("ok")); } else { - PrintAndLogEx(SUCCESS, "Ping response " _GREEN_("received")); + PrintAndLogEx(SUCCESS, "Ping response " _GREEN_("received") + " in " _YELLOW_("%" PRIu64) " ms", tms); } } else PrintAndLogEx(WARNING, "Ping response " _RED_("timeout")); diff --git a/client/src/comms.c b/client/src/comms.c index 4d65fd5f9..269e75a1d 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -802,7 +802,7 @@ bool WaitForResponseTimeoutW(uint32_t cmd, PacketResponseNG *response, size_t ms show_warning = false; } // just to avoid CPU busy loop: - msleep(10); + msleep(1); } return false; } From a35bfbb13e9bd75c612dd6750ebe3098bc0eee8d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 20 Oct 2023 10:38:53 +0200 Subject: [PATCH 123/278] modified the CLI prompt to also show if TCP/UDP is used in the communication --- CHANGELOG.md | 2 ++ client/src/comms.h | 9 +++++++++ client/src/proxmark3.c | 34 ++++++++++++++++++++++++++-------- client/src/proxmark3.h | 7 ++++++- client/src/uart/uart_posix.c | 8 ++++++++ client/src/uart/uart_win32.c | 3 +++ 6 files changed, 54 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index caa1ffd66..fe36c3236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed the CLI prompt to show tcp/udp if used (@iceman1001) + - Changed `hw ping` - now shows transfer time (@doegox) - Added `hf mf encodehid` - writes HID legacy credential to a empty MFC (@iceman1001) - Added `hf iclass sam` - Added support for HID SAM Picopass communications (@iceman1001) - Add support for quoted arguments in the CLI, allowing spaces in them which diff --git a/client/src/comms.h b/client/src/comms.h index 0c1329cda..3b35e9a24 100644 --- a/client/src/comms.h +++ b/client/src/comms.h @@ -54,6 +54,13 @@ typedef enum { FPGA_MEM, } DeviceMemType_t; +typedef enum { + PM3_TCPv4, + PM3_TCPv6, + PM3_UDPv4, + PM3_NONE, +} CommunicationProtol_t; + typedef struct { bool run; // If TRUE, continue running the uart_communication thread bool block_after_ACK; // if true, block after receiving an ACK package @@ -62,6 +69,8 @@ typedef struct { bool send_with_crc_on_fpc; // "Session" flag, to tell via which interface next msgs are sent: USB or FPC USART bool send_via_fpc_usart; + // to tell if we are using TCP/UDP/TCPv6 + CommunicationProtol_t send_via_ip; // To memorise baudrate uint32_t uart_speed; uint16_t last_command; diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index a91f74179..f4887dc1f 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -127,9 +127,10 @@ static void showBanner(void) { static const char *prompt_dev = ""; static const char *prompt_ctx = ""; +static const char *prompt_net = ""; -static void prompt_compose(char *buf, size_t buflen, const char *promptctx, const char *promptdev) { - snprintf(buf, buflen - 1, PROXPROMPT_COMPOSE, promptdev, promptctx); +static void prompt_compose(char *buf, size_t buflen, const char *promptctx, const char *promptdev, const char *promptnet) { + snprintf(buf, buflen - 1, PROXPROMPT_COMPOSE, promptdev, promptnet, promptctx); } static int check_comm(void) { @@ -138,7 +139,7 @@ static int check_comm(void) { PrintAndLogEx(INFO, "Running in " _YELLOW_("OFFLINE") " mode. Use "_YELLOW_("\"hw connect\"") " to reconnect\n"); prompt_dev = PROXPROMPT_DEV_OFFLINE; char prompt[PROXPROMPT_MAX_SIZE] = {0}; - prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev); + prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev, prompt_net); char prompt_filtered[PROXPROMPT_MAX_SIZE] = {0}; memcpy_filter_ansi(prompt_filtered, prompt, sizeof(prompt_filtered), !g_session.supports_colors); pm3line_update_prompt(prompt_filtered); @@ -265,10 +266,27 @@ main_loop(char *script_cmds_file, char *script_cmd, bool stayInCommandLoop) { bool printprompt = false; if (g_session.pm3_present) { - if (g_conn.send_via_fpc_usart == false) - prompt_dev = PROXPROMPT_DEV_USB; - else + + switch(g_conn.send_via_ip) { + case PM3_TCPv4: + prompt_net = PROXPROMPT_NET_TCPV4; + break; + case PM3_TCPv6: + prompt_net = PROXPROMPT_NET_TCPV6; + break; + case PM3_UDPv4: + prompt_net = PROXPROMPT_NET_UDPV4; + break; + case PM3_NONE: + default: + break; + } + + if (g_conn.send_via_fpc_usart) prompt_dev = PROXPROMPT_DEV_FPC; + else + prompt_dev = PROXPROMPT_DEV_USB; + } else { prompt_dev = PROXPROMPT_DEV_OFFLINE; } @@ -341,7 +359,7 @@ check_script: pm3line_check(check_comm); prompt_ctx = PROXPROMPT_CTX_INTERACTIVE; char prompt[PROXPROMPT_MAX_SIZE] = {0}; - prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev); + prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev, prompt_net); char prompt_filtered[PROXPROMPT_MAX_SIZE] = {0}; memcpy_filter_ansi(prompt_filtered, prompt, sizeof(prompt_filtered), !g_session.supports_colors); g_pendingPrompt = true; @@ -391,7 +409,7 @@ check_script: g_printAndLog &= PRINTANDLOG_LOG; } char prompt[PROXPROMPT_MAX_SIZE] = {0}; - prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev); + prompt_compose(prompt, sizeof(prompt), prompt_ctx, prompt_dev, prompt_net); // always filter RL magic separators if not using readline char prompt_filtered[PROXPROMPT_MAX_SIZE] = {0}; memcpy_filter_rlmarkers(prompt_filtered, prompt, sizeof(prompt_filtered)); diff --git a/client/src/proxmark3.h b/client/src/proxmark3.h index 71072422a..e63b93f4e 100644 --- a/client/src/proxmark3.h +++ b/client/src/proxmark3.h @@ -24,7 +24,7 @@ #define PROXPROMPT_MAX_SIZE 255 -#define PROXPROMPT_COMPOSE "[" "%s%s" "] pm3 --> " +#define PROXPROMPT_COMPOSE "[" "%s%s%s" "] pm3 --> " #define PROXPROMPT_CTX_SCRIPTFILE "|" _RL_GREEN_("script") #define PROXPROMPT_CTX_SCRIPTCMD "|" _RL_GREEN_("script") @@ -35,6 +35,11 @@ #define PROXPROMPT_DEV_FPC _RL_BOLD_GREEN_("fpc") #define PROXPROMPT_DEV_OFFLINE _RL_BOLD_RED_("offline") +#define PROXPROMPT_NET_TCPV4 "|" _RL_BOLD_GREEN_("tcp") +#define PROXPROMPT_NET_UDPV4 "|" _RL_BOLD_GREEN_("udp") +#define PROXPROMPT_NET_TCPV6 "|" _RL_BOLD_GREEN_("tcp v6") + + #define PROXHISTORY "history.txt" #define PROXLOG "log_%Y%m%d%H%M%S.txt" #define MAX_NESTED_CMDSCRIPT 10 diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 0a9afb04a..5be5ffcdb 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -206,6 +206,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { free(sp); return INVALID_SERIAL_PORT; } + + g_conn.send_via_ip = PM3_TCPv4; return sp; } @@ -313,6 +315,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { sp->fd = sfd; sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); + g_conn.send_via_ip = PM3_UDPv4; return sp; } @@ -360,6 +363,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } sp->fd = sfd; + + g_conn.send_via_ip = PM3_NONE; return sp; #else // HAVE_BLUEZ PrintAndLogEx(ERR, "Sorry, this client doesn't support native Bluetooth addresses"); @@ -411,6 +416,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } sp->fd = localsocket; + + g_conn.send_via_ip = PM3_NONE; return sp; } @@ -480,6 +487,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } g_conn.uart_speed = uart_get_speed(sp); + g_conn.send_via_ip = PM3_NONE; return sp; } diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 794302a81..2d0498981 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -225,6 +225,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { free(sp); return INVALID_SERIAL_PORT; } + g_conn.send_via_ip = PM3_TCPv4; return sp; } @@ -345,6 +346,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { sp->hSocket = hSocket; sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); + g_conn.send_via_ip = PM3_UDPv4; return sp; } @@ -390,6 +392,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } g_conn.uart_speed = uart_get_speed(sp); + g_conn.send_via_ip = PM3_NONE; return sp; } From 0dc921c6b7658c5f7427c50f3d8780df6935ff1b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 20 Oct 2023 12:51:12 +0200 Subject: [PATCH 124/278] added the udpv6 and also try to identify when v6 is used (tcp/udp) --- client/src/comms.h | 1 + client/src/proxmark3.c | 3 +++ client/src/proxmark3.h | 1 + client/src/uart/uart_posix.c | 13 +++++++++---- client/src/uart/uart_win32.c | 11 ++++++++--- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/client/src/comms.h b/client/src/comms.h index 3b35e9a24..3d281f026 100644 --- a/client/src/comms.h +++ b/client/src/comms.h @@ -58,6 +58,7 @@ typedef enum { PM3_TCPv4, PM3_TCPv6, PM3_UDPv4, + PM3_UDPv6, PM3_NONE, } CommunicationProtol_t; diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index f4887dc1f..df5ef7a18 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -277,6 +277,9 @@ main_loop(char *script_cmds_file, char *script_cmd, bool stayInCommandLoop) { case PM3_UDPv4: prompt_net = PROXPROMPT_NET_UDPV4; break; + case PM3_UDPv6: + prompt_net = PROXPROMPT_NET_UDPV6; + break; case PM3_NONE: default: break; diff --git a/client/src/proxmark3.h b/client/src/proxmark3.h index e63b93f4e..f58c7950e 100644 --- a/client/src/proxmark3.h +++ b/client/src/proxmark3.h @@ -38,6 +38,7 @@ #define PROXPROMPT_NET_TCPV4 "|" _RL_BOLD_GREEN_("tcp") #define PROXPROMPT_NET_UDPV4 "|" _RL_BOLD_GREEN_("udp") #define PROXPROMPT_NET_TCPV6 "|" _RL_BOLD_GREEN_("tcp v6") +#define PROXPROMPT_NET_UDPV6 "|" _RL_BOLD_GREEN_("udp v6") #define PROXHISTORY "history.txt" diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 5be5ffcdb..1c87b2c1e 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -131,6 +131,10 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } + + // assume v4 + g_conn.send_via_ip = PM3_TCPv4; + // find the port char *lColon = strchr(addrPortStr, ':'); char *rColon = strrchr(addrPortStr, ':'); @@ -151,6 +155,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } else { portstr = "18888"; } + g_conn.send_via_ip = PM3_TCPv6; } // handle the end of the address @@ -207,7 +212,6 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } - g_conn.send_via_ip = PM3_TCPv4; return sp; } @@ -244,6 +248,9 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } + // Assume v4 + g_conn.send_via_ip = PM3_UDPv4; + // find the port char *lColon = strchr(addrPortStr, ':'); char *rColon = strrchr(addrPortStr, ':'); @@ -264,6 +271,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } else { portstr = "18888"; } + g_conn.send_via_ip = PM3_UDPv6; } // handle the end of the address @@ -279,7 +287,6 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { info.ai_family = PF_UNSPEC; info.ai_socktype = SOCK_DGRAM; -// info.ai_protocol = SOL_UDP; int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { @@ -314,8 +321,6 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { sp->fd = sfd; sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); - - g_conn.send_via_ip = PM3_UDPv4; return sp; } diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 2d0498981..a96b6e1bb 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -135,6 +135,9 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } + // Assume v4 + g_conn.send_via_ip = PM3_TCPv4; + // find the port char *lColon = strchr(addrPortStr, ':'); char *rColon = strrchr(addrPortStr, ':'); @@ -155,6 +158,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } else { portstr = "18888"; } + g_conn.send_via_ip = PM3_TCPv6; } // handle the end of the address @@ -225,7 +229,6 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { free(sp); return INVALID_SERIAL_PORT; } - g_conn.send_via_ip = PM3_TCPv4; return sp; } @@ -263,6 +266,9 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } } + // Assume v4 + g_conn.send_via_ip = PM3_UDPv4; + // find the port char *lColon = strchr(addrPortStr, ':'); char *rColon = strrchr(addrPortStr, ':'); @@ -283,6 +289,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } else { portstr = "18888"; } + g_conn.send_via_ip = PM3_UDPv6; } // handle the end of the address @@ -345,8 +352,6 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { sp->hSocket = hSocket; sp->udpBuffer = RingBuf_create(MAX(sizeof(PacketResponseNGRaw), sizeof(PacketResponseOLD)) * 30); - - g_conn.send_via_ip = PM3_UDPv4; return sp; } From 2790bc0c16933fc7710291d92ce05e20d051a8ed Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 20 Oct 2023 20:30:16 +0800 Subject: [PATCH 125/278] Modified hf iclass calcnewkey Added support for a scenario in which the old key is elite and the new key is not elite. --- CHANGELOG.md | 1 + client/src/cmdhficlass.c | 6 ++++++ doc/commands.json | 6 +++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe36c3236..a9336c352 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Modified `hf iclass calcnewkey` - Added calculations for old key elite and new key non elite (@Antiklesys) - Changed the CLI prompt to show tcp/udp if used (@iceman1001) - Changed `hw ping` - now shows transfer time (@doegox) - Added `hf mf encodehid` - writes HID legacy credential to a empty MFC (@iceman1001) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 19a319db5..2a66634ac 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -3215,6 +3215,7 @@ static int CmdHFiClassCalcNewKey(const char *Cmd) { arg_str0(NULL, "csn", "", "Specify a Card Serial Number (CSN) to diversify the key (if omitted will attempt to read a CSN)"), arg_lit0(NULL, "elite", "Elite computations applied to new key"), arg_lit0(NULL, "elite2", "Elite computations applied to both old and new key"), + arg_lit0(NULL, "oldelite", "Elite computations applied only to old key"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -3307,6 +3308,11 @@ static int CmdHFiClassCalcNewKey(const char *Cmd) { old_elite = true; } + if (arg_get_lit(ctx, 8)) { + elite = false; + old_elite = true; + } + CLIParserFree(ctx); uint8_t xor_div_key[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/doc/commands.json b/doc/commands.json index 7e27429f1..96ecb5e32 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -2986,10 +2986,10 @@ "--new Specify key as 8 hex bytes", "--nki New key index to select key from memory 'hf iclass managekeys'", "--csn Specify a Card Serial Number (CSN) to diversify the key (if omitted will attempt to read a CSN)", - "--elite Elite computations applied to new key", - "--elite2 Elite computations applied to both old and new key" + "--elite2 Elite computations applied to both old and new key", + "--oldelite Elite computations applied only to old key" ], - "usage": "hf iclass calcnewkey [-h] [--old ] [--oki ] [--new ] [--nki ] [--csn ] [--elite] [--elite2]" + "usage": "hf iclass calcnewkey [-h] [--old ] [--oki ] [--new ] [--nki ] [--csn ] [--elite] [--elite2] [--oldelite]" }, "hf iclass chk": { "command": "hf iclass chk", From c4ff8473557cb8c2879d7e6acb32a09e76213ff8 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 20 Oct 2023 14:49:39 +0200 Subject: [PATCH 126/278] typo --- client/src/comms.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/comms.h b/client/src/comms.h index 3d281f026..9f4d6cd60 100644 --- a/client/src/comms.h +++ b/client/src/comms.h @@ -60,7 +60,7 @@ typedef enum { PM3_UDPv4, PM3_UDPv6, PM3_NONE, -} CommunicationProtol_t; +} CommunicationProtocol_t; typedef struct { bool run; // If TRUE, continue running the uart_communication thread @@ -71,7 +71,7 @@ typedef struct { // "Session" flag, to tell via which interface next msgs are sent: USB or FPC USART bool send_via_fpc_usart; // to tell if we are using TCP/UDP/TCPv6 - CommunicationProtol_t send_via_ip; + CommunicationProtocol_t send_via_ip; // To memorise baudrate uint32_t uart_speed; uint16_t last_command; From 272cb2bbc57f28c5185491cd9c8d2acae9d4e434 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 20 Oct 2023 16:54:44 +0200 Subject: [PATCH 127/278] added no save parameter to iclass dump. Also adjusted the text for the other places. --- CHANGELOG.md | 3 ++- client/src/cmdhf14b.c | 24 ++++++++++++++---------- client/src/cmdhficlass.c | 8 ++++++++ client/src/cmdhfmfu.c | 34 +++++++++++++++++++--------------- client/src/cmdlft55xx.c | 8 +++++++- 5 files changed, 50 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9336c352..6bbf83804 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] - - Modified `hf iclass calcnewkey` - Added calculations for old key elite and new key non elite (@Antiklesys) + - Changed `hf iclass dump` - now allow no save of dumped data (@iceman1001) + - Changed `hf iclass calcnewkey` - Added calculations for old key elite and new key non elite (@Antiklesys) - Changed the CLI prompt to show tcp/udp if used (@iceman1001) - Changed `hw ping` - now shows transfer time (@doegox) - Added `hf mf encodehid` - writes HID legacy credential to a empty MFC (@iceman1001) diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index a762f3525..c60f1a683 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -1537,17 +1537,21 @@ static int CmdHF14BDump(const char *Cmd) { print_sr_blocks(data, cardsize, card.uid); - if (nosave == false) { - // save to file - if (fnlen < 1) { - PrintAndLogEx(INFO, "using UID as filename"); - char *fptr = filename + snprintf(filename, sizeof(filename), "hf-14b-"); - FillFileNameByUID(fptr, SwapEndian64(card.uid, card.uidlen, 8), "-dump", card.uidlen); - } - - size_t datalen = (lastblock + 2) * ST25TB_SR_BLOCK_SIZE; - pm3_save_dump(filename, data, datalen, jsf14b_v2); + if (nosave) { + PrintAndLogEx(INFO, "Called with no save option"); + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; } + + // save to file + if (fnlen < 1) { + PrintAndLogEx(INFO, "using UID as filename"); + char *fptr = filename + snprintf(filename, sizeof(filename), "hf-14b-"); + FillFileNameByUID(fptr, SwapEndian64(card.uid, card.uidlen, 8), "-dump", card.uidlen); + } + + size_t datalen = (lastblock + 2) * ST25TB_SR_BLOCK_SIZE; + pm3_save_dump(filename, data, datalen, jsf14b_v2); } return switch_off_field_14b(); diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 2a66634ac..f5dfe4145 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1754,6 +1754,7 @@ static int CmdHFiClassDump(const char *Cmd) { arg_lit0("z", "dense", "dense dump output style"), arg_lit0(NULL, "force", "force unsecure card read"), arg_lit0(NULL, "shallow", "use shallow (ASK) reader modulation instead of OOK"), + arg_lit0(NULL, "ns", "no save to file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -1840,6 +1841,7 @@ static int CmdHFiClassDump(const char *Cmd) { bool dense_output = g_session.dense_output || arg_get_lit(ctx, 9); bool force = arg_get_lit(ctx, 10); bool shallow_mod = arg_get_lit(ctx, 11); + bool nosave = arg_get_lit(ctx, 12); CLIParserFree(ctx); @@ -2085,6 +2087,12 @@ write_dump: // print the dump printIclassDumpContents(tag_data, 1, (bytes_got / 8), bytes_got, dense_output); + if (nosave) { + PrintAndLogEx(INFO, "Called with no save option"); + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; + } + // use CSN as filename if (filename[0] == 0) { strcat(filename, "hf-iclass-"); diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index c15ad1b74..99c0223a4 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -2665,23 +2665,27 @@ static int CmdHF14AMfUDump(const char *Cmd) { printMFUdumpEx(&dump_file_data, pages, start_page); - if (nosave == false) { - // user supplied filename? - if (fnlen < 1) { - PrintAndLogEx(INFO, "Using UID as filename"); - uint8_t uid[7] = {0}; - memcpy(uid, (uint8_t *)&dump_file_data.data, 3); - memcpy(uid + 3, (uint8_t *)&dump_file_data.data + 4, 4); - strcat(filename, "hf-mfu-"); - FillFileNameByUID(filename, uid, "-dump", sizeof(uid)); - } + if (nosave) { + PrintAndLogEx(INFO, "Called with no save option"); + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; + } - uint16_t datalen = pages * MFU_BLOCK_SIZE + MFU_DUMP_PREFIX_LENGTH; - pm3_save_dump(filename, (uint8_t *)&dump_file_data, datalen, jsfMfuMemory); + // user supplied filename? + if (fnlen < 1) { + PrintAndLogEx(INFO, "Using UID as filename"); + uint8_t uid[7] = {0}; + memcpy(uid, (uint8_t *)&dump_file_data.data, 3); + memcpy(uid + 3, (uint8_t *)&dump_file_data.data + 4, 4); + strcat(filename, "hf-mfu-"); + FillFileNameByUID(filename, uid, "-dump", sizeof(uid)); + } - if (is_partial) { - PrintAndLogEx(WARNING, "Partial dump created. (%d of %d blocks)", pages, card_mem_size); - } + uint16_t datalen = pages * MFU_BLOCK_SIZE + MFU_DUMP_PREFIX_LENGTH; + pm3_save_dump(filename, (uint8_t *)&dump_file_data, datalen, jsfMfuMemory); + + if (is_partial) { + PrintAndLogEx(WARNING, "Partial dump created. (%d of %d blocks)", pages, card_mem_size); } return PM3_SUCCESS; diff --git a/client/src/cmdlft55xx.c b/client/src/cmdlft55xx.c index 89a060a8e..e181f8667 100644 --- a/client/src/cmdlft55xx.c +++ b/client/src/cmdlft55xx.c @@ -2298,8 +2298,14 @@ static int CmdT55xxDump(const char *Cmd) { } } + if (nosave) { + PrintAndLogEx(INFO, "Called with no save option"); + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; + } + // all ok, save dump to file - if (success && nosave == false) { + if (success) { // set default filename, if not set by user if (strlen(filename) == 0) { From 854a95db6c3536b94f83c3d2e6195e826ee61b10 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 21 Oct 2023 15:45:12 +0200 Subject: [PATCH 128/278] added MAD entries from the Metrodroid Project. https://github.com/metrodroid/metrodroid/wiki/DESFire-Applications-IDs --- CHANGELOG.md | 1 + client/resources/mad.json | 54 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bbf83804..b190c5363 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed mad.json - added entries from the Metrodroid project (@iceman1001) - Changed `hf iclass dump` - now allow no save of dumped data (@iceman1001) - Changed `hf iclass calcnewkey` - Added calculations for old key elite and new key non elite (@Antiklesys) - Changed the CLI prompt to show tcp/udp if used (@iceman1001) diff --git a/client/resources/mad.json b/client/resources/mad.json index 38cdf2636..a11236189 100644 --- a/client/resources/mad.json +++ b/client/resources/mad.json @@ -2940,7 +2940,7 @@ "system_integrator": "A.I.I." }, { - "application": "Multi-Modal Transit", + "application": "Multi-Modal Transit (Vix/ERG)", "company": "ERG Transit Systems", "mad": "0x2103", "service_provider": "ERG Transit Systems", @@ -2953,6 +2953,13 @@ "service_provider": "ERG Transit Systems", "system_integrator": "ERG Transit Systems" }, + { + "application": "Transit (Metrocard / Christchurch)", + "company": "INIT Transit Systems", + "mad": "0x2105", + "service_provider": "INIT Transit Systems", + "system_integrator": "INIT Transit Systems" + }, { "application": "Mass Transportation Ticketing", "company": "Omnifare", @@ -2995,6 +3002,13 @@ "service_provider": "Emcard", "system_integrator": "Emtest" }, + { + "application": "Integrated multi-modal transport ticketing system", + "company": "HOP Fastpass", + "mad": "0x210E", + "service_provider": "HOP Fastpass", + "system_integrator": "HOP Fastpass" + }, { "application": "Integrated multi-modal transport ticketing system", "company": "Keane Australia PTY Limited", @@ -3038,7 +3052,7 @@ "system_integrator": "T-Systems GEI" }, { - "application": "Transportation ticket", + "application": "Transportation ticket (Lítačka)", "company": "Haguess s.r.o.", "mad": "0x2115", "service_provider": "HAGUESS, a.s.", @@ -3135,6 +3149,35 @@ "service_provider": "RTD", "system_integrator": "ACS" }, + { + "application": "Bus and rail fare collection (HOLO)", + "company": "INIT", + "mad": "0x2136", + "service_provider": "INIT", + "system_integrator": "INIT" + }, + { + "application": "Bus and rail fare collection (Ventra)", + "company": "Cubic", + "mad": "0x2138", + "service_provider": "Cubic", + "system_integrator": "Cubic" + }, + { + "application": "Bus and rail fare collection (Clipper)", + "company": "Cubic", + "mad": "0x2139", + "service_provider": "Cubic", + "system_integrator": "Cubic" + }, + { + "application": "Bus and rail fare collection (WAVE)", + "company": "INIT Rhode Island", + "mad": "0x213A", + "service_provider": "INIT Rhode Island", + "system_integrator": "INIT Rhode Island" + }, + { "application": "Bus services with extension to rail and taxi", "company": "Questek Marketing", @@ -13621,5 +13664,12 @@ "mad": "0xF001", "service_provider": "Tech ID", "system_integrator": "Tech ID" + }, + { + "application": "Miscellaneous applications", + "company": "Reserved For future Use", + "mad": "0xFFFF", + "service_provider": "RFU", + "system_integrator": "RFU" } ] From 2fed756dd945e6b97be63490a887f98307b63ad3 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 21 Oct 2023 17:07:47 +0200 Subject: [PATCH 129/278] added desfire AID entries from the Metrodroid Project. https://github.com/metrodroid/metrodroid/wiki/DESFire-Applications-IDs --- CHANGELOG.md | 1 + client/resources/aid_desfire.json | 158 +++++++++++++++++++++++++++++- 2 files changed, 156 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b190c5363..ee649ac76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed aid_desfire.json - added entreis from the Metrodroid project (@iceman1001) - Changed mad.json - added entries from the Metrodroid project (@iceman1001) - Changed `hf iclass dump` - now allow no save of dumped data (@iceman1001) - Changed `hf iclass calcnewkey` - Added calculations for old key elite and new key non elite (@Antiklesys) diff --git a/client/resources/aid_desfire.json b/client/resources/aid_desfire.json index f5387ff45..f1a0d946a 100644 --- a/client/resources/aid_desfire.json +++ b/client/resources/aid_desfire.json @@ -49,7 +49,7 @@ }, { "AID": "F21190", - "Vendor": "Metropolitan Transportation Commission", + "Vendor": "Metropolitan Transportation Commission / Cubic", "Country": "US", "Name": "Clipper Card", "Description": "", @@ -81,7 +81,7 @@ }, { "AID": "784000", - "Vendor": "NO1", + "Vendor": "NOL", "Country": "UAE", "Name": "Nol Card/Dubai", "Description": "Nol Card/Dubai", @@ -121,7 +121,7 @@ }, { "AID": "F21030", - "Vendor": "ORCA Card", + "Vendor": "ORCA (VUX/ERG)", "Country": "", "Name": "ORCA Card", "Description": "(FIDs 02: Trip History; 04: current balance)", @@ -383,5 +383,157 @@ "Name": "Disney MagicBand", "Description": "AID found on MagicBand desfire cards", "Type": "payment system" + }, + { + "AID": "F21100", + "Vendor": "MyKI", + "Country": "AUS", + "Name": "Myki", + "Description": "AID found on Myki ticket cards", + "Type": "transport" + }, + { + "AID": "F210F0", + "Vendor": "MyKI", + "Country": "AUS", + "Name": "Myki", + "Description": "AID found on Myki ticket cards", + "Type": "transport" + }, + { + "AID": "F206B0", + "Vendor": "ACS", + "Country": "AUS", + "Name": "Metrocard / ACS", + "Description": "", + "Type": "transport" + }, + { + "AID": "F21050", + "Vendor": "INIT", + "Country": "NZ", + "Name": "Metrocard / Christchurch", + "Description": "", + "Type": "transport" + }, + { + "AID": "F21150", + "Vendor": "HAGUESS", + "Country": "CZ", + "Name": "Lítačka / Prague", + "Description": "", + "Type": "transport" + }, + { + "AID": "F21360", + "Vendor": "INIT", + "Country": "CZ", + "Name": "HOLO", + "Description": "", + "Type": "transport" + }, + { + "AID": "F21381", + "Vendor": "Cubic", + "Country": "US", + "Name": "Ventra", + "Description": "", + "Type": "transport" + }, + { + "AID": "F213A0", + "Vendor": "INIT", + "Country": "US", + "Name": "WAVE / Rhode Island", + "Description": "", + "Type": "transport" + }, + { + "AID": "F210E0", + "Vendor": "Hop Fastpass", + "Country": "", + "Name": "Hop Fastpass", + "Description": "", + "Type": "transport" + }, + { + "AID": "EF2011", + "Vendor": "HSL", + "Country": "FI", + "Name": "HSL / Helsinki", + "Description": "", + "Type": "transport" + }, + { + "AID": "A00216", + "Vendor": "ITSO", + "Country": "", + "Name": "ITSO", + "Description": "", + "Type": "transport" + }, + { + "AID": "554000", + "Vendor": "AT HOP", + "Country": "", + "Name": "AT HOP", + "Description": "", + "Type": "transport" + }, + { + "AID": "534531", + "Vendor": "OPAL", + "Country": "AUS", + "Name": "OPAL", + "Description": "", + "Type": "transport" + }, + { + "AID": "2211AF", + "Vendor": "Leap", + "Country": "", + "Name": "Leap", + "Description": "", + "Type": "transport" + }, + { + "AID": "015342", + "Vendor": "BEM", + "Country": "TH", + "Name": "BEM / Bangkok", + "Description": "", + "Type": "transport" + }, + { + "AID": "012242", + "Vendor": "Istanbulkart", + "Country": "TR", + "Name": "Istanbulkart / Istanbul", + "Description": "", + "Type": "transport" + }, + { + "AID": "010000", + "Vendor": "Madrid Public Transit Card", + "Country": "ES", + "Name": "Madrid Public Transit Card", + "Description": "", + "Type": "transport" + }, + { + "AID": "000001", + "Vendor": "Invalid / reserved", + "Country": "", + "Name": "Invalid / reserved", + "Description": "used by Compass DESFire and Breeze DESFire", + "Type": "transport" + }, + { + "AID": "FFFFFF", + "Vendor": "Reserved for future use", + "Country": "", + "Name": "Reserved for future use", + "Description": "used by AT HOP, Nol, ORCA", + "Type": "transport" } ] From 9a9d2cf6212df9dae5e71f4dee5c5121fbd531e1 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 22 Oct 2023 14:08:18 +0200 Subject: [PATCH 130/278] added a new command -data bmap- it breaks down a hex value in rows of bits according to a supplied template --- CHANGELOG.md | 1 + client/src/cmddata.c | 64 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee649ac76..084441cc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added new command `data bmap` - breaks down a hexvalue to a binary template (@iceman1001) - Changed aid_desfire.json - added entreis from the Metrodroid project (@iceman1001) - Changed mad.json - added entries from the Metrodroid project (@iceman1001) - Changed `hf iclass dump` - now allow no save of dumped data (@iceman1001) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index a1ed8dc65..ea37ccfd5 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3451,6 +3451,69 @@ static int CmdAtrLookup(const char *Cmd) { return PM3_SUCCESS; } +static int CmdBinaryMap(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "data bmap", + "Breaks down a hex value to binary according a template\n" + " data bmap -d 16 -m 4,4\n" + "This will give two rows each with four bits", + "data bmap -d 3B -m 2,5,1\n" + ); + + void *argtable[] = { + arg_param_begin, + arg_str0("d", NULL, "", "hex string"), + arg_str0("m", NULL, "", "binary template"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + int hlen = 5; + uint8_t hex[5 + 1]; + CLIGetStrWithReturn(ctx, 1,hex, &hlen); + + int tlen = 40; + uint8_t template[40 + 1]; + CLIGetStrWithReturn(ctx, 2, template, &tlen); + CLIParserFree(ctx); + + char bits[(8 * 4) + 1] = {0}; + hextobinstring_n(bits, hex, hlen); + + int x = 0; + char *token = strtok(template, ","); + + PrintAndLogEx(INFO, "---+---------------------------"); + PrintAndLogEx(INFO, " | b0 b1 b2 b3 b4 b5 b6 b7"); + PrintAndLogEx(INFO, "---+---------------------------"); + + uint8_t i = 0; + uint8_t cnt = 1; + while (token != NULL) { + sscanf(token, "%d", &x); + + if (i) { + PrintAndLogEx(INFO, " %d | %*.s" NOLF, cnt, i * 3, " "); + } else { + PrintAndLogEx(INFO, " %d | " NOLF, cnt); + } + + // incease with previous offset + x += i; + + for (;i < x; i++) { + PrintAndLogEx(NORMAL, "%c " NOLF, bits[7 - i]); + } + + PrintAndLogEx(NORMAL, ""); + token = strtok(NULL, ","); + cnt++; + } + + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; +} + static command_t CommandTable[] = { {"help", CmdHelp, AlwaysAvailable, "This help"}, @@ -3493,6 +3556,7 @@ static command_t CommandTable[] = { {"atr", CmdAtrLookup, AlwaysAvailable, "ATR lookup"}, {"bin2hex", Cmdbin2hex, AlwaysAvailable, "Converts binary to hexadecimal"}, {"bitsamples", CmdBitsamples, IfPm3Present, "Get raw samples as bitstring"}, + {"bmap", CmdBinaryMap, AlwaysAvailable, "Convert hex value according a binary template"}, {"clear", CmdBuffClear, AlwaysAvailable, "Clears bigbuf on deviceside and graph window"}, {"diff", CmdDiff, AlwaysAvailable, "Diff of input files"}, {"hexsamples", CmdHexsamples, IfPm3Present, "Dump big buffer as hex bytes"}, From b857369f7a6727c56c1fffdd6f12d354ec89e105 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 22 Oct 2023 14:19:01 +0200 Subject: [PATCH 131/278] fix some warnings --- client/src/cmddata.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index ea37ccfd5..9d2f624d6 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3478,11 +3478,12 @@ static int CmdBinaryMap(const char *Cmd) { CLIParserFree(ctx); char bits[(8 * 4) + 1] = {0}; - hextobinstring_n(bits, hex, hlen); + hextobinstring_n(bits, (char*)hex, hlen); int x = 0; - char *token = strtok(template, ","); + char *token = strtok((char*)template, ","); + // header PrintAndLogEx(INFO, "---+---------------------------"); PrintAndLogEx(INFO, " | b0 b1 b2 b3 b4 b5 b6 b7"); PrintAndLogEx(INFO, "---+---------------------------"); From a2fdab98b53a7ca57f72a50f61ff337b93bdcbe7 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 22 Oct 2023 14:20:20 +0200 Subject: [PATCH 132/278] style --- client/src/cmddata.c | 8 ++++---- client/src/cmdhf14b.c | 2 +- client/src/cmdhficlass.c | 2 +- client/src/pm3line_vocabulary.h | 1 + client/src/proxmark3.c | 2 +- doc/commands.json | 24 ++++++++++++++++++++---- doc/commands.md | 1 + 7 files changed, 29 insertions(+), 11 deletions(-) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index 9d2f624d6..01292cf65 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3470,7 +3470,7 @@ static int CmdBinaryMap(const char *Cmd) { int hlen = 5; uint8_t hex[5 + 1]; - CLIGetStrWithReturn(ctx, 1,hex, &hlen); + CLIGetStrWithReturn(ctx, 1, hex, &hlen); int tlen = 40; uint8_t template[40 + 1]; @@ -3478,10 +3478,10 @@ static int CmdBinaryMap(const char *Cmd) { CLIParserFree(ctx); char bits[(8 * 4) + 1] = {0}; - hextobinstring_n(bits, (char*)hex, hlen); + hextobinstring_n(bits, (char *)hex, hlen); int x = 0; - char *token = strtok((char*)template, ","); + char *token = strtok((char *)template, ","); // header PrintAndLogEx(INFO, "---+---------------------------"); @@ -3502,7 +3502,7 @@ static int CmdBinaryMap(const char *Cmd) { // incease with previous offset x += i; - for (;i < x; i++) { + for (; i < x; i++) { PrintAndLogEx(NORMAL, "%c " NOLF, bits[7 - i]); } diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index c60f1a683..5ddd150cb 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -1542,7 +1542,7 @@ static int CmdHF14BDump(const char *Cmd) { PrintAndLogEx(NORMAL, ""); return PM3_SUCCESS; } - + // save to file if (fnlen < 1) { PrintAndLogEx(INFO, "using UID as filename"); diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index f5dfe4145..3966f8517 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1754,7 +1754,7 @@ static int CmdHFiClassDump(const char *Cmd) { arg_lit0("z", "dense", "dense dump output style"), arg_lit0(NULL, "force", "force unsecure card read"), arg_lit0(NULL, "shallow", "use shallow (ASK) reader modulation instead of OOK"), - arg_lit0(NULL, "ns", "no save to file"), + arg_lit0(NULL, "ns", "no save to file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index 0274fcf89..cbc0632d7 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -107,6 +107,7 @@ const static vocabulary_t vocabulary[] = { { 1, "data atr" }, { 1, "data bin2hex" }, { 0, "data bitsamples" }, + { 1, "data bmap" }, { 1, "data clear" }, { 1, "data diff" }, { 0, "data hexsamples" }, diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index df5ef7a18..85b85f762 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -267,7 +267,7 @@ main_loop(char *script_cmds_file, char *script_cmd, bool stayInCommandLoop) { bool printprompt = false; if (g_session.pm3_present) { - switch(g_conn.send_via_ip) { + switch (g_conn.send_via_ip) { case PM3_TCPv4: prompt_net = PROXPROMPT_NET_TCPV4; break; diff --git a/doc/commands.json b/doc/commands.json index 96ecb5e32..635559526 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -275,6 +275,20 @@ ], "usage": "data bitsamples [-h]" }, + "data bmap": { + "command": "data bmap", + "description": "Breaks down a hex value to binary according a template data bmap -d 16 -m 4,4 This will give two rows each with four bits", + "notes": [ + "data bmap -d 3B -m 2,5,1" + ], + "offline": true, + "options": [ + "-h, --help This help", + "-d hex string", + "-m binary template" + ], + "usage": "data bmap [-h] [-d ] [-m ]" + }, "data clear": { "command": "data clear", "description": "This function clears the bigbuff on deviceside and graph window", @@ -2986,6 +3000,7 @@ "--new Specify key as 8 hex bytes", "--nki New key index to select key from memory 'hf iclass managekeys'", "--csn Specify a Card Serial Number (CSN) to diversify the key (if omitted will attempt to read a CSN)", + "--elite Elite computations applied to new key", "--elite2 Elite computations applied to both old and new key", "--oldelite Elite computations applied only to old key" ], @@ -3092,9 +3107,10 @@ "--nr replay of NR/MAC", "-z, --dense dense dump output style", "--force force unsecure card read", - "--shallow use shallow (ASK) reader modulation instead of OOK" + "--shallow use shallow (ASK) reader modulation instead of OOK", + "--ns no save to file" ], - "usage": "hf iclass dump [-hz] [-f ] [-k ] [--ki ] [--credit ] [--ci ] [--elite] [--raw] [--nr] [--force] [--shallow]" + "usage": "hf iclass dump [-hz] [-f ] [-k ] [--ki ] [--credit ] [--ci ] [--elite] [--raw] [--nr] [--force] [--shallow] [--ns]" }, "hf iclass eload": { "command": "hf iclass eload", @@ -11899,8 +11915,8 @@ } }, "metadata": { - "commands_extracted": 690, + "commands_extracted": 691, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-19T19:41:49" + "extracted_on": "2023-10-22T12:20:10" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index c1fa64657..a2059a666 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -126,6 +126,7 @@ Check column "offline" for their availability. |`data atr `|Y |`ATR lookup` |`data bin2hex `|Y |`Converts binary to hexadecimal` |`data bitsamples `|N |`Get raw samples as bitstring` +|`data bmap `|Y |`Convert hex value according a binary template` |`data clear `|Y |`Clears bigbuf on deviceside and graph window` |`data diff `|Y |`Diff of input files` |`data hexsamples `|N |`Dump big buffer as hex bytes` From fd121bab4ffd02516ae0921171968d7f94b8caad Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 22 Oct 2023 18:56:19 +0200 Subject: [PATCH 133/278] added nosave parameter to lf em 4x05 dump --- CHANGELOG.md | 1 + client/src/cmdlfem4x05.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 084441cc8..7b5156d96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `lf em 4x05 dump` - now supports the `--ns` nosave parameter (@iceman1001) - Added new command `data bmap` - breaks down a hexvalue to a binary template (@iceman1001) - Changed aid_desfire.json - added entreis from the Metrodroid project (@iceman1001) - Changed mad.json - added entries from the Metrodroid project (@iceman1001) diff --git a/client/src/cmdlfem4x05.c b/client/src/cmdlfem4x05.c index f548d98e3..423afbab7 100644 --- a/client/src/cmdlfem4x05.c +++ b/client/src/cmdlfem4x05.c @@ -514,6 +514,7 @@ int CmdEM4x05Dump(const char *Cmd) { arg_param_begin, arg_str0("p", "pwd", "", "password (00000000)"), arg_str0("f", "file", "", "override filename prefix (optional). Default is based on UID"), + arg_lit0(NULL, "ns", "no save to file"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -522,6 +523,7 @@ int CmdEM4x05Dump(const char *Cmd) { int fnlen = 0; char filename[FILE_PATH_SIZE] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 2), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); + bool nosave = arg_get_lit(ctx, 3); CLIParserFree(ctx); uint8_t addr = 0; @@ -693,6 +695,13 @@ int CmdEM4x05Dump(const char *Cmd) { } else { } + if (nosave) { + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, "Called with no save option"); + PrintAndLogEx(NORMAL, ""); + return PM3_SUCCESS; + } + // all ok save dump to file if (success == PM3_SUCCESS) { From 225b1894f9c1268366f55d37c5e160ea2a6c33a3 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 23 Oct 2023 01:48:38 +0800 Subject: [PATCH 134/278] Add bind option (UDP, Linux) --- client/src/uart/uart.h | 4 ++ client/src/uart/uart_posix.c | 106 ++++++++++++++++++++++++++++++++++- client/src/uart/uart_win32.c | 4 ++ 3 files changed, 112 insertions(+), 2 deletions(-) diff --git a/client/src/uart/uart.h b/client/src/uart/uart.h index ae3896f73..f68d9c2f4 100644 --- a/client/src/uart/uart.h +++ b/client/src/uart/uart.h @@ -82,4 +82,8 @@ int uart_reconfigure_timeouts(uint32_t value); */ uint32_t uart_get_timeouts(void); +/* Specify the outbound address and port for TCP/UDP connections + */ +bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6); + #endif // _UART_H_ diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 1c87b2c1e..33ea9a88c 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -31,9 +31,11 @@ #include #include #include +#include #include #include #include +#include #ifdef HAVE_BLUEZ #include @@ -148,7 +150,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { portstr = rColon + 1; } else { // two or more colon, IPv6 address - // tcp:[]: + // "tcp:[]:" // "tcp:", "tcp:[]" if (endBracket != NULL && rColon == endBracket + 1) { portstr = rColon + 1; @@ -236,6 +238,65 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + // find the "bind" option + char *bindAddrPortStr = strstr(addrPortStr, ",bind="); + char *bindAddrStr = NULL; + char *bindPortStr = NULL; + bool isBindingIPv6 = false; // Assume v4 + if (bindAddrPortStr != NULL) { + *bindAddrPortStr = '\0'; // as the end of target address (and port) + bindAddrPortStr += 6; + bindAddrStr = bindAddrPortStr; + + // find the start of the bind address + char *endBracket = strrchr(bindAddrPortStr, ']'); + if (bindAddrPortStr[0] == '[') { + bindAddrStr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched in bind option"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the bind port + char *lColon = strchr(bindAddrPortStr, ':'); + char *rColon = strrchr(bindAddrPortStr, ':'); + if (rColon == NULL) { + // no colon + // ",bind=", ",bind=[]" + bindPortStr = NULL; + } else if (lColon == rColon) { + // only one colon + // ",bind=:", ",bind=[]:" + bindPortStr = rColon + 1; + } else { + // two or more colon, IPv6 address + // ",bind=[]:" + // ",bind=", ",bind=[]" + if (endBracket != NULL && rColon == endBracket + 1) { + bindPortStr = rColon + 1; + } else { + bindPortStr = NULL; + } + isBindingIPv6 = true; + } + + // handle the end of the bind address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; + } + + // for bind option, it's possible to only specify address or port + if (strlen(bindAddrStr) == 0) + bindAddrStr = NULL; + if (bindPortStr != NULL && strlen(bindPortStr) == 0) + bindPortStr = NULL; + } + // find the start of the address char *endBracket = strrchr(addrPortStr, ']'); if (addrPortStr[0] == '[') { @@ -264,7 +325,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { portstr = rColon + 1; } else { // two or more colon, IPv6 address - // tcp:[]: + // "tcp:[]:" // "tcp:", "tcp:[]" if (endBracket != NULL && rColon == endBracket + 1) { portstr = rColon + 1; @@ -304,6 +365,14 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (sfd == -1) continue; + if (!uart_bind(sfd, bindAddrStr, bindPortStr, isBindingIPv6)) { + PrintAndLogEx(ERR, "error: Could not bind. errno: %d", errno); + freeaddrinfo(addr); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) break; @@ -843,4 +912,37 @@ uint32_t uart_get_speed(const serial_port sp) { }; return uiPortSpeed; } + +bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { + if (bindAddrStr == NULL && bindPortStr == NULL) + return true; // no need to bind + + struct sockaddr_storage bindSockaddr; + memset(&bindSockaddr, 0, sizeof(bindSockaddr)); + int bindPort = 0; // 0: port unspecified + if (bindPortStr != NULL) + bindPort = atoi(bindPortStr); + + if (!isBindingIPv6) { + struct sockaddr_in *bindSockaddr4 = (struct sockaddr_in *)&bindSockaddr; + bindSockaddr4->sin_family = AF_INET; + bindSockaddr4->sin_port = htons(bindPort); + if (bindAddrStr == NULL) + bindSockaddr4->sin_addr.s_addr = INADDR_ANY; + else + bindSockaddr4->sin_addr.s_addr = inet_addr(bindAddrStr); + } else { + struct sockaddr_in6 *bindSockaddr6 = (struct sockaddr_in6 *)&bindSockaddr; + bindSockaddr6->sin6_family = AF_INET6; + bindSockaddr6->sin6_port = htons(bindPort); + if (bindAddrStr == NULL) + bindSockaddr6->sin6_addr = in6addr_any; + else + inet_pton(AF_INET6, bindAddrStr, &(bindSockaddr6->sin6_addr)); + } + + int res = bind(sfd, (struct sockaddr *)&bindSockaddr, sizeof(bindSockaddr)); + return (res >= 0); +} + #endif diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index a96b6e1bb..233abf640 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -626,4 +626,8 @@ int uart_send(const serial_port sp, const uint8_t *p_tx, const uint32_t len) { } } +bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { + return true; +} + #endif From 3a2b2dffae37b6fafe82e61a6d94a92f3e4698b8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 22 Oct 2023 19:57:48 +0200 Subject: [PATCH 135/278] add some colors --- client/src/cmdlfem4x05.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client/src/cmdlfem4x05.c b/client/src/cmdlfem4x05.c index 423afbab7..9b0e69753 100644 --- a/client/src/cmdlfem4x05.c +++ b/client/src/cmdlfem4x05.c @@ -750,16 +750,16 @@ int CmdEM4x05Read(const char *Cmd) { bool use_pwd = false; if (addr > 15) { - PrintAndLogEx(ERR, "Address must be between 0 and 15"); + PrintAndLogEx(ERR, "Address must be between 0 and 15, got " _RED_("%d"), addr); return PM3_EINVARG; } if (inputpwd == 0xFFFFFFFFFFFFFFFF) { - PrintAndLogEx(INFO, "Reading address %02u", addr); + PrintAndLogEx(INFO, "Reading address " _YELLOW_("%02u"), addr); } else { pwd = (inputpwd & 0xFFFFFFFF); use_pwd = true; - PrintAndLogEx(INFO, "Reading address %02u using password %08X", addr, pwd); + PrintAndLogEx(INFO, "Reading address " _YELLOW_("%02u") " using password " _YELLOW_("%08X"), addr, pwd); } uint32_t word = 0; @@ -827,14 +827,14 @@ int CmdEM4x05Write(const char *Cmd) { if (use_pwd) { if (protect_operation) - PrintAndLogEx(INFO, "Writing protection words data %08X using password %08X", data, pwd); + PrintAndLogEx(INFO, "Writing protection words data " _YELLOW_("%08X") " using password " _YELLOW_("%08X"), data, pwd); else - PrintAndLogEx(INFO, "Writing address %d data %08X using password %08X", addr, data, pwd); + PrintAndLogEx(INFO, "Writing address " _YELLOW_("%d") " data " _YELLOW_("%08X") " using password " _YELLOW_("%08X"), addr, data, pwd); } else { if (protect_operation) - PrintAndLogEx(INFO, "Writing protection words data %08X", data); + PrintAndLogEx(INFO, "Writing protection words data " _YELLOW_("%08X") , data); else - PrintAndLogEx(INFO, "Writing address %d data %08X", addr, data); + PrintAndLogEx(INFO, "Writing address " _YELLOW_("%d") " data " _YELLOW_("%08X") , addr, data); } res = PM3_SUCCESS; @@ -859,7 +859,7 @@ int CmdEM4x05Write(const char *Cmd) { if (status == PM3_SUCCESS) PrintAndLogEx(SUCCESS, "Data written and verified"); else if (status == PM3_EFAILED) - PrintAndLogEx(ERR, "Tag denied %s operation", protect_operation ? "Protect" : "Write"); + PrintAndLogEx(ERR, "Tag denied " _RED_("%s") " operation", protect_operation ? "Protect" : "Write"); else PrintAndLogEx(DEBUG, "No answer from tag"); From baecf198013e59f0cf444ffe496657672f373299 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 22 Oct 2023 21:02:01 +0200 Subject: [PATCH 136/278] fix lf_em_tearoff --- client/luascripts/lf_em_tearoff.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/luascripts/lf_em_tearoff.lua b/client/luascripts/lf_em_tearoff.lua index 2aa0dd5ee..8c56eaede 100644 --- a/client/luascripts/lf_em_tearoff.lua +++ b/client/luascripts/lf_em_tearoff.lua @@ -114,7 +114,7 @@ local function main(args) local set_tearoff_delay = 'hw tearoff --delay %d' local enable_tearoff = 'hw tearoff --on' - local wr_template = 'lf em 4x05_write %s %s %s' + local wr_template = 'lf em 4x05 write --addr %s --data %s --pwd %s' -- init addr to value core.console(wr_template:format(addr, wr_value, password)) From 675c86ec98a5395c0dcedd0fb1ab437b375f8436 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 22 Oct 2023 22:06:13 +0200 Subject: [PATCH 137/278] lf_em_tearoff: better safe than sorry --- client/luascripts/lf_em_tearoff.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/luascripts/lf_em_tearoff.lua b/client/luascripts/lf_em_tearoff.lua index 8c56eaede..ee8acfa70 100644 --- a/client/luascripts/lf_em_tearoff.lua +++ b/client/luascripts/lf_em_tearoff.lua @@ -83,15 +83,15 @@ local function main(args) ed = ed or 2100 if #password ~= 8 then - password = '' + return oops('password must be 4 hex bytes') end if #wr_value ~= 8 then - wr_value = 'FFFFFFFF' + return oops('write value must be 4 hex bytes') end if #rd_value ~= 8 then - rd_value = 'FFFFFFFF' + return oops('read value must be 4 hex bytes') end if sd > ed then From e20742dd0420b101499a31e04e3a4960473e88ea Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 22 Oct 2023 22:39:01 +0200 Subject: [PATCH 138/278] lf_em_tearoff: oops accept absence of pwd --- client/luascripts/lf_em_tearoff.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/luascripts/lf_em_tearoff.lua b/client/luascripts/lf_em_tearoff.lua index ee8acfa70..c26979d9a 100644 --- a/client/luascripts/lf_em_tearoff.lua +++ b/client/luascripts/lf_em_tearoff.lua @@ -82,7 +82,7 @@ local function main(args) sd = sd or 2000 ed = ed or 2100 - if #password ~= 8 then + if password ~= '' and #password ~= 8 then return oops('password must be 4 hex bytes') end From 15ef4f676816060d63025f4c8f160fa4a9614452 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 23 Oct 2023 13:30:27 +0800 Subject: [PATCH 139/278] Add bind option (UDP, Windows) --- client/src/uart/uart.h | 2 +- client/src/uart/uart_posix.c | 15 ++--- client/src/uart/uart_win32.c | 112 ++++++++++++++++++++++++++++++++--- 3 files changed, 114 insertions(+), 15 deletions(-) diff --git a/client/src/uart/uart.h b/client/src/uart/uart.h index f68d9c2f4..954fa6685 100644 --- a/client/src/uart/uart.h +++ b/client/src/uart/uart.h @@ -84,6 +84,6 @@ uint32_t uart_get_timeouts(void); /* Specify the outbound address and port for TCP/UDP connections */ -bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6); +bool uart_bind(void *socket, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6); #endif // _UART_H_ diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 33ea9a88c..6ed15f568 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -317,16 +317,16 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { char *rColon = strrchr(addrPortStr, ':'); if (rColon == NULL) { // no colon - // "tcp:", "tcp:[]" + // "udp:", "udp:[]" portstr = "18888"; } else if (lColon == rColon) { // only one colon - // "tcp::", "tcp:[]:" + // "udp::", "udp:[]:" portstr = rColon + 1; } else { // two or more colon, IPv6 address - // "tcp:[]:" - // "tcp:", "tcp:[]" + // "udp:[]:" + // "udp:", "udp:[]" if (endBracket != NULL && rColon == endBracket + 1) { portstr = rColon + 1; } else { @@ -365,8 +365,9 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (sfd == -1) continue; - if (!uart_bind(sfd, bindAddrStr, bindPortStr, isBindingIPv6)) { + if (!uart_bind(&sfd, bindAddrStr, bindPortStr, isBindingIPv6)) { PrintAndLogEx(ERR, "error: Could not bind. errno: %d", errno); + close(sfd); freeaddrinfo(addr); free(addrPortStr); free(sp); @@ -913,7 +914,7 @@ uint32_t uart_get_speed(const serial_port sp) { return uiPortSpeed; } -bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { +bool uart_bind(void *socket, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { if (bindAddrStr == NULL && bindPortStr == NULL) return true; // no need to bind @@ -941,7 +942,7 @@ bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6 inet_pton(AF_INET6, bindAddrStr, &(bindSockaddr6->sin6_addr)); } - int res = bind(sfd, (struct sockaddr *)&bindSockaddr, sizeof(bindSockaddr)); + int res = bind(*(int *)socket, (struct sockaddr *)&bindSockaddr, sizeof(bindSockaddr)); return (res >= 0); } diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 233abf640..5a5d1b415 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -151,7 +151,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { portstr = rColon + 1; } else { // two or more colon, IPv6 address - // tcp:[]: + // "tcp:[]:" // "tcp:", "tcp:[]" if (endBracket != NULL && rColon == endBracket + 1) { portstr = rColon + 1; @@ -254,6 +254,65 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + // find the "bind" option + char *bindAddrPortStr = strstr(addrPortStr, ",bind="); + char *bindAddrStr = NULL; + char *bindPortStr = NULL; + bool isBindingIPv6 = false; // Assume v4 + if (bindAddrPortStr != NULL) { + *bindAddrPortStr = '\0'; // as the end of target address (and port) + bindAddrPortStr += 6; + bindAddrStr = bindAddrPortStr; + + // find the start of the bind address + char *endBracket = strrchr(bindAddrPortStr, ']'); + if (bindAddrPortStr[0] == '[') { + bindAddrStr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched in bind option"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the bind port + char *lColon = strchr(bindAddrPortStr, ':'); + char *rColon = strrchr(bindAddrPortStr, ':'); + if (rColon == NULL) { + // no colon + // ",bind=", ",bind=[]" + bindPortStr = NULL; + } else if (lColon == rColon) { + // only one colon + // ",bind=:", ",bind=[]:" + bindPortStr = rColon + 1; + } else { + // two or more colon, IPv6 address + // ",bind=[]:" + // ",bind=", ",bind=[]" + if (endBracket != NULL && rColon == endBracket + 1) { + bindPortStr = rColon + 1; + } else { + bindPortStr = NULL; + } + isBindingIPv6 = true; + } + + // handle the end of the bind address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; + } + + // for bind option, it's possible to only specify address or port + if (strlen(bindAddrStr) == 0) + bindAddrStr = NULL; + if (bindPortStr != NULL && strlen(bindPortStr) == 0) + bindPortStr = NULL; + } + // find the start of the address char *endBracket = strrchr(addrPortStr, ']'); if (addrPortStr[0] == '[') { @@ -274,16 +333,16 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { char *rColon = strrchr(addrPortStr, ':'); if (rColon == NULL) { // no colon - // "tcp:", "tcp:[]" + // "udp:", "udp:[]" portstr = "18888"; } else if (lColon == rColon) { // only one colon - // "tcp::", "tcp:[]:" + // "udp::", "udp:[]:" portstr = rColon + 1; } else { // two or more colon, IPv6 address - // tcp:[]: - // "tcp:", "tcp:[]" + // "udp:[]:" + // "udp:", "udp:[]" if (endBracket != NULL && rColon == endBracket + 1) { portstr = rColon + 1; } else { @@ -333,6 +392,17 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (hSocket == INVALID_SOCKET) continue; + if (!uart_bind(&hSocket, bindAddrStr, bindPortStr, isBindingIPv6)) { + PrintAndLogEx(ERR, "error: Could not bind. error: %u", WSAGetLastError()); + closesocket(hSocket); + hSocket = INVALID_SOCKET; + freeaddrinfo(addr); + free(addrPortStr); + free(sp); + WSACleanup(); + return INVALID_SERIAL_PORT; + } + if (connect(hSocket, rp->ai_addr, (int)rp->ai_addrlen) != INVALID_SOCKET) break; @@ -626,8 +696,36 @@ int uart_send(const serial_port sp, const uint8_t *p_tx, const uint32_t len) { } } -bool uart_bind(int sfd, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { - return true; +bool uart_bind(void *socket, char *bindAddrStr, char *bindPortStr, bool isBindingIPv6) { + if (bindAddrStr == NULL && bindPortStr == NULL) + return true; // no need to bind + + struct sockaddr_storage bindSockaddr; + memset(&bindSockaddr, 0, sizeof(bindSockaddr)); + int bindPort = 0; // 0: port unspecified + if (bindPortStr != NULL) + bindPort = atoi(bindPortStr); + + if (!isBindingIPv6) { + struct sockaddr_in *bindSockaddr4 = (struct sockaddr_in *)&bindSockaddr; + bindSockaddr4->sin_family = AF_INET; + bindSockaddr4->sin_port = htons(bindPort); + if (bindAddrStr == NULL) + bindSockaddr4->sin_addr.s_addr = INADDR_ANY; + else + bindSockaddr4->sin_addr.s_addr = inet_addr(bindAddrStr); + } else { + struct sockaddr_in6 *bindSockaddr6 = (struct sockaddr_in6 *)&bindSockaddr; + bindSockaddr6->sin6_family = AF_INET6; + bindSockaddr6->sin6_port = htons(bindPort); + if (bindAddrStr == NULL) + bindSockaddr6->sin6_addr = in6addr_any; + else + inet_pton(AF_INET6, bindAddrStr, &(bindSockaddr6->sin6_addr)); + } + + int res = bind(*(SOCKET *)socket, (struct sockaddr *)&bindSockaddr, sizeof(bindSockaddr)); + return (res >= 0); } #endif From 56b4bda50d1cd708616bd9a583db6baa286215f0 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 23 Oct 2023 13:45:06 +0800 Subject: [PATCH 140/278] Add bind option for TCP --- CHANGELOG.md | 1 + client/src/uart/uart_posix.c | 68 +++++++++++++++++++++++++++++++++++ client/src/uart/uart_win32.c | 70 ++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 084441cc8..24ea5b3a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `bind` option for network connections to specify the outbound address and port (@wh201906) - Added new command `data bmap` - breaks down a hexvalue to a binary template (@iceman1001) - Changed aid_desfire.json - added entreis from the Metrodroid project (@iceman1001) - Changed mad.json - added entries from the Metrodroid project (@iceman1001) diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index 6ed15f568..ecb488633 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -121,6 +121,65 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + // find the "bind" option + char *bindAddrPortStr = strstr(addrPortStr, ",bind="); + char *bindAddrStr = NULL; + char *bindPortStr = NULL; + bool isBindingIPv6 = false; // Assume v4 + if (bindAddrPortStr != NULL) { + *bindAddrPortStr = '\0'; // as the end of target address (and port) + bindAddrPortStr += 6; + bindAddrStr = bindAddrPortStr; + + // find the start of the bind address + char *endBracket = strrchr(bindAddrPortStr, ']'); + if (bindAddrPortStr[0] == '[') { + bindAddrStr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched in bind option"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the bind port + char *lColon = strchr(bindAddrPortStr, ':'); + char *rColon = strrchr(bindAddrPortStr, ':'); + if (rColon == NULL) { + // no colon + // ",bind=", ",bind=[]" + bindPortStr = NULL; + } else if (lColon == rColon) { + // only one colon + // ",bind=:", ",bind=[]:" + bindPortStr = rColon + 1; + } else { + // two or more colon, IPv6 address + // ",bind=[]:" + // ",bind=", ",bind=[]" + if (endBracket != NULL && rColon == endBracket + 1) { + bindPortStr = rColon + 1; + } else { + bindPortStr = NULL; + } + isBindingIPv6 = true; + } + + // handle the end of the bind address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; + } + + // for bind option, it's possible to only specify address or port + if (strlen(bindAddrStr) == 0) + bindAddrStr = NULL; + if (bindPortStr != NULL && strlen(bindPortStr) == 0) + bindPortStr = NULL; + } + // find the start of the address char *endBracket = strrchr(addrPortStr, ']'); if (addrPortStr[0] == '[') { @@ -190,6 +249,15 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (sfd == -1) continue; + if (!uart_bind(&sfd, bindAddrStr, bindPortStr, isBindingIPv6)) { + PrintAndLogEx(ERR, "error: Could not bind. errno: %d", errno); + close(sfd); + freeaddrinfo(addr); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) break; diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 5a5d1b415..72faf97b4 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -123,6 +123,65 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + // find the "bind" option + char *bindAddrPortStr = strstr(addrPortStr, ",bind="); + char *bindAddrStr = NULL; + char *bindPortStr = NULL; + bool isBindingIPv6 = false; // Assume v4 + if (bindAddrPortStr != NULL) { + *bindAddrPortStr = '\0'; // as the end of target address (and port) + bindAddrPortStr += 6; + bindAddrStr = bindAddrPortStr; + + // find the start of the bind address + char *endBracket = strrchr(bindAddrPortStr, ']'); + if (bindAddrPortStr[0] == '[') { + bindAddrStr += 1; + if (endBracket == NULL) { + PrintAndLogEx(ERR, "error: wrong address: [] unmatched in bind option"); + free(addrPortStr); + free(sp); + return INVALID_SERIAL_PORT; + } + } + + // find the bind port + char *lColon = strchr(bindAddrPortStr, ':'); + char *rColon = strrchr(bindAddrPortStr, ':'); + if (rColon == NULL) { + // no colon + // ",bind=", ",bind=[]" + bindPortStr = NULL; + } else if (lColon == rColon) { + // only one colon + // ",bind=:", ",bind=[]:" + bindPortStr = rColon + 1; + } else { + // two or more colon, IPv6 address + // ",bind=[]:" + // ",bind=", ",bind=[]" + if (endBracket != NULL && rColon == endBracket + 1) { + bindPortStr = rColon + 1; + } else { + bindPortStr = NULL; + } + isBindingIPv6 = true; + } + + // handle the end of the bind address + if (endBracket != NULL) { + *endBracket = '\0'; + } else if (rColon != NULL && lColon == rColon) { + *rColon = '\0'; + } + + // for bind option, it's possible to only specify address or port + if (strlen(bindAddrStr) == 0) + bindAddrStr = NULL; + if (bindPortStr != NULL && strlen(bindPortStr) == 0) + bindPortStr = NULL; + } + // find the start of the address char *endBracket = strrchr(addrPortStr, ']'); if (addrPortStr[0] == '[') { @@ -202,6 +261,17 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { if (hSocket == INVALID_SOCKET) continue; + if (!uart_bind(&hSocket, bindAddrStr, bindPortStr, isBindingIPv6)) { + PrintAndLogEx(ERR, "error: Could not bind. error: %u", WSAGetLastError()); + closesocket(hSocket); + hSocket = INVALID_SOCKET; + freeaddrinfo(addr); + free(addrPortStr); + free(sp); + WSACleanup(); + return INVALID_SERIAL_PORT; + } + if (connect(hSocket, rp->ai_addr, (int)rp->ai_addrlen) != INVALID_SOCKET) break; From 72da0c962364d1ec285e467275976bd2bf5a627d Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 24 Oct 2023 00:46:28 +0800 Subject: [PATCH 141/278] Fix some wrong synchronization waits in usb_write() To make the full use of the ping-pong endpoint Transfer speed before this fix: 616448,618496,618496,615424,615424->616857.6 bytes/s Transfer speed after this fix: 707584,709632,707584,709632,710656->709017.6 bytes/s (+14.9%) Tested by running hw status --- common_arm/usb_cdc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common_arm/usb_cdc.c b/common_arm/usb_cdc.c index cb2d0c64a..37ecd0497 100644 --- a/common_arm/usb_cdc.c +++ b/common_arm/usb_cdc.c @@ -797,7 +797,7 @@ int usb_write(const uint8_t *data, const size_t len) { while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP) {}; UDP_SET_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXPKTRDY); - while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY) {}; + while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY)) {}; } // Wait for the end of transfer @@ -812,7 +812,7 @@ int usb_write(const uint8_t *data, const size_t len) { if (len % AT91C_EP_IN_SIZE == 0) { UDP_SET_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXPKTRDY); - while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP)) {}; + while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY)) {}; UDP_CLEAR_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXCOMP); while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP) {}; From 96dc4be112d2d10002730a133893cd05e54b2471 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 24 Oct 2023 01:27:08 +0800 Subject: [PATCH 142/278] Add an entry in CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b5156d96..db267aff1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac ## [unreleased][unreleased] - Changed `lf em 4x05 dump` - now supports the `--ns` nosave parameter (@iceman1001) + - Fixed some wrong synchronization waits in usb_write() to increase the communication speed (@wh201906) - Added new command `data bmap` - breaks down a hexvalue to a binary template (@iceman1001) - Changed aid_desfire.json - added entreis from the Metrodroid project (@iceman1001) - Changed mad.json - added entries from the Metrodroid project (@iceman1001) From a0af1fa0853d3c7b17be20defb5a2fff2d0eca5e Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 24 Oct 2023 12:12:09 +0800 Subject: [PATCH 143/278] Use ping-pong mode from the start of usb_write() Before: 708608,708608,707584,707584,708608->708198.4 bytes/s After: 722944,733184,732160,731136,733184->730521.6 bytes/s Added some note for ping-pong mode and non ping-pong mode --- common_arm/usb_cdc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common_arm/usb_cdc.c b/common_arm/usb_cdc.c index 37ecd0497..4787ce112 100644 --- a/common_arm/usb_cdc.c +++ b/common_arm/usb_cdc.c @@ -777,7 +777,7 @@ int usb_write(const uint8_t *data, const size_t len) { } UDP_SET_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXPKTRDY); - while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY) {}; + while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY)) {}; while (length) { // Send next chunk @@ -810,9 +810,9 @@ int usb_write(const uint8_t *data, const size_t len) { if (len % AT91C_EP_IN_SIZE == 0) { - + // like AT91F_USB_SendZlp(), in non ping-pong mode UDP_SET_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXPKTRDY); - while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXPKTRDY)) {}; + while (!(pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP)) {}; UDP_CLEAR_EP_FLAGS(AT91C_EP_IN, AT91C_UDP_TXCOMP); while (pUdp->UDP_CSR[AT91C_EP_IN] & AT91C_UDP_TXCOMP) {}; @@ -869,6 +869,8 @@ void AT91F_USB_SendData(AT91PS_UDP pudp, const char *pData, uint32_t length) { //*---------------------------------------------------------------------------- void AT91F_USB_SendZlp(AT91PS_UDP pudp) { UDP_SET_EP_FLAGS(AT91C_EP_CONTROL, AT91C_UDP_TXPKTRDY); + // for non ping-pong operation, wait until the FIFO is released + // the flag for FIFO released is AT91C_UDP_TXCOMP rather than AT91C_UDP_TXPKTRDY while (!(pudp->UDP_CSR[AT91C_EP_CONTROL] & AT91C_UDP_TXCOMP)) {}; UDP_CLEAR_EP_FLAGS(AT91C_EP_CONTROL, AT91C_UDP_TXCOMP); while (pudp->UDP_CSR[AT91C_EP_CONTROL] & AT91C_UDP_TXCOMP) {}; From 51bea8995bf8c6909d08c594a60c687f84d242dc Mon Sep 17 00:00:00 2001 From: s00se <95649696+s00se@users.noreply.github.com> Date: Tue, 24 Oct 2023 16:00:22 -0600 Subject: [PATCH 144/278] cmdscript.c: explicitly include ctype header https://bugzilla.redhat.com/show_bug.cgi?id=2245823 Signed-off-by: s00se <95649696+s00se@users.noreply.github.com> --- client/src/cmdscript.c | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/cmdscript.c b/client/src/cmdscript.c index 0abab9b01..91c1ce50f 100644 --- a/client/src/cmdscript.c +++ b/client/src/cmdscript.c @@ -22,6 +22,7 @@ #ifdef HAVE_PYTHON //#define PY_SSIZE_T_CLEAN #include +#include #include #endif From de7b6f35bc3fbcf78cc6a0ac8c6abe962b7d1182 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Wed, 25 Oct 2023 23:45:23 +0800 Subject: [PATCH 145/278] Clean up the code for timeout Rename UART_TCP_CLIENT_RX_TIMEOUT_MS to UART_NET_CLIENT_RX_TIMEOUT_MS Add UART_UDP_LOCAL_CLIENT_RX_TIMEOUT_MS for shorter timeout Check if the target address is local in uart_open() --- client/src/comms.c | 18 +++++++----------- client/src/comms.h | 4 +++- client/src/uart/uart_posix.c | 20 +++++++++++++++++--- client/src/uart/uart_win32.c | 20 +++++++++++++++++--- include/pm3_cmd.h | 5 +++-- 5 files changed, 47 insertions(+), 20 deletions(-) diff --git a/client/src/comms.c b/client/src/comms.c index 269e75a1d..9460c7024 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -666,9 +666,9 @@ int TestProxmark(pm3_device_t *dev) { g_conn.send_via_fpc_usart = g_pm3_capabilities.via_fpc; g_conn.uart_speed = g_pm3_capabilities.baudrate; - bool is_tcp_conn = (memcmp(g_conn.serial_port_name, "tcp:", 4) == 0); + bool is_tcp_conn = (g_conn.send_via_ip == PM3_TCPv4 || g_conn.send_via_ip == PM3_TCPv6); bool is_bt_conn = (memcmp(g_conn.serial_port_name, "bt:", 3) == 0); - bool is_udp_conn = (memcmp(g_conn.serial_port_name, "udp:", 4) == 0); + bool is_udp_conn = (g_conn.send_via_ip == PM3_UDPv4 || g_conn.send_via_ip == PM3_UDPv6); PrintAndLogEx(INFO, "Communicating with PM3 over %s%s%s%s", (g_conn.send_via_fpc_usart) ? _YELLOW_("FPC UART") : _YELLOW_("USB-CDC"), @@ -680,15 +680,11 @@ int TestProxmark(pm3_device_t *dev) { PrintAndLogEx(INFO, "PM3 UART serial baudrate: " _YELLOW_("%u") "\n", g_conn.uart_speed); } else { int res; - if (is_tcp_conn || is_udp_conn) { - if ((strstr(g_conn.serial_port_name, "localhost") != NULL) || - (strstr(g_conn.serial_port_name, "127.0.0.1") != NULL) || - (strstr(g_conn.serial_port_name, "[::1]") != NULL) || - (strstr(g_conn.serial_port_name, "p:::1") != NULL)) { - res = uart_reconfigure_timeouts(UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS); - } else { - res = uart_reconfigure_timeouts(UART_TCP_CLIENT_RX_TIMEOUT_MS); - } + if (g_conn.send_via_local_ip) { + // (g_conn.send_via_local_ip == true) -> ((is_tcp_conn || is_udp_conn) == true) + res = uart_reconfigure_timeouts(is_tcp_conn ? UART_TCP_LOCAL_CLIENT_RX_TIMEOUT_MS : UART_UDP_LOCAL_CLIENT_RX_TIMEOUT_MS); + } else if (is_tcp_conn || is_udp_conn) { + res = uart_reconfigure_timeouts(UART_NET_CLIENT_RX_TIMEOUT_MS); } else { res = uart_reconfigure_timeouts(UART_USB_CLIENT_RX_TIMEOUT_MS); } diff --git a/client/src/comms.h b/client/src/comms.h index 9f4d6cd60..333b2bf1c 100644 --- a/client/src/comms.h +++ b/client/src/comms.h @@ -70,8 +70,10 @@ typedef struct { bool send_with_crc_on_fpc; // "Session" flag, to tell via which interface next msgs are sent: USB or FPC USART bool send_via_fpc_usart; - // to tell if we are using TCP/UDP/TCPv6 + // to tell if we are using TCP/UDP/TCP(IPv6)/UDP(IPv6) CommunicationProtocol_t send_via_ip; + // to tell if the target address is local address(127.0.0.1/localhost/::1) + bool send_via_local_ip; // To memorise baudrate uint32_t uart_speed; uint16_t last_command; diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index ecb488633..bc0fb37c4 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -91,6 +91,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { sp->udpBuffer = NULL; // init timeouts timeout.tv_usec = UART_FPC_CLIENT_RX_TIMEOUT_MS * 1000; + g_conn.send_via_local_ip = false; + g_conn.send_via_ip = PM3_NONE; char *prefix = strdup(pcPortName); if (prefix == NULL) { @@ -119,7 +121,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } - timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + timeout.tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000; // find the "bind" option char *bindAddrPortStr = strstr(addrPortStr, ",bind="); @@ -233,6 +235,12 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { info.ai_family = PF_UNSPEC; info.ai_socktype = SOCK_STREAM; + if ((strstr(addrstr, "localhost") != NULL) || + (strstr(addrstr, "127.0.0.1") != NULL) || + (strstr(addrstr, "::1") != NULL)) { + g_conn.send_via_local_ip = true; + } + int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); @@ -304,7 +312,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } - timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + timeout.tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000; // find the "bind" option char *bindAddrPortStr = strstr(addrPortStr, ",bind="); @@ -417,6 +425,12 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { info.ai_family = PF_UNSPEC; info.ai_socktype = SOCK_DGRAM; + if ((strstr(addrstr, "localhost") != NULL) || + (strstr(addrstr, "127.0.0.1") != NULL) || + (strstr(addrstr, "::1") != NULL)) { + g_conn.send_via_local_ip = true; + } + int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %s", gai_strerror(s)); @@ -528,7 +542,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } // we must use max timeout! - timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + timeout.tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000; size_t servernameLen = (strlen(pcPortName) - 7) + 1; char serverNameBuf[servernameLen]; diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index 72faf97b4..ba3374494 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -44,7 +44,7 @@ typedef struct { // this is for TCP connection struct timeval timeout = { .tv_sec = 0, // 0 second - .tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000 + .tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000 }; uint32_t newtimeout_value = 0; @@ -92,6 +92,8 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { } sp->udpBuffer = NULL; + g_conn.send_via_local_ip = false; + g_conn.send_via_ip = PM3_NONE; char *prefix = strdup(pcPortName); if (prefix == NULL) { @@ -121,7 +123,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } - timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + timeout.tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000; // find the "bind" option char *bindAddrPortStr = strstr(addrPortStr, ",bind="); @@ -244,6 +246,12 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { info.ai_socktype = SOCK_STREAM; info.ai_protocol = IPPROTO_TCP; + if ((strstr(addrstr, "localhost") != NULL) || + (strstr(addrstr, "127.0.0.1") != NULL) || + (strstr(addrstr, "::1") != NULL)) { + g_conn.send_via_local_ip = true; + } + int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %d: %s", s, gai_strerror(s)); @@ -322,7 +330,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { return INVALID_SERIAL_PORT; } - timeout.tv_usec = UART_TCP_CLIENT_RX_TIMEOUT_MS * 1000; + timeout.tv_usec = UART_NET_CLIENT_RX_TIMEOUT_MS * 1000; // find the "bind" option char *bindAddrPortStr = strstr(addrPortStr, ",bind="); @@ -445,6 +453,12 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { info.ai_socktype = SOCK_DGRAM; info.ai_protocol = IPPROTO_UDP; + if ((strstr(addrstr, "localhost") != NULL) || + (strstr(addrstr, "127.0.0.1") != NULL) || + (strstr(addrstr, "::1") != NULL)) { + g_conn.send_via_local_ip = true; + } + int s = getaddrinfo(addrstr, portstr, &info, &addr); if (s != 0) { PrintAndLogEx(ERR, "error: getaddrinfo: %d: %s", s, gai_strerror(s)); diff --git a/include/pm3_cmd.h b/include/pm3_cmd.h index 8f488013e..af019eadd 100644 --- a/include/pm3_cmd.h +++ b/include/pm3_cmd.h @@ -831,8 +831,9 @@ typedef struct { // uart_windows.c & uart_posix.c # define UART_FPC_CLIENT_RX_TIMEOUT_MS 200 # define UART_USB_CLIENT_RX_TIMEOUT_MS 20 -# define UART_TCP_CLIENT_RX_TIMEOUT_MS 500 -# define UART_TCP_CLIENT_LOCAL_RX_TIMEOUT_MS 40 +# define UART_NET_CLIENT_RX_TIMEOUT_MS 500 +# define UART_TCP_LOCAL_CLIENT_RX_TIMEOUT_MS 40 +# define UART_UDP_LOCAL_CLIENT_RX_TIMEOUT_MS 20 // CMD_DEVICE_INFO response packet has flags in arg[0], flag definitions: From 9ff672ca8ff0774fb70726c20c561af3735f8784 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Wed, 25 Oct 2023 23:46:52 +0800 Subject: [PATCH 146/278] Update docs --- doc/new_frame_format.md | 10 ++++---- doc/termux_notes.md | 51 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 9 deletions(-) diff --git a/doc/new_frame_format.md b/doc/new_frame_format.md index 73c6faabb..061dcd929 100644 --- a/doc/new_frame_format.md +++ b/doc/new_frame_format.md @@ -332,9 +332,11 @@ else we get errors about partial packet reception FTDI 460800 hw status ⇒ we need 30ms BT 115200 hf mf fchk --1k -f file.dic ⇒ we need 140ms - # define UART_FPC_CLIENT_RX_TIMEOUT_MS 170 - # define UART_USB_CLIENT_RX_TIMEOUT_MS 20 - # define UART_TCP_CLIENT_RX_TIMEOUT_MS 300 + # define UART_FPC_CLIENT_RX_TIMEOUT_MS 200 + # define UART_USB_CLIENT_RX_TIMEOUT_MS 20 + # define UART_NET_CLIENT_RX_TIMEOUT_MS 500 + # define UART_TCP_LOCAL_CLIENT_RX_TIMEOUT_MS 40 + # define UART_UDP_LOCAL_CLIENT_RX_TIMEOUT_MS 20 This goes to `uart_posix.c` `timeval` struct and `uart_win32.c` `serial_port_windows` struct @@ -342,7 +344,7 @@ and `uart_win32.c` `serial_port_windows` struct It starts at UART_FPC_CLIENT_RX_TIMEOUT_MS and once we detect we're working over USB it's reduced to UART_USB_CLIENT_RX_TIMEOUT_MS. - +The timeout is configurable by the `hw timeout` command (since v4.17140). Add automatically some communication delay in the `WaitForResponseTimeout` & `dl_it` timeouts. Only when using FPC, timeout = 2* empirically measured delay (FTDI cable). diff --git a/doc/termux_notes.md b/doc/termux_notes.md index 852c3cdc1..c4ab7fa9b 100644 --- a/doc/termux_notes.md +++ b/doc/termux_notes.md @@ -15,12 +15,13 @@ * [ Flashing the kernel ](#flashing-the-kernel) * [ Testing ](#testing) * [ Troubleshooting ](#troubleshooting) - * [ TCP bridge method ](#tcp-bridge-method) + * [ TCP/UDP bridge method ](#tcpudp-bridge-method) * [ USB connection ](#usb-connection) * [ USB-UART bridge application ](#usb-uart-bridge-application) * [ Bluetooth connection ](#bluetooth-connection) * [ BT-UART bridge application ](#bt-uart-bridge-application) * [ TCP connection ](#tcp-connection) + * [ UDP connection ](#udp-connection) * [Troubleshooting](#troubleshooting-1) * [BTADDON Missing in Firmware of PM3](#btaddon-missing-in-firmware-of-pm3) * [Compiling and Flashing a Proxmark3 Firmware from non-root Android](#compiling-and-flashing-a-proxmark3-firmware-from-non-root-android) @@ -125,16 +126,20 @@ Everything should work just like if it was your PC! - `dmesg | grep usb` - useful debug info - `/proc/config.gz` - contains your kernel's build configuration. Look for `CONFIG_USB_ACM`, which should be enabled -## TCP bridge method +## TCP/UDP bridge method ^[Top](#top) Termux doesn't come with usb serial neither bluetooth serial drivers. -However, it is fully integrated with phone's network, so we need to talk to the proxmark using serial to tcp sockets (carried out by android apps). +However, it is fully integrated with phone's network, so we need to talk to the proxmark using serial to TCP/UDP sockets (carried out by other android apps). + +``` +|Client in Termux| <--TCP/UDP--> |Bridge App| <--USB/Bluetooth--> |Proxmark3| +``` ### USB connection ^[Top](#top) -#### USB-UART Bridge Application +#### USB-UART Bridge Application for TCP to USB bridging ^[Top](#top) Install [this free TCPUART app](https://play.google.com/store/apps/details?id=com.hardcodedjoy.tcpuart) on the Play Store @@ -153,7 +158,7 @@ It is possible to record the config as autostart, cf 'Settings' -> 'Autostart se ### Bluetooth connection ^[Top](#top) -#### BT-UART Bridge Application +#### BT-UART Bridge Application for TCP to BT bridging ^[Top](#top) Install [this free app](https://play.google.com/store/apps/details?id=masar.bb) or [the paid version](https://play.google.com/store/apps/details?id=masar.bluetoothbridge.pro) (which includes usb bridge) @@ -175,6 +180,42 @@ Alternatively, if you have made the client in the git repo: ``` ./client/proxmark3 tcp:localhost: ``` +If the last colon and the chosen port are missing, the client will use `18888` as the default port. + +### UDP connection +^[Top](#top) + +Start a new session, then: +``` +proxmark3 udp:localhost: +``` +Alternatively, if you have made the client in the git repo: +``` +./client/proxmark3 udp:localhost: +``` +If the last colon and the chosen port are missing, the client will use `18888` as the default port. + +You can also specify the outbound port for UDP connections, which might be required for some UDP to USB/BT bridge app as the target port of it. +The format is +``` +proxmark3 udp:localhost:,bind=: +``` +Some examples: +``` +# The bridge app listens on Port 12345, and the client listens on Port 12355 +proxmark3 udp:localhost:12345,bind=:12355 + +# 127.0.0.1 is also a valid local address +proxmark3 udp:127.0.0.1:12345,bind=:12355 + +# The bridge app listens on the default port 18888, and the client listens on Port 12355 +proxmark3 udp:127.0.0.1,bind=:12355 + +# OutboundPort is randomly picked by the system, which requires the "UDP server" mode for the bridge app +proxmark3 udp:localhost:12345 +``` + + ### Troubleshooting ^[Top](#top) From 70422937f228c7536b6139a498962a5fb2bf8a29 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Wed, 25 Oct 2023 17:59:07 +0200 Subject: [PATCH 147/278] Partial implementation of NTAG424 commands Noteworthy stuff that's missing: * Encrypted read/write to file. * Handling of CC and Proprietary file Stuff that works: * Read/write file * Get/change file settings * Change auth keys * Configuring SDM/SUN feature --- client/src/cmdhfntag424.c | 1337 +++++++++++++++++++++++++++++-- client/src/pm3line_vocabulary.h | 9 +- 2 files changed, 1270 insertions(+), 76 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index b3b6c47c7..725d2cdc3 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -20,13 +20,16 @@ #include #include "cmdparser.h" #include "commonutil.h" +#include "comms.h" #include "protocols.h" #include "cliparser.h" #include "cmdmain.h" #include "fileutils.h" // saveFile #include "crypto/libpcrypto.h" // aes_decode #include "cmac.h" - +#include "cmdhf14a.h" +#include "util.h" +#include "crc32.h" #define NTAG424_MAX_BYTES 412 @@ -79,83 +82,679 @@ typedef struct sdm_picc_s { uint32_t cnt_int; } sdm_picc_t; -static int sdm_generator(void) { +// -------------- Encryption structs --------------------------- +typedef struct { + uint8_t ti[4]; + uint8_t rnd_a[16]; + uint8_t pd_cap2[6]; + uint8_t pcd_cap2[6]; +} ntag424_ev2_response_t; - // NXP Secure Dynamic Messaging (SDM) with Secure Unique NFC message (SUN) - // Where do they come up with these names? - // - // ref: - // https://www.nxp.com/docs/en/application-note/AN12196.pdf +typedef struct { + uint16_t command_counter; + uint8_t ti[4]; + uint8_t encryption[16]; + uint8_t mac[16]; +} ntag424_session_keys_t; - // SMD / CMAC - uint8_t iv[16] = {0}; - uint8_t aeskey[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - // uint8_t enc_txt[16] = {0xEF, 0x96, 0x3F, 0xF7, 0x82, 0x86, 0x58, 0xA5, 0x99, 0xF3, 0x04, 0x15, 0x10, 0x67, 0x1E, 0x88}; - uint8_t enc_txt[16] = {0xe6, 0x45, 0xb6, 0x15, 0x4e, 0x8f, 0x32, 0x7d, 0xfb, 0xab, 0x93, 0x4d, 0x4c, 0x66, 0x46, 0x14}; - uint8_t dec_txt[16] = {0}; +// -------------- File settings structs ------------------------- +#define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) - aes_decode(iv, aeskey, enc_txt, dec_txt, sizeof(enc_txt)); +#define FILE_SETTINGS_SDM_OPTIONS_UID (1 << 7) +#define FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER (1 << 6) +#define FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER_LIMIT (1 << 5) +#define FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA (1 << 4) +// RFU stuff... +#define FILE_SETTINGS_SDM_OPTIONS_ENCODING_MODE_ASCII (1 << 0) - PrintAndLogEx(INFO, "Ntag424 SUN message validation and encryption"); - PrintAndLogEx(INFO, "Enc text... %s", sprint_hex(enc_txt, sizeof(enc_txt))); - PrintAndLogEx(INFO, "Dec text... %s", sprint_hex(dec_txt, sizeof(dec_txt))); +typedef struct { + uint8_t sdm_options; + uint8_t sdm_access[2]; + uint8_t offset[8][3]; +} ntag424_file_sdm_settings_t; - sdm_picc_t o = {0}; - o.tag = dec_txt[0]; - memcpy(o.uid, dec_txt + 1, sizeof(o.uid)); - memcpy(o.cnt, dec_txt + 8, sizeof(o.cnt)); - o.cnt_int = MemLeToUint3byte(o.cnt); +typedef struct { + uint8_t type; + uint8_t options; + uint8_t access[2]; + uint8_t size[3]; + ntag424_file_sdm_settings_t optional_sdm_settings; +} ntag424_file_settings_t; - PrintAndLogEx(INFO, "Decypted text"); - PrintAndLogEx(INFO, " Tag........... 0x%02X", o.tag); - PrintAndLogEx(INFO, " UID........... %s", sprint_hex(o.uid, sizeof(o.uid))); - PrintAndLogEx(INFO, " Count bytes... %s", sprint_hex(o.cnt, sizeof(o.cnt))); - PrintAndLogEx(INFO, " Count value... 0x%X ( %u )", o.cnt_int, o.cnt_int); +#define SETTINGS_WITHOUT_OFFSETS_SIZE (1+1+2+3+1+2) - // SV2 as per NXP DS465430 (NT4H2421Gx Data sheet) - uint8_t sv2data[16] = {0x3C, 0xC3, 0x00, 0x01, 0x00, 0x80}; +// A different struct is used when actually writing the settings back, +// since we obviously can't change the size or type of a static file. +typedef struct { + uint8_t options; + uint8_t access[2]; + ntag424_file_sdm_settings_t optional_sdm_settings; +} file_settings_write_t; - memcpy(sv2data + 6, o.uid, sizeof(o.uid)); - memcpy(sv2data + 6 + sizeof(o.uid), o.cnt, sizeof(o.cnt)); +// Currently unused functions, commented out due to -Wunused-function +/*static void ntag424_file_settings_set_access_rights(ntag424_file_settings_t *settings, + uint8_t read_write_key, uint8_t change_key, + uint8_t read_key, uint8_t write_key) - uint8_t cmackey[16] = {0}; - mbedtls_aes_cmac_prf_128(aeskey, 16, sv2data, sizeof(sv2data), cmackey); +{ + settings->access[0] = read_write_key << 4 | change_key; + settings->access[1] = read_key << 4 | write_key; +}*/ - uint8_t zero[16] = {0}; - uint8_t full_cmac[16] = {0}; - mbedtls_aes_cmac_prf_128(cmackey, 16, zero, 0, full_cmac); +// Currently unused functions, commented out due to -Wunused-function +/*static void ntag424_file_settings_set_sdm_access_rights(ntag424_file_settings_t *settings, + uint8_t sdm_meta_read, uint8_t sdm_file_read, + uint8_t rfu, uint8_t sdm_ctr_ret) +{ + settings->optional_sdm_settings.sdm_access[1] = sdm_meta_read << 4 | sdm_file_read; + settings->optional_sdm_settings.sdm_access[0] = rfu << 4 | sdm_ctr_ret; +}*/ - uint8_t cmac[8] = {0}; - for (int i = 0, j = 1; i < 8; ++i, j += 2) { - cmac[i] = full_cmac[j]; + +static uint8_t ntag424_file_settings_get_sdm_meta_read(const ntag424_file_settings_t *settings) { + return settings->optional_sdm_settings.sdm_access[1] >> 4; +} + +static uint8_t ntag424_file_settings_get_sdm_file_read(const ntag424_file_settings_t *settings) { + return settings->optional_sdm_settings.sdm_access[1] & 0xf; +} + +// Currently unused functions, commented out due to -Wunused-function +/*static uint8_t ntag424_file_settings_get_sdm_rfu(const ntag424_file_settings_t *settings) { + return settings->optional_sdm_settings.sdm_access[0] >> 4; +} + +static uint8_t ntag424_file_settings_get_sdm_ctr_ret(const ntag424_file_settings_t *settings) { + return settings->optional_sdm_settings.sdm_access[0] & 4; +}*/ + +// Calculate the actual size of a file settings struct. A variable number of data is attached +// at the end depending on settings. +static int ntag424_calc_file_settings_size(const ntag424_file_settings_t *settings) { + int size = 7; + + if(settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) { + size += 3; // sdm_options and sdm_access must be present + + if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_UID && + ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) + { + size += 3; // UIDOffset + } + + if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER && + ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) + { + size += 3; // SDMReadCtrOffset + } + + if(ntag424_file_settings_get_sdm_meta_read(settings) <= 0x04) { + size += 3; // PICCDataOffset + } + + if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { + size += 3; // SDMMacInputOffset + } + + if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f && + settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA) + { + size += 3; // SDMEncOffset + size += 3; // SDMEncLength + } + + if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { + // Warning, this value has different offsets depending on + // FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA + size += 3; // SDMMacOffset + } + + if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER_LIMIT) + { + size += 3; // SDMReadCtrLimit + } } - //uint8_t veri[] = {0x94, 0xee, 0xd9, 0xee, 0x65, 0x33, 0x70, 0x86}; - uint8_t veri[] = {0x8b, 0xa1, 0xfb, 0x47, 0x0d, 0x63, 0x39, 0xe8 }; - uint8_t is_ok = (memcmp(cmac, veri, 8) == 0); + return size; +} + +static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *settings_out) { + const size_t RESPONSE_LENGTH = sizeof(ntag424_file_settings_t) + 2; + uint8_t cmd[] = { 0x90, 0xF5, 0x00, 0x00, 0x01, fileno, 0x00}; + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; - PrintAndLogEx(INFO, "SDM cmac... %s ( %s )", - sprint_hex(cmac, sizeof(cmac)), - (is_ok) ? _GREEN_("ok") : _RED_("fail") - ); + res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen < 9) { + PrintAndLogEx(ERR, "Incorrect response asdaslength: %d", outlen); + return PM3_ESOFT; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to get file settings"); + return PM3_ESOFT; + } + + if(settings_out) + { + memcpy(settings_out, resp, outlen-2); + } return PM3_SUCCESS; } -static int CmdHF_ntag424_sdm(const char *Cmd) { - CLIParserContext *ctx; - CLIParserInit(&ctx, "hf ntag424 sdm", - "Validate a SDM message", - "hf ntag424 sdm" - ); - void *argtable[] = { - arg_param_begin, - arg_param_end +// Write file settings is done with full communication mode. This can probably be broken out +// and used for read/write of file when full communication mode is needed. +static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t *settings, ntag424_session_keys_t *session_keys) { + + // ------- Convert file settings to the format for writing + file_settings_write_t write_settings = { + .options = settings->options, + .access[0] = settings->access[0], + .access[1] = settings->access[1], + .optional_sdm_settings = settings->optional_sdm_settings, }; - CLIExecWithReturn(ctx, Cmd, argtable, false); - CLIParserFree(ctx); - return sdm_generator(); + + // ------- Calculate IV + uint8_t iv_clear[] = { 0xa5, 0x5a, + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + uint8_t zero_iv[16] = {0}; + uint8_t ivc[16] = {0}; + aes_encode(zero_iv, session_keys->encryption, iv_clear, ivc, 16); + + // ------- Encrypt file settings + uint8_t padded_cmddata_buffer[256] = {0}; + uint8_t encrypted_cmddata[256] = {0}; + size_t settings_size = ntag424_calc_file_settings_size(settings) - 4; // This is weird, but since the write settings are the same as + // the settings read out, but minus file type and file size, we subtract 4 here. + + size_t total_size = settings_size + 16 - (settings_size % 16); // pad up to 16 byte blocks + memcpy(padded_cmddata_buffer, (void*)&write_settings, settings_size); + if(total_size > settings_size) { + padded_cmddata_buffer[settings_size] = 0x80; + } + aes_encode(ivc, session_keys->encryption, padded_cmddata_buffer, encrypted_cmddata, total_size); + + // ------- Calculate MAC + uint8_t mac_input_header[] = { 0x5f, + (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + fileno // CmdHeader + }; + + uint8_t mac_input[256] = {0}; + memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); + memcpy(&mac_input[sizeof(mac_input_header)], encrypted_cmddata, total_size); + uint8_t mac[16] = {0}; + mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + total_size, mac); + uint8_t mact[8] = { mac[1], mac[3], mac[5], mac[7], mac[9], mac[11], mac[13], mac[15] }; + + // ------- Assemble the actual command + uint8_t lc = 1 + total_size + 8; // CmdHeader + size + mac*/ + + uint8_t cmd_header[] = { + 0x90, 0x5f, 0x00, 0x00, + lc, + fileno + }; + + uint8_t cmd[256] = {0}; + + memcpy(cmd, cmd_header, sizeof(cmd_header)); + memcpy(&cmd[sizeof(cmd_header)], encrypted_cmddata, total_size); + memcpy(&cmd[sizeof(cmd_header) + total_size], mact, sizeof(mact)); + cmd[sizeof(cmd_header) + total_size + sizeof(mact)] = 0x00; + + size_t apdu_size = sizeof(cmd_header) + total_size + sizeof(mact) + 1; + + // ------- Actually send the APDU + const size_t RESPONSE_LENGTH = 8 + 2; + int outlen; + uint8_t resp[RESPONSE_LENGTH]; + int res = ExchangeAPDU14a(cmd, apdu_size, false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen != RESPONSE_LENGTH) { + PrintAndLogEx(ERR, "Incorrect response asdaslength: %d, %02X%02X", outlen, resp[outlen-2], resp[outlen-1]); + return PM3_ESOFT; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to get file settings"); + return PM3_ESOFT; + } + + session_keys->command_counter++; // Should this be incremented only on success? + + return PM3_SUCCESS; +} + +static void ntag424_print_file_settings(uint8_t fileno, const ntag424_file_settings_t *settings) { + + int num_offsets = (ntag424_calc_file_settings_size(settings) - SETTINGS_WITHOUT_OFFSETS_SIZE) / 3; + + PrintAndLogEx(SUCCESS, "--- " _CYAN_("File %d settings:") , fileno); + + PrintAndLogEx(SUCCESS, " type: " _GREEN_("%02X"), settings->type); + PrintAndLogEx(SUCCESS, " options: " _GREEN_("%02X"), settings->options); + PrintAndLogEx(SUCCESS, " access: " _GREEN_("%02X%02X (RW, C, R, W)"), settings->access[0], settings->access[1]); + PrintAndLogEx(SUCCESS, " size: " _GREEN_("%02X%02X%02X"), settings->size[2], settings->size[1], settings->size[0]); + + if(settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) + { + PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM settings: ")); + PrintAndLogEx(SUCCESS, " options: " _GREEN_("%02X"), settings->optional_sdm_settings.sdm_options); + PrintAndLogEx(SUCCESS, " sdm access: " _GREEN_("%02X%02X"), settings->optional_sdm_settings.sdm_access[0], settings->optional_sdm_settings.sdm_access[1]); + + if(num_offsets > 0) + { + PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM offsets: ")); + for(int i = 0; i < num_offsets; i++) + { + PrintAndLogEx(SUCCESS, " offset %d: %02X%02X%02X", i, + settings->optional_sdm_settings.offset[i][2], + settings->optional_sdm_settings.offset[i][1], + settings->optional_sdm_settings.offset[i][0]); + } + } + } + + + // Add printing of variable number of offsets here... +} + +// NTAG424 only have one static application, so we select it here +static int ntag424_select_application(void) { + const size_t RESPONSE_LENGTH = 2; + uint8_t cmd[] = {0x00, 0xA4, 0x04, 0x0C, 0x07, 0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01, 0x00 }; + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; + + res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH-2] != 0x90 || resp[RESPONSE_LENGTH-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to select application"); + return PM3_ESOFT; + } + + return PM3_SUCCESS; +} + +static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) +{ + const size_t RESPONSE_LENGTH = 16 + 2; + uint8_t cmd[] = {0x90, 0x71, 0x00, 0x00, 0x02, keyno, 0x00, 0x00}; + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; + + res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH-2] != 0x91 || resp[RESPONSE_LENGTH-1] != 0xAF) + { + PrintAndLogEx(ERR, "Failed to get RndB (invalid key number?)"); + return PM3_ESOFT; + } + + uint8_t iv[16] = {0}; + aes_decode(iv, key, resp, out, 16); + + return PM3_SUCCESS; +} + +static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response) +{ + uint8_t cmd_header[] = { 0x90, 0xAF, 0x00, 0x00, 0x20 }; + + uint8_t cmd[sizeof(cmd_header) + 32 + 1] = {0}; + + memcpy(cmd, cmd_header, sizeof(cmd_header)); + memcpy(&cmd[sizeof(cmd_header)], challenge, 32); + + const size_t RESPONSE_LENGTH = 256; + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; + + res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + return res; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Challenge failed: wrong key?"); + return PM3_ESOFT; + } + + memcpy(response, resp, outlen-2); + + return PM3_SUCCESS; +} + +// Authenticate against a key number and optionally get session keys out +static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_session_keys_t *session_keys_out) +{ + // -------- Get first challenge from card + uint8_t rnd_b_clear[16] = {0}; + + int res = ntag424_auth_first_step(keyno, key, rnd_b_clear); + if(res != PM3_SUCCESS) + { + return res; + } + + // -------- Concatenate RndA and RndB and encrypt it with the key + uint8_t concat_clear[32] = {0}; + uint8_t concat_enc[32] = {0}; + // This should of course be completely random, if we cared + // about security + uint8_t rnd_a_clear[16] = { + 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, + 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf + }; + + uint8_t iv[16] = {0}; + memcpy(&concat_clear[16], &rnd_b_clear[1], 15); + concat_clear[31] = rnd_b_clear[0]; + memcpy(concat_clear, rnd_a_clear, 16); + + aes_encode(iv, key, concat_clear, concat_enc, 32); + + // -------- Do second step with our concatenated encrypted RndA || RndB + uint8_t resp[4+16+6+6]; + res = ntag424_auth_second_step(concat_enc, resp); + if(res != PM3_SUCCESS) + { + return res; + } + + ntag424_ev2_response_t response; + aes_decode(iv, key, resp, (uint8_t*)&response, sizeof(ntag424_ev2_response_t)); + + // -------- Verify that the response we got contains the RndA that we supplied (rotated one byte) + if(memcmp(response.rnd_a, &rnd_a_clear[1], 15) != 0 || + response.rnd_a[15] != rnd_a_clear[0]) + { + PrintAndLogEx(ERR, "Incorrect response from card\n" + "expected: %s\n" + "got: %s" + , sprint_hex(rnd_a_clear, 16), + sprint_hex(response.rnd_a, 16)); + return PM3_ESOFT; + } + + // -------- Optionally calculate session keys + if(session_keys_out) + { + memset(session_keys_out, 0, sizeof(ntag424_session_keys_t)); + memcpy(session_keys_out->ti, response.ti, sizeof(response.ti)); + + // SV 1 = [0xA5][0x5A][0x00][0x01] + // [0x00][0x80][RndA[15:14] || + // [ (RndA[13:8] ⊕ RndB[15:10]) ] || + // [RndB[9:0] || RndA[7:0] + + uint8_t sv1[] = { 0xa5, 0x5a, 0x00, 0x01, 0x00, 0x80, rnd_a_clear[0], rnd_a_clear[1], + rnd_a_clear[2] ^ rnd_b_clear[0], + rnd_a_clear[3] ^ rnd_b_clear[1], + rnd_a_clear[4] ^ rnd_b_clear[2], + rnd_a_clear[5] ^ rnd_b_clear[3], + rnd_a_clear[6] ^ rnd_b_clear[4], + rnd_a_clear[7] ^ rnd_b_clear[5], + rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], + rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], + rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], + rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] + }; + + // SV 2 = [0x5A][0xA5][0x00][0x01] + // [0x00][0x80][RndA[15:14] || + // [ (RndA[13:8] ⊕ RndB[15:10]) ] || + // [RndB[9:0] || RndA[7:0] + + uint8_t sv2[] = { 0x5a, 0xa5, 0x00, 0x01, 0x00, 0x80, rnd_a_clear[0], rnd_a_clear[1], + rnd_a_clear[2] ^ rnd_b_clear[0], + rnd_a_clear[3] ^ rnd_b_clear[1], + rnd_a_clear[4] ^ rnd_b_clear[2], + rnd_a_clear[5] ^ rnd_b_clear[3], + rnd_a_clear[6] ^ rnd_b_clear[4], + rnd_a_clear[7] ^ rnd_b_clear[5], + rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], + rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], + rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], + rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] + }; + + mbedtls_aes_cmac_prf_128(key, 16, sv1, sizeof(sv1), session_keys_out->encryption); + mbedtls_aes_cmac_prf_128(key, 16, sv2, sizeof(sv2), session_keys_out->mac); + } + + return PM3_SUCCESS; +} + +#define MAX_WRITE_APDU 248 + +// Write file to card. Only supports plain communications mode. Authentication must be done +// first unless file has free write access. +static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in) { + const size_t RESPONSE_LENGTH = 2; + size_t remainder = 0; + + if(num_bytes > MAX_WRITE_APDU) + { + remainder = num_bytes - MAX_WRITE_APDU; + num_bytes = MAX_WRITE_APDU; + } + + // 248 + + uint8_t cmd_header[] = { 0x90, 0x8d, 0x00, 0x00, 0x07 + num_bytes, fileno, + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size + }; + + uint8_t cmd[512] = {0}; + + memcpy(cmd, cmd_header, sizeof(cmd_header)); + memcpy(&cmd[sizeof(cmd_header)], in, num_bytes); + + size_t total_size = sizeof(cmd_header) + num_bytes + 1; //(Le) + + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; + + res = ExchangeAPDU14a(cmd, total_size, false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen != RESPONSE_LENGTH) { + PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); + return PM3_ESOFT; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to write file"); + return PM3_ESOFT; + } + + if(remainder > 0) + { + return ntag424_write_file(fileno, offset + num_bytes, remainder, &in[num_bytes]); + } + + return PM3_SUCCESS; +} + +// Read file from card. Only supports plain communications mode. Authentication must be done +// first unless file has free read access. +static int ntag424_read_file(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out) { + const size_t RESPONSE_LENGTH = num_bytes + 2; + + uint8_t cmd[] = { 0x90, 0xad, 0x00, 0x00, 0x07, fileno, + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00, //size + 0x00 }; + uint8_t resp[RESPONSE_LENGTH]; + int outlen = 0; + int res; + + res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen != RESPONSE_LENGTH) { + PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); + return PM3_ESOFT; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to read file"); + return PM3_ESOFT; + } + + memcpy(out, resp, num_bytes); + return PM3_SUCCESS; +} + +static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, uint8_t version, ntag424_session_keys_t *session_keys) { + // -------- Calculate xor and crc + uint8_t key[16] = {0}; + uint8_t crc[4] = {0}; + if(keyno != 0) + { + for(int i = 0; i < 16; i++) + { + key[i] = old_key[i] ^ new_key[i]; + } + crc32_ex(new_key, 16, crc); + } + else + { + memcpy(key, new_key, 16); + } + + + // ------- Calculate IV + uint8_t iv_clear[] = { 0xa5, 0x5a, + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + uint8_t zero_iv[16] = {0}; + uint8_t ive[16] = {0}; + aes_encode(zero_iv, session_keys->encryption, iv_clear, ive, 16); + + // ------- Calculate KeyData + uint8_t keydata[32] = {0}; + memcpy(keydata, key, 16); + keydata[16] = version; + if(keyno != 0) + { + memcpy(&keydata[17], crc, 4); + keydata[21] = 0x80; + } + else + { + keydata[17] = 0x80; + } + + uint8_t enc_keydata[32] = {0}; + aes_encode(ive, session_keys->encryption, keydata, enc_keydata, 32); + + // -------- Calculate MAC + uint8_t mac_input_header[] = { 0xC4, + (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + keyno, + }; + + uint8_t mac_input[256] = {0}; + memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); + memcpy(&mac_input[sizeof(mac_input_header)], enc_keydata, 32); + uint8_t mac[16] = {0}; + mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + 32, mac); + uint8_t mact[8] = { mac[1], mac[3], mac[5], mac[7], mac[9], mac[11], mac[13], mac[15] }; + + + // ------- Assemble APDU + uint8_t cmd_header[] = { + 0x90, 0xC4, 0x00, 0x00, 0x29, keyno + }; + + uint8_t cmd[512] = {0}; + memcpy(cmd, cmd_header, sizeof(cmd_header)); + memcpy(&cmd[sizeof(cmd_header)], enc_keydata, 32); + memcpy(&cmd[sizeof(cmd_header) + 32], mact, 8); + int apdu_size = sizeof(cmd_header) + 32 + 8 + 1; + + + // ------- Actually send the APDU + const size_t RESPONSE_LENGTH = 8 + 2; + int outlen; + uint8_t resp[RESPONSE_LENGTH]; + int res = ExchangeAPDU14a(cmd, apdu_size, false, true, resp, RESPONSE_LENGTH, &outlen); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to send apdu"); + return res; + } + + if(outlen < 2) { + PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); + return PM3_ESOFT; + } + + if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) + { + PrintAndLogEx(ERR, "Failed to get file settings"); + return PM3_ESOFT; + } + + session_keys->command_counter++; // Should this be incremented only on success? + + return PM3_SUCCESS; + } static int CmdHF_ntag424_info(const char *Cmd) { @@ -169,27 +768,613 @@ static int CmdHF_ntag424_info(const char *Cmd) { arg_param_begin, arg_param_end }; - CLIExecWithReturn(ctx, Cmd, argtable, false); + CLIExecWithReturn(ctx, Cmd, argtable, true); CLIParserFree(ctx); PrintAndLogEx(INFO, "not implemented yet"); PrintAndLogEx(INFO, "Feel free to contribute!"); + return PM3_SUCCESS; +} +static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_index, int key_index, int *keyno, uint8_t *key_out) +{ + uint8_t key[16]; + int keylen = 16; + if(keyno) + { + *keyno = arg_get_int(ctx, key_no_index); + } + CLIGetHexWithReturn(ctx, key_index, key, &keylen); - // has hardcoded application and three files. + if(keylen != 16) + { + PrintAndLogEx(ERR, "Key must be 16 bytes"); + return PM3_ESOFT; + } + memcpy(key_out, key, 16); + + return PM3_SUCCESS; +} - /* - // Check if the tag reponds to APDUs. - PrintAndLogEx(INFO, "Sending a test APDU (select file command) to check if the tag is responding to APDU"); - param_gethex_to_eol("00a404000aa000000440000101000100", 0, aSELECT_AID, sizeof(aSELECT_AID), &aSELECT_AID_n); - int res = ExchangeAPDU14a(aSELECT_AID, aSELECT_AID_n, true, false, response, sizeof(response), &response_n); - if (res != PM3_SUCCESS) { - PrintAndLogEx(FAILED, "Tag did not respond to a test APDU (select file command). Aborting..."); +static int CmdHF_ntag424_auth(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 auth", + "Authenticate with selected key against NTAG424.", + "hf ntag424 auth -n 0 -k 00000000000000000000000000000000"); + + void *argtable[] = { + arg_param_begin, + arg_int1("n", "keyno", "", "Key number"), + arg_str1("k", "key", "", "Key for authenticate (HEX 16 bytes)"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + int keyno; + uint8_t key[16] = {0}; + + if(ntag424_cli_get_auth_information(ctx, 1, 2, &keyno, key) != PM3_SUCCESS) + { + CLIParserFree(ctx); + return PM3_ESOFT; + } + + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to select card"); + DropField(); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + res = ntag424_authenticate_ev2_first(keyno, key, NULL); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + } + else + { + PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + } + + DropField(); + + return res; +} + +// Read can only read files with plain communication mode! +static int CmdHF_ntag424_read(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 read", + "Read and print data from file on NTAG424 tag. Will authenticate if key information is provided.", + "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256"); + + void *argtable[] = { + arg_param_begin, + arg_int1("f", "fileno", "", "File number (1-3), (default 2)"), + arg_int0("n", "keyno", "", "Key number"), + arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), + arg_int0("o", "offset", "", "Offset to read in file (default 0)"), + arg_int1("l", "length", "", "Number of bytes to read"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + int keyno; + uint8_t key[16] = {0}; + int auth = 1; + + int fileno = arg_get_int(ctx, 1); + + if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) + { + PrintAndLogEx(INFO, "Reading unauthenticated"); + auth = 0; + } + else + { + PrintAndLogEx(INFO, "Reading authenticated"); + } + + int offset = arg_get_int_def(ctx, 4, 0); + int read_length = arg_get_int(ctx, 5); + + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to select card"); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + if(auth) + { + res = ntag424_authenticate_ev2_first(keyno, key, NULL); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + DropField(); return res; } - */ + else + { + PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + } + } + uint8_t data[512]; + + res = ntag424_read_file(fileno, offset, read_length, data); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + PrintAndLogEx(SUCCESS, " -------- Read file %d contents ------------ ", fileno); + print_hex_break(data, read_length, 16); + + DropField(); + + return res; +} + +static int CmdHF_ntag424_write(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 write", + "Write data to file on NTAG424 tag. Will authenticate if key information is provided.", + "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788"); + + void *argtable[] = { + arg_param_begin, + arg_int1("f", "fileno", "", "File number (1-3), (default 2)"), + arg_int0("n", "keyno", "", "Key number"), + arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), + arg_int0("o", "offset", "", "Offset to write in file (default 0)"), + arg_str1("d", "data", "", "Data to write"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + int keyno; + uint8_t key[16] = {0}; + int auth = 1; + + int fileno = arg_get_int(ctx, 1); + + if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) + { + PrintAndLogEx(INFO, "Will write unauthenticated"); + auth = 0; + } + else + { + PrintAndLogEx(INFO, "Will write authenticated"); + } + + int offset = arg_get_int_def(ctx, 4, 0); + + uint8_t data[512] = {0}; + int datalen = 512; + CLIGetHexWithReturn(ctx, 5, data, &datalen); + + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to select card"); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + if(auth) + { + res = ntag424_authenticate_ev2_first(keyno, key, NULL); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + DropField(); + return res; + } + else + { + PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + } + } + + res = ntag424_write_file(fileno, offset, datalen, data); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + PrintAndLogEx(SUCCESS, "Wrote %d bytes", datalen); + + DropField(); + + return res; +} + +static int CmdHF_ntag424_getfilesettings(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 getfilesettings", + "Read and print file settings for file", + "hf ntag424 getfilesettings -f 2"); + + void *argtable[] = { + arg_param_begin, + arg_int1("f", "file", "", "File number"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + int fileno = arg_get_int(ctx, 1); + + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to select card"); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + ntag424_file_settings_t settings; + res = ntag424_read_file_settings(fileno, &settings); + DropField(); + if(res != PM3_SUCCESS) + { + return res; + } + + ntag424_print_file_settings(fileno, &settings); + + + return res; +} + +static int CmdHF_ntag424_changefilesettings(const char *Cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 changefilesettings", + "Updates file settings for file, must be authenticated.\n" + "This is a short explanation of the settings. See AN12196 for more information:\n" + "options: byte with bit flags\n" + " Bit: Setting:\n" + " 6 Enable SDM and mirroring\n\n" + + "access: two byte access rights.\n" + "Each nibble is a key number, or E for free access.\n" + "Order is key for readwrite, change, read and write\n\n" + + "sdmoptions: byte with bit flags\n" + " Bit: Setting:\n" + " 0 ASCII encoding\n" + " 4 SDMEncFileData\n" + " 5 SDMReadCtrLimit\n" + " 6 SDMReadCtr\n" + " 7 SDMOptionsUID\n\n" + + "sdmaccess: two byte access rights.\n" + "Each nibble is a key, or E for plain mirror and F for no mirroring\n" + "Order is SDMMetaRead, SDMFileRead, RFU and SDMCtrRet\n\n" + + "offset: A three byte offset to the data to be mirrored to/from. Can be specified multiple times.\n\n" + + "Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information.\n" + "You must also start with offset1, then offset2, up to the number of offsets you want to write", + + + "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --offset1 000020 --offset2 000043 --offset3 000043"); + + void *argtable[] = { + arg_param_begin, + arg_int1("f", "file", "", "File number"), + arg_int1("n", "keyno", "", "Key number"), + arg_str1("k", "key", "", "Key for authentication (HEX 16 bytes)"), + arg_str0("o", "options", "", "File options byte (HEX 1 byte)"), + arg_str0("a", "access", "", "File access settings (HEX 2 bytes)"), + arg_str0("s", "sdmoptions", "", "SDM options (HEX 1 byte)"), + arg_str0("c", "sdmaccess", "", "SDM access settings (HEX 2 bytes)"), + arg_str0(NULL, "offset1", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset2", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset3", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset4", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset5", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset6", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "offset7", "", "SDM offset (HEX 3 bytes)"), + // Sorry, couldn't figure out how to work with arg_strn... + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + int fileno = arg_get_int(ctx, 1); + + int keyno; + uint8_t key[16] = {0}; + + uint8_t has_options = 0; + uint8_t options[1]; + uint8_t has_access = 0; + uint8_t access[2]; + uint8_t has_sdmoptions = 0; + uint8_t sdmoptions[1]; + uint8_t has_sdmaccess = 0; + uint8_t sdmaccess[2]; + uint8_t num_offsets = 0; + uint8_t offsets[8][3]; + + + if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Could not get key settings"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + int len = 1; + if(arg_get_str(ctx,4)->count == 1) + { + has_options = 1; + CLIGetHexWithReturn(ctx, 4, options, &len); + if(len != 1) + { + PrintAndLogEx(ERR, "Options must be 1 byte"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + len = 2; + if(arg_get_str(ctx,5)->count == 1) + { + has_access = 1; + CLIGetHexWithReturn(ctx, 5, access, &len); + if(len != 2) + { + PrintAndLogEx(ERR, "access must be 2 bytes"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + len = 1; + if(arg_get_str(ctx,6)->count == 1) + { + has_sdmoptions = 1; + CLIGetHexWithReturn(ctx, 6, sdmoptions, &len); + if(len != 1) + { + PrintAndLogEx(ERR, "SDM Options must be 1 byte"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + len = 2; + if(arg_get_str(ctx,7)->count == 1) + { + has_sdmaccess = 1; + CLIGetHexWithReturn(ctx, 7, sdmaccess, &len); + if(len != 2) + { + PrintAndLogEx(ERR, "SDM access must be 2 bytes"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + + for(int i = 0; i < 8; i++) + { + if(arg_get_str(ctx,8+i)->count == 1) + { + len = 3; + num_offsets++; + CLIGetHexWithReturn(ctx, 8+i, offsets[i], &len); + if(len != 3) + { + PrintAndLogEx(ERR, "Offset must be 3 bytes"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + else + { + break; + } + } + + + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to select card"); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + ntag424_file_settings_t settings; + res = ntag424_read_file_settings(fileno, &settings); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + ntag424_session_keys_t session = {0}; + res = ntag424_authenticate_ev2_first(keyno, key, &session); + if(res != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + DropField(); + return res; + } + + if(has_options) + { + settings.options = options[0]; + } + if(has_access) + { + memcpy(settings.access, access, 2); + } + if(has_sdmoptions) + { + settings.optional_sdm_settings.sdm_options = sdmoptions[0]; + } + if(has_sdmaccess) + { + memcpy(settings.optional_sdm_settings.sdm_access, sdmaccess, 2); + } + + for(int i = 0; i < num_offsets; i++) + { + settings.optional_sdm_settings.offset[i][2] = offsets[i][0]; + settings.optional_sdm_settings.offset[i][1] = offsets[i][1]; + settings.optional_sdm_settings.offset[i][0] = offsets[i][2]; + } + + if(ntag424_write_file_settings(fileno, &settings, &session) != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Failed to write settings"); + DropField(); + return PM3_ESOFT; + } + PrintAndLogEx(SUCCESS, "Wrote settings successfully"); + ntag424_print_file_settings(fileno, &settings); + + DropField(); + return res; +} + +static int CmdHF_ntag424_changekey(const char *Cmd) { + + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 changekey", + "Change a key.\n" + "Authentication key must currently be different to the one we want to change.\n", + "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1" + ); + void *argtable[] = { + arg_param_begin, + arg_int1("n", "keyno", "", "Key number to change"), + arg_str0(NULL, "oldkey", "", "Old key (only needed when changing key 1-4, HEX 16 bytes)"), + arg_str1(NULL, "newkey", "", "New key (HEX 16 bytes)"), + arg_str1(NULL, "key0", "", "Authentication key (must be key 0, HEX 16 bytes)"), + arg_int1("v", "version", "", "Version of the new key"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + uint8_t version = arg_get_int(ctx, 6); + int keyno = arg_get_int(ctx, 1); + uint8_t oldkey[16]; + uint8_t newkey[16]; + uint8_t authkey[16]; + + if(keyno != 0) + { + if(ntag424_cli_get_auth_information(ctx, 0, 2, NULL, oldkey) != PM3_SUCCESS) + { + + PrintAndLogEx(ERR, "Could not get keyno or old key"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + } + if(ntag424_cli_get_auth_information(ctx, 0, 3, NULL, newkey) != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Could not get new key"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + if(ntag424_cli_get_auth_information(ctx, 0, 4, NULL, authkey) != PM3_SUCCESS) + { + PrintAndLogEx(ERR, "Could not get authentication key"); + CLIParserFree(ctx); + return PM3_EINVARG; + } + CLIParserFree(ctx); + + int res = SelectCard14443A_4(false, true, NULL); + if (res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to select card"); + return res; + } + + res = ntag424_select_application(); + if(res != PM3_SUCCESS) + { + DropField(); + return res; + } + + ntag424_session_keys_t session = {0}; + res = ntag424_authenticate_ev2_first(0, authkey, &session); + if(res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to authenticate"); + return PM3_ESOFT; + } + else + { + PrintAndLogEx(SUCCESS, "Successfully authenticated"); + } + + res = ntag424_change_key(keyno, newkey, oldkey, version, &session); + if(res != PM3_SUCCESS) + { + DropField(); + PrintAndLogEx(ERR, "Failed to change key"); + DropField(); + return PM3_ESOFT; + } + else + { + PrintAndLogEx(SUCCESS, "Successfully changed key %d", keyno); + } + + DropField(); return PM3_SUCCESS; } @@ -197,12 +1382,16 @@ static int CmdHF_ntag424_info(const char *Cmd) { // Menu Stuff //------------------------------------ static command_t CommandTable[] = { - {"help", CmdHelp, AlwaysAvailable, "This help"}, - {"-----------", CmdHelp, IfPm3Iso14443a, "----------------------- " _CYAN_("operations") " -----------------------"}, - {"info", CmdHF_ntag424_info, IfPm3Iso14443a, "Tag information"}, -// {"ndefread", CmdHF_ntag424_sdm, IfPm3Iso14443a, "Prints NDEF records from card"}, - {"sdm", CmdHF_ntag424_sdm, IfPm3Iso14443a, "Prints NDEF records from card"}, - {"view", CmdHF_ntag424_view, AlwaysAvailable, "Display content from tag dump file"}, + {"help", CmdHelp, AlwaysAvailable, "This help"}, + {"-----------", CmdHelp, IfPm3Iso14443a, "----------------------- " _CYAN_("operations") " -----------------------"}, + {"info", CmdHF_ntag424_info, IfPm3Iso14443a, "Tag information (not implemented yet)"}, + {"view", CmdHF_ntag424_view, AlwaysAvailable, "Display content from tag dump file"}, + {"auth", CmdHF_ntag424_auth, IfPm3Iso14443a, "Test authentication with key"}, + {"read", CmdHF_ntag424_read, IfPm3Iso14443a, "Read file"}, + {"write", CmdHF_ntag424_write, IfPm3Iso14443a, "Write file"}, + {"getfilesettings", CmdHF_ntag424_getfilesettings, IfPm3Iso14443a, "Get file settings"}, + {"changefilesettings", CmdHF_ntag424_changefilesettings, IfPm3Iso14443a, "Change file settings"}, + {"changekey", CmdHF_ntag424_changekey, IfPm3Iso14443a, "Change key"}, {NULL, NULL, NULL, NULL} }; diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index cbc0632d7..e4fab934d 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -455,8 +455,13 @@ const static vocabulary_t vocabulary[] = { { 1, "hf mfdes test" }, { 1, "hf ntag424 help" }, { 0, "hf ntag424 info" }, - { 0, "hf ntag424 sdm" }, { 1, "hf ntag424 view" }, + { 0, "hf ntag424 auth" }, + { 0, "hf ntag424 read" }, + { 0, "hf ntag424 write" }, + { 0, "hf ntag424 getfilesettings" }, + { 0, "hf ntag424 changefilesettings" }, + { 0, "hf ntag424 changekey" }, { 1, "hf seos help" }, { 0, "hf seos info" }, { 1, "hf seos list" }, @@ -817,4 +822,4 @@ const static vocabulary_t vocabulary[] = { } #endif -#endif \ No newline at end of file +#endif From 011d1f6a4427412c18cb7f50ca86f2da21eb5d92 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Fri, 27 Oct 2023 06:52:30 +0200 Subject: [PATCH 148/278] Refactored MAC and IV calculations --- client/src/cmdhfntag424.c | 88 +++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 725d2cdc3..c076bdafb 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -251,6 +251,40 @@ static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *s return PM3_SUCCESS; } +static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { + uint8_t iv_clear[] = { 0xa5, 0x5a, + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + uint8_t zero_iv[16] = {0}; + aes_encode(zero_iv, session_keys->encryption, iv_clear, out_ivc, 16); +} + +static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t command, uint8_t command_header, uint8_t *data, uint8_t datalen, uint8_t *out_mac) { + uint8_t mac_input_header[] = { command, + (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + command_header, + }; + + int mac_input_len = sizeof(mac_input_header) + datalen; + + uint8_t *mac_input = (uint8_t*)malloc(mac_input_len); + memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); + memcpy(&mac_input[sizeof(mac_input_header)], data, datalen); + uint8_t mac[16] = {0}; + mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + 32, mac); + + for(int i = 0; i < 8; i++) + { + out_mac[i] = mac[i*2+1]; + } + + free(mac_input); +} + // Write file settings is done with full communication mode. This can probably be broken out // and used for read/write of file when full communication mode is needed. static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t *settings, ntag424_session_keys_t *session_keys) { @@ -265,15 +299,8 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * // ------- Calculate IV - uint8_t iv_clear[] = { 0xa5, 0x5a, - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - uint8_t zero_iv[16] = {0}; - uint8_t ivc[16] = {0}; - aes_encode(zero_iv, session_keys->encryption, iv_clear, ivc, 16); + uint8_t ivc[16]; + ntag424_calc_iv(session_keys, ivc); // ------- Encrypt file settings uint8_t padded_cmddata_buffer[256] = {0}; @@ -289,18 +316,8 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * aes_encode(ivc, session_keys->encryption, padded_cmddata_buffer, encrypted_cmddata, total_size); // ------- Calculate MAC - uint8_t mac_input_header[] = { 0x5f, - (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - fileno // CmdHeader - }; - - uint8_t mac_input[256] = {0}; - memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); - memcpy(&mac_input[sizeof(mac_input_header)], encrypted_cmddata, total_size); - uint8_t mac[16] = {0}; - mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + total_size, mac); - uint8_t mact[8] = { mac[1], mac[3], mac[5], mac[7], mac[9], mac[11], mac[13], mac[15] }; + uint8_t mact[8]; + ntag424_calc_mac(session_keys, 0x5f, fileno, encrypted_cmddata, total_size, mact); // ------- Assemble the actual command uint8_t lc = 1 + total_size + 8; // CmdHeader + size + mac*/ @@ -675,15 +692,8 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, // ------- Calculate IV - uint8_t iv_clear[] = { 0xa5, 0x5a, - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - uint8_t zero_iv[16] = {0}; - uint8_t ive[16] = {0}; - aes_encode(zero_iv, session_keys->encryption, iv_clear, ive, 16); + uint8_t ive[16]; + ntag424_calc_iv(session_keys, ive); // ------- Calculate KeyData uint8_t keydata[32] = {0}; @@ -703,19 +713,8 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, aes_encode(ive, session_keys->encryption, keydata, enc_keydata, 32); // -------- Calculate MAC - uint8_t mac_input_header[] = { 0xC4, - (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - keyno, - }; - - uint8_t mac_input[256] = {0}; - memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); - memcpy(&mac_input[sizeof(mac_input_header)], enc_keydata, 32); - uint8_t mac[16] = {0}; - mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + 32, mac); - uint8_t mact[8] = { mac[1], mac[3], mac[5], mac[7], mac[9], mac[11], mac[13], mac[15] }; - + uint8_t mact[8]; + ntag424_calc_mac(session_keys, 0xC4, keyno, enc_keydata, 32, mact); // ------- Assemble APDU uint8_t cmd_header[] = { @@ -1290,7 +1289,8 @@ static int CmdHF_ntag424_changekey(const char *Cmd) { CLIParserInit(&ctx, "hf ntag424 changekey", "Change a key.\n" "Authentication key must currently be different to the one we want to change.\n", - "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1" + "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1\n" + "hf ntag424 changekey -n 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1\n" ); void *argtable[] = { arg_param_begin, From 81b116c23f2c5aa99b85b6ec1dc9387c46a4b977 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Fri, 27 Oct 2023 13:21:49 +0800 Subject: [PATCH 149/278] Fixed keyroll mode for hf ic configcard Was able to compare the output of nfc-iclass and I identified two bugs in the generation of blocks 0x0D (was being overwritten with FF, it seems this was an original bug in the original pm3 code?) Fixed the porting for block 15 generation. --- CHANGELOG.md | 1 + client/src/cmdhficlass.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b794f4db..eae63e74b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Additional fixes to configcard code for keyroll mode based on nfc-iclass output (@Antiklesys) - Added `bind` option for network connections to specify the outbound address and port (@wh201906) - Changed `lf em 4x05 dump` - now supports the `--ns` nosave parameter (@iceman1001) - Fixed some wrong synchronization waits in usb_write() to increase the communication speed (@wh201906) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 3966f8517..98065f2d0 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -424,7 +424,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke memcpy(data + (0x0D * 8), lkey, sizeof(enckey1)); } // encrypted 0xFF - for (uint8_t i = 0x0D; i < 0x14; i++) { + for (uint8_t i = 0x0E; i < 0x14; i++) { memcpy(data + (i * 8), ffs, sizeof(ffs)); } PrintAndLogEx(NORMAL, "( " _GREEN_("ok") " )"); @@ -450,7 +450,7 @@ static int generate_config_card(const iclass_config_card_item_t *o, uint8_t *ke // encrypted partial keyroll key 15 PrintAndLogEx(INFO, "Setting encrypted partial key15... " NOLF); memset(foo, 0xFF, sizeof(foo)); - foo[0] = lkey[7]; + foo[0] = key[7]; if (IsCardHelperPresent(false) != false) { if (Encrypt(foo, enckey2) == false) { PrintAndLogEx(WARNING, "failed to encrypt partial 2"); From eb29e1a17e0a4dd5b0aed9b168e5b0d5dd6745d0 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Fri, 27 Oct 2023 07:18:13 +0200 Subject: [PATCH 150/278] Cleanup * Added some comments * Changed name of offsets to sdm_data since this is more apt. Not all of them are describing offsets * Fixed dumb bug in MAC refactor --- client/src/cmdhfntag424.c | 91 ++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index c076bdafb..bb7f130a4 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -98,19 +98,19 @@ typedef struct { } ntag424_session_keys_t; // -------------- File settings structs ------------------------- -#define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) +// Enabling this bit in the settings will also reset the read counter to 0 +#define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) #define FILE_SETTINGS_SDM_OPTIONS_UID (1 << 7) #define FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER (1 << 6) #define FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER_LIMIT (1 << 5) #define FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA (1 << 4) -// RFU stuff... #define FILE_SETTINGS_SDM_OPTIONS_ENCODING_MODE_ASCII (1 << 0) typedef struct { uint8_t sdm_options; uint8_t sdm_access[2]; - uint8_t offset[8][3]; + uint8_t sdm_data[8][3]; } ntag424_file_sdm_settings_t; typedef struct { @@ -121,7 +121,7 @@ typedef struct { ntag424_file_sdm_settings_t optional_sdm_settings; } ntag424_file_settings_t; -#define SETTINGS_WITHOUT_OFFSETS_SIZE (1+1+2+3+1+2) +#define SETTINGS_WITHOUT_SDM_DATA_SIZE (1+1+2+3+1+2) // A different struct is used when actually writing the settings back, // since we obviously can't change the size or type of a static file. @@ -143,11 +143,10 @@ typedef struct { // Currently unused functions, commented out due to -Wunused-function /*static void ntag424_file_settings_set_sdm_access_rights(ntag424_file_settings_t *settings, - uint8_t sdm_meta_read, uint8_t sdm_file_read, - uint8_t rfu, uint8_t sdm_ctr_ret) + uint8_t sdm_meta_read, uint8_t sdm_file_read, uint8_t sdm_ctr_ret) { settings->optional_sdm_settings.sdm_access[1] = sdm_meta_read << 4 | sdm_file_read; - settings->optional_sdm_settings.sdm_access[0] = rfu << 4 | sdm_ctr_ret; + settings->optional_sdm_settings.sdm_access[0] = 0xf << 4 | sdm_ctr_ret; // (0xf is due to reserved for future use) }*/ @@ -160,11 +159,7 @@ static uint8_t ntag424_file_settings_get_sdm_file_read(const ntag424_file_settin } // Currently unused functions, commented out due to -Wunused-function -/*static uint8_t ntag424_file_settings_get_sdm_rfu(const ntag424_file_settings_t *settings) { - return settings->optional_sdm_settings.sdm_access[0] >> 4; -} - -static uint8_t ntag424_file_settings_get_sdm_ctr_ret(const ntag424_file_settings_t *settings) { +/*static uint8_t ntag424_file_settings_get_sdm_ctr_ret(const ntag424_file_settings_t *settings) { return settings->optional_sdm_settings.sdm_access[0] & 4; }*/ @@ -233,7 +228,7 @@ static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *s } if(outlen < 9) { - PrintAndLogEx(ERR, "Incorrect response asdaslength: %d", outlen); + PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); return PM3_ESOFT; } @@ -275,7 +270,7 @@ static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t comma memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); memcpy(&mac_input[sizeof(mac_input_header)], data, datalen); uint8_t mac[16] = {0}; - mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + 32, mac); + mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + datalen, mac); for(int i = 0; i < 8; i++) { @@ -349,7 +344,7 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * } if(outlen != RESPONSE_LENGTH) { - PrintAndLogEx(ERR, "Incorrect response asdaslength: %d, %02X%02X", outlen, resp[outlen-2], resp[outlen-1]); + PrintAndLogEx(ERR, "Incorrect response length: %d, %02X%02X", outlen, resp[outlen-2], resp[outlen-1]); return PM3_ESOFT; } @@ -366,7 +361,7 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * static void ntag424_print_file_settings(uint8_t fileno, const ntag424_file_settings_t *settings) { - int num_offsets = (ntag424_calc_file_settings_size(settings) - SETTINGS_WITHOUT_OFFSETS_SIZE) / 3; + int num_sdm_data = (ntag424_calc_file_settings_size(settings) - SETTINGS_WITHOUT_SDM_DATA_SIZE) / 3; PrintAndLogEx(SUCCESS, "--- " _CYAN_("File %d settings:") , fileno); @@ -381,21 +376,18 @@ static void ntag424_print_file_settings(uint8_t fileno, const ntag424_file_setti PrintAndLogEx(SUCCESS, " options: " _GREEN_("%02X"), settings->optional_sdm_settings.sdm_options); PrintAndLogEx(SUCCESS, " sdm access: " _GREEN_("%02X%02X"), settings->optional_sdm_settings.sdm_access[0], settings->optional_sdm_settings.sdm_access[1]); - if(num_offsets > 0) + if(num_sdm_data > 0) { - PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM offsets: ")); - for(int i = 0; i < num_offsets; i++) + PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM data: ")); + for(int i = 0; i < num_sdm_data; i++) { - PrintAndLogEx(SUCCESS, " offset %d: %02X%02X%02X", i, - settings->optional_sdm_settings.offset[i][2], - settings->optional_sdm_settings.offset[i][1], - settings->optional_sdm_settings.offset[i][0]); + PrintAndLogEx(SUCCESS, " %d: %02X%02X%02X", i, + settings->optional_sdm_settings.sdm_data[i][2], + settings->optional_sdm_settings.sdm_data[i][1], + settings->optional_sdm_settings.sdm_data[i][0]); } } } - - - // Add printing of variable number of offsets here... } // NTAG424 only have one static application, so we select it here @@ -1089,15 +1081,16 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "sdmaccess: two byte access rights.\n" "Each nibble is a key, or E for plain mirror and F for no mirroring\n" - "Order is SDMMetaRead, SDMFileRead, RFU and SDMCtrRet\n\n" + "Order is SDMMetaRead, SDMFileRead, Reserved and SDMCtrRet\n\n" - "offset: A three byte offset to the data to be mirrored to/from. Can be specified multiple times.\n\n" + "sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times.\n" + "Data means different things depending on settings.\n\n" "Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information.\n" - "You must also start with offset1, then offset2, up to the number of offsets you want to write", + "You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", - "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --offset1 000020 --offset2 000043 --offset3 000043"); + "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043"); void *argtable[] = { arg_param_begin, @@ -1108,13 +1101,14 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { arg_str0("a", "access", "", "File access settings (HEX 2 bytes)"), arg_str0("s", "sdmoptions", "", "SDM options (HEX 1 byte)"), arg_str0("c", "sdmaccess", "", "SDM access settings (HEX 2 bytes)"), - arg_str0(NULL, "offset1", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset2", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset3", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset4", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset5", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset6", "", "SDM offset (HEX 3 bytes)"), - arg_str0(NULL, "offset7", "", "SDM offset (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata1", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata2", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata3", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata4", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata5", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata6", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata7", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "sdmdata8", "", "SDM data (HEX 3 bytes)"), // Sorry, couldn't figure out how to work with arg_strn... arg_param_end }; @@ -1132,9 +1126,8 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { uint8_t sdmoptions[1]; uint8_t has_sdmaccess = 0; uint8_t sdmaccess[2]; - uint8_t num_offsets = 0; - uint8_t offsets[8][3]; - + uint8_t num_sdm_data = 0; + uint8_t sdm_data[8][3]; if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { @@ -1161,7 +1154,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { CLIGetHexWithReturn(ctx, 5, access, &len); if(len != 2) { - PrintAndLogEx(ERR, "access must be 2 bytes"); + PrintAndLogEx(ERR, "Access must be 2 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1185,7 +1178,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { CLIGetHexWithReturn(ctx, 7, sdmaccess, &len); if(len != 2) { - PrintAndLogEx(ERR, "SDM access must be 2 bytes"); + PrintAndLogEx(ERR, "SDM Access must be 2 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1196,11 +1189,11 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { if(arg_get_str(ctx,8+i)->count == 1) { len = 3; - num_offsets++; - CLIGetHexWithReturn(ctx, 8+i, offsets[i], &len); + num_sdm_data++; + CLIGetHexWithReturn(ctx, 8+i, sdm_data[i], &len); if(len != 3) { - PrintAndLogEx(ERR, "Offset must be 3 bytes"); + PrintAndLogEx(ERR, "sdmdata must be 3 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1263,11 +1256,11 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { memcpy(settings.optional_sdm_settings.sdm_access, sdmaccess, 2); } - for(int i = 0; i < num_offsets; i++) + for(int i = 0; i < num_sdm_data; i++) { - settings.optional_sdm_settings.offset[i][2] = offsets[i][0]; - settings.optional_sdm_settings.offset[i][1] = offsets[i][1]; - settings.optional_sdm_settings.offset[i][0] = offsets[i][2]; + settings.optional_sdm_settings.sdm_data[i][2] = sdm_data[i][0]; + settings.optional_sdm_settings.sdm_data[i][1] = sdm_data[i][1]; + settings.optional_sdm_settings.sdm_data[i][0] = sdm_data[i][2]; } if(ntag424_write_file_settings(fileno, &settings, &session) != PM3_SUCCESS) From 9d07ee497c7ead38c3fb947e3f6e1f5710edd548 Mon Sep 17 00:00:00 2001 From: yah01 Date: Fri, 27 Oct 2023 13:47:26 +0800 Subject: [PATCH 151/278] Improve lf sampling performance Signed-off-by: yah01 --- CHANGELOG.md | 1 + armsrc/lfsampling.c | 35 ++++++++++++++--------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b794f4db..276521e5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Modified `hf iclass configcard` to only support online mode (@Antiklesys) - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 6 & 7 from nfc-iclass (@Antiklesys) - Fixed `hf iclass info` command showing incorrectly in offline mode (@Antiklesys) + - Changed lf sampling - improved the performance (@yah01) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/armsrc/lfsampling.c b/armsrc/lfsampling.c index 6c131e7f3..c763bd0c6 100644 --- a/armsrc/lfsampling.c +++ b/armsrc/lfsampling.c @@ -128,20 +128,6 @@ sample_config *getSamplingConfig(void) { return &config; } -/** - * @brief Pushes bit onto the stream - * @param stream - * @param bit - */ -static void pushBit(BitstreamOut_t *stream, uint8_t bit) { - int bytepos = stream->position >> 3; // divide by 8 - int bitpos = stream->position & 7; - *(stream->buffer + bytepos) &= ~(1 << (7 - bitpos)); - *(stream->buffer + bytepos) |= (bit > 0) << (7 - bitpos); - stream->position++; - stream->numbits++; -} - void initSampleBuffer(uint32_t *sample_size) { initSampleBufferEx(sample_size, false); } @@ -233,13 +219,20 @@ void logSample(uint8_t sample, uint8_t decimation, uint8_t bits_per_sample, bool data.numbits = samples.total_saved << 3; } else { - pushBit(&data, sample & 0x80); - if (bits_per_sample > 1) pushBit(&data, sample & 0x40); - if (bits_per_sample > 2) pushBit(&data, sample & 0x20); - if (bits_per_sample > 3) pushBit(&data, sample & 0x10); - if (bits_per_sample > 4) pushBit(&data, sample & 0x08); - if (bits_per_sample > 5) pushBit(&data, sample & 0x04); - if (bits_per_sample > 6) pushBit(&data, sample & 0x02); + // truncate trailing data + sample >>= 8 - bits_per_sample; + sample <<= 8 - bits_per_sample; + + uint8_t bits_offset = data.numbits & 0x7; + uint8_t bits_cap = 8 - bits_offset; + + // write the current byte + data.buffer[data.numbits >> 3] |= sample >> bits_offset; + int numbits = data.numbits + bits_cap; + + // write the remaining bits to the next byte + data.buffer[numbits >> 3] |= sample << (bits_cap); + data.numbits += bits_per_sample; } } From ad875a8c01b3671acd04759e932fa79ee97ad424 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Fri, 27 Oct 2023 16:43:58 +0200 Subject: [PATCH 152/278] Refactored communication encryption --- client/src/cmdhfntag424.c | 124 ++++++++++++++++++++++---------------- 1 file changed, 71 insertions(+), 53 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index bb7f130a4..e74182262 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -28,6 +28,7 @@ #include "crypto/libpcrypto.h" // aes_decode #include "cmac.h" #include "cmdhf14a.h" +#include "ui.h" #include "util.h" #include "crc32.h" @@ -212,6 +213,10 @@ static int ntag424_calc_file_settings_size(const ntag424_file_settings_t *settin return size; } + +static int ntag424_calc_file_write_settings_size(const ntag424_file_settings_t *settings) { + return ntag424_calc_file_settings_size(settings) - 4; +} static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *settings_out) { const size_t RESPONSE_LENGTH = sizeof(ntag424_file_settings_t) + 2; @@ -280,8 +285,52 @@ static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t comma free(mac_input); } -// Write file settings is done with full communication mode. This can probably be broken out -// and used for read/write of file when full communication mode is needed. +static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_out, int *apdu_out_size, ntag424_session_keys_t *session_keys) +{ +#define MAC_SIZE 8 +#define APDU_HEADER_SIZE 5 +#define APDU_OVERHEAD (APDU_HEADER_SIZE + 1) + + // ------- Calculate IV + uint8_t ivc[16]; + ntag424_calc_iv(session_keys, ivc); + + + // ------- Copy apdu header + size_t size = apdu_in[4]; + memcpy(apdu_out, apdu_in, 6); + + size_t encrypt_data_size = size - 1; + size_t padded_data_size = encrypt_data_size + 16 - (encrypt_data_size % 16); // pad up to 16 byte blocks + uint8_t temp_buffer[256] = {0}; + + int apdu_final_size = APDU_OVERHEAD + padded_data_size + 8 + 1; // + MAC and CmdHdr + if(*apdu_out_size < apdu_final_size) + { + PrintAndLogEx(ERR, "APDU out buffer not large enough"); + return PM3_EINVARG; + } + + *apdu_out_size = apdu_final_size; + + // ------ Pad data + memcpy(temp_buffer, &apdu_in[APDU_HEADER_SIZE + 1], encrypt_data_size); // We encrypt everything except the CmdHdr + temp_buffer[encrypt_data_size] = 0x80; + + // ------ Encrypt it + memcpy(apdu_out, apdu_in, 4); + aes_encode(ivc, session_keys->encryption, temp_buffer, &apdu_out[6], padded_data_size); + + // ------ Add MAC + ntag424_calc_mac(session_keys, apdu_in[1], apdu_in[5], &apdu_out[6], padded_data_size, &apdu_out[APDU_HEADER_SIZE + padded_data_size + 1]); + + apdu_out[4] = (uint8_t)(padded_data_size+8+1); // Set size to CmdHdr + padded data + MAC + apdu_out[APDU_HEADER_SIZE + padded_data_size + 8 + 1] = 0; // Le + + + return PM3_SUCCESS; +} + static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t *settings, ntag424_session_keys_t *session_keys) { // ------- Convert file settings to the format for writing @@ -292,51 +341,29 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * .optional_sdm_settings = settings->optional_sdm_settings, }; - - // ------- Calculate IV - uint8_t ivc[16]; - ntag424_calc_iv(session_keys, ivc); - - // ------- Encrypt file settings - uint8_t padded_cmddata_buffer[256] = {0}; - uint8_t encrypted_cmddata[256] = {0}; - size_t settings_size = ntag424_calc_file_settings_size(settings) - 4; // This is weird, but since the write settings are the same as - // the settings read out, but minus file type and file size, we subtract 4 here. - - size_t total_size = settings_size + 16 - (settings_size % 16); // pad up to 16 byte blocks - memcpy(padded_cmddata_buffer, (void*)&write_settings, settings_size); - if(total_size > settings_size) { - padded_cmddata_buffer[settings_size] = 0x80; - } - aes_encode(ivc, session_keys->encryption, padded_cmddata_buffer, encrypted_cmddata, total_size); - - // ------- Calculate MAC - uint8_t mact[8]; - ntag424_calc_mac(session_keys, 0x5f, fileno, encrypted_cmddata, total_size, mact); - // ------- Assemble the actual command - uint8_t lc = 1 + total_size + 8; // CmdHeader + size + mac*/ + size_t settings_size = ntag424_calc_file_write_settings_size(settings); + uint8_t lc = 1 + settings_size; // CmdHeader + size */ uint8_t cmd_header[] = { 0x90, 0x5f, 0x00, 0x00, lc, fileno }; - uint8_t cmd[256] = {0}; - memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], encrypted_cmddata, total_size); - memcpy(&cmd[sizeof(cmd_header) + total_size], mact, sizeof(mact)); - cmd[sizeof(cmd_header) + total_size + sizeof(mact)] = 0x00; + memcpy(&cmd[sizeof(cmd_header)], (void*)&write_settings, settings_size); + cmd[sizeof(cmd_header) + settings_size] = 0x00; - size_t apdu_size = sizeof(cmd_header) + total_size + sizeof(mact) + 1; + uint8_t apdu_out[256] = {0}; + int apdu_out_size = 256; + ntag424_comm_full_encrypt_apdu(cmd, apdu_out, &apdu_out_size, session_keys); // ------- Actually send the APDU const size_t RESPONSE_LENGTH = 8 + 2; int outlen; uint8_t resp[RESPONSE_LENGTH]; - int res = ExchangeAPDU14a(cmd, apdu_size, false, true, resp, RESPONSE_LENGTH, &outlen); + int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); if(res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); @@ -355,7 +382,6 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * } session_keys->command_counter++; // Should this be incremented only on success? - return PM3_SUCCESS; } @@ -681,50 +707,43 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, { memcpy(key, new_key, 16); } - - - // ------- Calculate IV - uint8_t ive[16]; - ntag424_calc_iv(session_keys, ive); - + // ------- Calculate KeyData uint8_t keydata[32] = {0}; memcpy(keydata, key, 16); keydata[16] = version; + int key_data_len; if(keyno != 0) { memcpy(&keydata[17], crc, 4); keydata[21] = 0x80; + key_data_len = 16 + 4 + 1; } else { keydata[17] = 0x80; + key_data_len = 16 + 1; } - uint8_t enc_keydata[32] = {0}; - aes_encode(ive, session_keys->encryption, keydata, enc_keydata, 32); - - // -------- Calculate MAC - uint8_t mact[8]; - ntag424_calc_mac(session_keys, 0xC4, keyno, enc_keydata, 32, mact); - // ------- Assemble APDU uint8_t cmd_header[] = { - 0x90, 0xC4, 0x00, 0x00, 0x29, keyno + 0x90, 0xC4, 0x00, 0x00, key_data_len+1, keyno }; uint8_t cmd[512] = {0}; memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], enc_keydata, 32); - memcpy(&cmd[sizeof(cmd_header) + 32], mact, 8); - int apdu_size = sizeof(cmd_header) + 32 + 8 + 1; + memcpy(&cmd[sizeof(cmd_header)], keydata, key_data_len); + + uint8_t apdu_out[256]; + int apdu_out_size = 256; + ntag424_comm_full_encrypt_apdu(cmd, apdu_out, &apdu_out_size, session_keys); // ------- Actually send the APDU const size_t RESPONSE_LENGTH = 8 + 2; int outlen; uint8_t resp[RESPONSE_LENGTH]; - int res = ExchangeAPDU14a(cmd, apdu_size, false, true, resp, RESPONSE_LENGTH, &outlen); + int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); if(res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); @@ -738,7 +757,7 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) { - PrintAndLogEx(ERR, "Failed to get file settings"); + PrintAndLogEx(ERR, "Error when changing key. Wrong old key?"); return PM3_ESOFT; } @@ -761,7 +780,6 @@ static int CmdHF_ntag424_info(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); CLIParserFree(ctx); - PrintAndLogEx(INFO, "not implemented yet"); PrintAndLogEx(INFO, "Feel free to contribute!"); return PM3_SUCCESS; From 05a230246686bfbed8f5c5a119d0d7942455f315 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Fri, 27 Oct 2023 18:09:38 +0200 Subject: [PATCH 153/278] Implemented style --- client/src/cmdhfntag424.c | 508 +++++++++++++------------------- client/src/pm3line_vocabulary.h | 2 +- doc/commands.json | 115 +++++++- doc/commands.md | 9 +- 4 files changed, 312 insertions(+), 322 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index e74182262..25e862ef8 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -100,7 +100,7 @@ typedef struct { // -------------- File settings structs ------------------------- // Enabling this bit in the settings will also reset the read counter to 0 -#define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) +#define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) #define FILE_SETTINGS_SDM_OPTIONS_UID (1 << 7) #define FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER (1 << 6) @@ -168,47 +168,43 @@ static uint8_t ntag424_file_settings_get_sdm_file_read(const ntag424_file_settin // at the end depending on settings. static int ntag424_calc_file_settings_size(const ntag424_file_settings_t *settings) { int size = 7; - - if(settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) { + + if (settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) { size += 3; // sdm_options and sdm_access must be present - if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_UID && - ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) - { + if (settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_UID && + ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) { size += 3; // UIDOffset } - if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER && - ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) - { + if (settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER && + ntag424_file_settings_get_sdm_meta_read(settings) == 0xe) { size += 3; // SDMReadCtrOffset } - if(ntag424_file_settings_get_sdm_meta_read(settings) <= 0x04) { + if (ntag424_file_settings_get_sdm_meta_read(settings) <= 0x04) { size += 3; // PICCDataOffset } - if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { + if (ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { size += 3; // SDMMacInputOffset } - if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f && - settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA) - { + if (ntag424_file_settings_get_sdm_file_read(settings) != 0x0f && + settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA) { size += 3; // SDMEncOffset size += 3; // SDMEncLength } - if(ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { + if (ntag424_file_settings_get_sdm_file_read(settings) != 0x0f) { // Warning, this value has different offsets depending on // FILE_SETTINGS_SDM_OPTIONS_SDM_ENC_FILE_DATA size += 3; // SDMMacOffset } - if(settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER_LIMIT) - { + if (settings->optional_sdm_settings.sdm_options & FILE_SETTINGS_SDM_OPTIONS_SDM_READ_COUNTER_LIMIT) { size += 3; // SDMReadCtrLimit - } + } } return size; @@ -217,7 +213,7 @@ static int ntag424_calc_file_settings_size(const ntag424_file_settings_t *settin static int ntag424_calc_file_write_settings_size(const ntag424_file_settings_t *settings) { return ntag424_calc_file_settings_size(settings) - 4; } - + static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *settings_out) { const size_t RESPONSE_LENGTH = sizeof(ntag424_file_settings_t) + 2; uint8_t cmd[] = { 0x90, 0xF5, 0x00, 0x00, 0x01, fileno, 0x00}; @@ -226,26 +222,23 @@ static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *s int res; res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen < 9) { + if (outlen < 9) { PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); return PM3_ESOFT; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Failed to get file settings"); return PM3_ESOFT; } - if(settings_out) - { - memcpy(settings_out, resp, outlen-2); + if (settings_out) { + memcpy(settings_out, resp, outlen - 2); } return PM3_SUCCESS; @@ -253,10 +246,10 @@ static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *s static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { uint8_t iv_clear[] = { 0xa5, 0x5a, - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; uint8_t zero_iv[16] = {0}; aes_encode(zero_iv, session_keys->encryption, iv_clear, out_ivc, 16); @@ -264,33 +257,31 @@ static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_i static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t command, uint8_t command_header, uint8_t *data, uint8_t datalen, uint8_t *out_mac) { uint8_t mac_input_header[] = { command, - (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - command_header, - }; + (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + command_header, + }; int mac_input_len = sizeof(mac_input_header) + datalen; - uint8_t *mac_input = (uint8_t*)malloc(mac_input_len); + uint8_t *mac_input = (uint8_t *)malloc(mac_input_len); memcpy(mac_input, mac_input_header, sizeof(mac_input_header)); memcpy(&mac_input[sizeof(mac_input_header)], data, datalen); uint8_t mac[16] = {0}; mbedtls_aes_cmac_prf_128(session_keys->mac, 16, mac_input, sizeof(mac_input_header) + datalen, mac); - - for(int i = 0; i < 8; i++) - { - out_mac[i] = mac[i*2+1]; + + for (int i = 0; i < 8; i++) { + out_mac[i] = mac[i * 2 + 1]; } free(mac_input); } -static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_out, int *apdu_out_size, ntag424_session_keys_t *session_keys) -{ +static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_out, int *apdu_out_size, ntag424_session_keys_t *session_keys) { #define MAC_SIZE 8 #define APDU_HEADER_SIZE 5 #define APDU_OVERHEAD (APDU_HEADER_SIZE + 1) - + // ------- Calculate IV uint8_t ivc[16]; ntag424_calc_iv(session_keys, ivc); @@ -305,8 +296,7 @@ static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_ uint8_t temp_buffer[256] = {0}; int apdu_final_size = APDU_OVERHEAD + padded_data_size + 8 + 1; // + MAC and CmdHdr - if(*apdu_out_size < apdu_final_size) - { + if (*apdu_out_size < apdu_final_size) { PrintAndLogEx(ERR, "APDU out buffer not large enough"); return PM3_EINVARG; } @@ -324,15 +314,15 @@ static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_ // ------ Add MAC ntag424_calc_mac(session_keys, apdu_in[1], apdu_in[5], &apdu_out[6], padded_data_size, &apdu_out[APDU_HEADER_SIZE + padded_data_size + 1]); - apdu_out[4] = (uint8_t)(padded_data_size+8+1); // Set size to CmdHdr + padded data + MAC + apdu_out[4] = (uint8_t)(padded_data_size + 8 + 1); // Set size to CmdHdr + padded data + MAC apdu_out[APDU_HEADER_SIZE + padded_data_size + 8 + 1] = 0; // Le - + return PM3_SUCCESS; } static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t *settings, ntag424_session_keys_t *session_keys) { - + // ------- Convert file settings to the format for writing file_settings_write_t write_settings = { .options = settings->options, @@ -352,7 +342,7 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * }; uint8_t cmd[256] = {0}; memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], (void*)&write_settings, settings_size); + memcpy(&cmd[sizeof(cmd_header)], (void *)&write_settings, settings_size); cmd[sizeof(cmd_header) + settings_size] = 0x00; uint8_t apdu_out[256] = {0}; @@ -364,19 +354,17 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * int outlen; uint8_t resp[RESPONSE_LENGTH]; int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen != RESPONSE_LENGTH) { - PrintAndLogEx(ERR, "Incorrect response length: %d, %02X%02X", outlen, resp[outlen-2], resp[outlen-1]); + if (outlen != RESPONSE_LENGTH) { + PrintAndLogEx(ERR, "Incorrect response length: %d, %02X%02X", outlen, resp[outlen - 2], resp[outlen - 1]); return PM3_ESOFT; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Failed to get file settings"); return PM3_ESOFT; } @@ -388,25 +376,22 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * static void ntag424_print_file_settings(uint8_t fileno, const ntag424_file_settings_t *settings) { int num_sdm_data = (ntag424_calc_file_settings_size(settings) - SETTINGS_WITHOUT_SDM_DATA_SIZE) / 3; - - PrintAndLogEx(SUCCESS, "--- " _CYAN_("File %d settings:") , fileno); + + PrintAndLogEx(SUCCESS, "--- " _CYAN_("File %d settings:"), fileno); PrintAndLogEx(SUCCESS, " type: " _GREEN_("%02X"), settings->type); PrintAndLogEx(SUCCESS, " options: " _GREEN_("%02X"), settings->options); PrintAndLogEx(SUCCESS, " access: " _GREEN_("%02X%02X (RW, C, R, W)"), settings->access[0], settings->access[1]); PrintAndLogEx(SUCCESS, " size: " _GREEN_("%02X%02X%02X"), settings->size[2], settings->size[1], settings->size[0]); - if(settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) - { + if (settings->options & FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING) { PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM settings: ")); PrintAndLogEx(SUCCESS, " options: " _GREEN_("%02X"), settings->optional_sdm_settings.sdm_options); PrintAndLogEx(SUCCESS, " sdm access: " _GREEN_("%02X%02X"), settings->optional_sdm_settings.sdm_access[0], settings->optional_sdm_settings.sdm_access[1]); - if(num_sdm_data > 0) - { + if (num_sdm_data > 0) { PrintAndLogEx(SUCCESS, "--- " _CYAN_("SDM data: ")); - for(int i = 0; i < num_sdm_data; i++) - { + for (int i = 0; i < num_sdm_data; i++) { PrintAndLogEx(SUCCESS, " %d: %02X%02X%02X", i, settings->optional_sdm_settings.sdm_data[i][2], settings->optional_sdm_settings.sdm_data[i][1], @@ -425,14 +410,12 @@ static int ntag424_select_application(void) { int res; res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH-2] != 0x90 || resp[RESPONSE_LENGTH-1] != 0x00) - { + if (outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH - 2] != 0x90 || resp[RESPONSE_LENGTH - 1] != 0x00) { PrintAndLogEx(ERR, "Failed to select application"); return PM3_ESOFT; } @@ -440,8 +423,7 @@ static int ntag424_select_application(void) { return PM3_SUCCESS; } -static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) -{ +static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) { const size_t RESPONSE_LENGTH = 16 + 2; uint8_t cmd[] = {0x90, 0x71, 0x00, 0x00, 0x02, keyno, 0x00, 0x00}; uint8_t resp[RESPONSE_LENGTH]; @@ -449,14 +431,12 @@ static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) int res; res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH-2] != 0x91 || resp[RESPONSE_LENGTH-1] != 0xAF) - { + if (outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH - 2] != 0x91 || resp[RESPONSE_LENGTH - 1] != 0xAF) { PrintAndLogEx(ERR, "Failed to get RndB (invalid key number?)"); return PM3_ESOFT; } @@ -467,8 +447,7 @@ static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) return PM3_SUCCESS; } -static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response) -{ +static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response) { uint8_t cmd_header[] = { 0x90, 0xAF, 0x00, 0x00, 0x20 }; uint8_t cmd[sizeof(cmd_header) + 32 + 1] = {0}; @@ -482,31 +461,27 @@ static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response) int res; res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { return res; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Challenge failed: wrong key?"); return PM3_ESOFT; } - memcpy(response, resp, outlen-2); + memcpy(response, resp, outlen - 2); return PM3_SUCCESS; } // Authenticate against a key number and optionally get session keys out -static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_session_keys_t *session_keys_out) -{ - // -------- Get first challenge from card +static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_session_keys_t *session_keys_out) { + // -------- Get first challenge from card uint8_t rnd_b_clear[16] = {0}; int res = ntag424_auth_first_step(keyno, key, rnd_b_clear); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { return res; } @@ -528,20 +503,18 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s aes_encode(iv, key, concat_clear, concat_enc, 32); // -------- Do second step with our concatenated encrypted RndA || RndB - uint8_t resp[4+16+6+6]; + uint8_t resp[4 + 16 + 6 + 6]; res = ntag424_auth_second_step(concat_enc, resp); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { return res; } ntag424_ev2_response_t response; - aes_decode(iv, key, resp, (uint8_t*)&response, sizeof(ntag424_ev2_response_t)); + aes_decode(iv, key, resp, (uint8_t *)&response, sizeof(ntag424_ev2_response_t)); // -------- Verify that the response we got contains the RndA that we supplied (rotated one byte) - if(memcmp(response.rnd_a, &rnd_a_clear[1], 15) != 0 || - response.rnd_a[15] != rnd_a_clear[0]) - { + if (memcmp(response.rnd_a, &rnd_a_clear[1], 15) != 0 || + response.rnd_a[15] != rnd_a_clear[0]) { PrintAndLogEx(ERR, "Incorrect response from card\n" "expected: %s\n" "got: %s" @@ -551,8 +524,7 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s } // -------- Optionally calculate session keys - if(session_keys_out) - { + if (session_keys_out) { memset(session_keys_out, 0, sizeof(ntag424_session_keys_t)); memcpy(session_keys_out->ti, response.ti, sizeof(response.ti)); @@ -562,17 +534,17 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s // [RndB[9:0] || RndA[7:0] uint8_t sv1[] = { 0xa5, 0x5a, 0x00, 0x01, 0x00, 0x80, rnd_a_clear[0], rnd_a_clear[1], - rnd_a_clear[2] ^ rnd_b_clear[0], - rnd_a_clear[3] ^ rnd_b_clear[1], - rnd_a_clear[4] ^ rnd_b_clear[2], - rnd_a_clear[5] ^ rnd_b_clear[3], - rnd_a_clear[6] ^ rnd_b_clear[4], - rnd_a_clear[7] ^ rnd_b_clear[5], - rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], - rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], - rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], - rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] - }; + rnd_a_clear[2] ^rnd_b_clear[0], + rnd_a_clear[3] ^rnd_b_clear[1], + rnd_a_clear[4] ^rnd_b_clear[2], + rnd_a_clear[5] ^rnd_b_clear[3], + rnd_a_clear[6] ^rnd_b_clear[4], + rnd_a_clear[7] ^rnd_b_clear[5], + rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], + rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], + rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], + rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] + }; // SV 2 = [0x5A][0xA5][0x00][0x01] // [0x00][0x80][RndA[15:14] || @@ -580,18 +552,18 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s // [RndB[9:0] || RndA[7:0] uint8_t sv2[] = { 0x5a, 0xa5, 0x00, 0x01, 0x00, 0x80, rnd_a_clear[0], rnd_a_clear[1], - rnd_a_clear[2] ^ rnd_b_clear[0], - rnd_a_clear[3] ^ rnd_b_clear[1], - rnd_a_clear[4] ^ rnd_b_clear[2], - rnd_a_clear[5] ^ rnd_b_clear[3], - rnd_a_clear[6] ^ rnd_b_clear[4], - rnd_a_clear[7] ^ rnd_b_clear[5], - rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], - rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], - rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], - rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] - }; - + rnd_a_clear[2] ^rnd_b_clear[0], + rnd_a_clear[3] ^rnd_b_clear[1], + rnd_a_clear[4] ^rnd_b_clear[2], + rnd_a_clear[5] ^rnd_b_clear[3], + rnd_a_clear[6] ^rnd_b_clear[4], + rnd_a_clear[7] ^rnd_b_clear[5], + rnd_b_clear[6], rnd_b_clear[7], rnd_b_clear[8], rnd_b_clear[9], rnd_b_clear[10], + rnd_b_clear[11], rnd_b_clear[12], rnd_b_clear[13], rnd_b_clear[14], rnd_b_clear[15], + rnd_a_clear[8], rnd_a_clear[9], rnd_a_clear[10], + rnd_a_clear[11], rnd_a_clear[12], rnd_a_clear[13], rnd_a_clear[14], rnd_a_clear[15] + }; + mbedtls_aes_cmac_prf_128(key, 16, sv1, sizeof(sv1), session_keys_out->encryption); mbedtls_aes_cmac_prf_128(key, 16, sv2, sizeof(sv2), session_keys_out->mac); } @@ -607,17 +579,16 @@ static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_byte const size_t RESPONSE_LENGTH = 2; size_t remainder = 0; - if(num_bytes > MAX_WRITE_APDU) - { + if (num_bytes > MAX_WRITE_APDU) { remainder = num_bytes - MAX_WRITE_APDU; num_bytes = MAX_WRITE_APDU; } - // 248 + + // 248 + uint8_t cmd_header[] = { 0x90, 0x8d, 0x00, 0x00, 0x07 + num_bytes, fileno, - (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size - }; + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size + }; uint8_t cmd[512] = {0}; @@ -625,34 +596,31 @@ static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_byte memcpy(&cmd[sizeof(cmd_header)], in, num_bytes); size_t total_size = sizeof(cmd_header) + num_bytes + 1; //(Le) - + uint8_t resp[RESPONSE_LENGTH]; int outlen = 0; int res; res = ExchangeAPDU14a(cmd, total_size, false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen != RESPONSE_LENGTH) { + if (outlen != RESPONSE_LENGTH) { PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); return PM3_ESOFT; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Failed to write file"); return PM3_ESOFT; } - if(remainder > 0) - { + if (remainder > 0) { return ntag424_write_file(fileno, offset + num_bytes, remainder, &in[num_bytes]); } - + return PM3_SUCCESS; } @@ -660,29 +628,28 @@ static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_byte // first unless file has free read access. static int ntag424_read_file(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out) { const size_t RESPONSE_LENGTH = num_bytes + 2; - + uint8_t cmd[] = { 0x90, 0xad, 0x00, 0x00, 0x07, fileno, - (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00, //size - 0x00 }; + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00, //size + 0x00 + }; uint8_t resp[RESPONSE_LENGTH]; int outlen = 0; int res; res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen != RESPONSE_LENGTH) { + if (outlen != RESPONSE_LENGTH) { PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); return PM3_ESOFT; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Failed to read file"); return PM3_ESOFT; } @@ -695,39 +662,32 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, // -------- Calculate xor and crc uint8_t key[16] = {0}; uint8_t crc[4] = {0}; - if(keyno != 0) - { - for(int i = 0; i < 16; i++) - { + if (keyno != 0) { + for (int i = 0; i < 16; i++) { key[i] = old_key[i] ^ new_key[i]; } crc32_ex(new_key, 16, crc); - } - else - { + } else { memcpy(key, new_key, 16); } - + // ------- Calculate KeyData uint8_t keydata[32] = {0}; memcpy(keydata, key, 16); keydata[16] = version; int key_data_len; - if(keyno != 0) - { + if (keyno != 0) { memcpy(&keydata[17], crc, 4); keydata[21] = 0x80; key_data_len = 16 + 4 + 1; - } - else - { + } else { keydata[17] = 0x80; key_data_len = 16 + 1; } // ------- Assemble APDU uint8_t cmd_header[] = { - 0x90, 0xC4, 0x00, 0x00, key_data_len+1, keyno + 0x90, 0xC4, 0x00, 0x00, key_data_len + 1, keyno }; uint8_t cmd[512] = {0}; @@ -737,32 +697,30 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, uint8_t apdu_out[256]; int apdu_out_size = 256; ntag424_comm_full_encrypt_apdu(cmd, apdu_out, &apdu_out_size, session_keys); - + // ------- Actually send the APDU const size_t RESPONSE_LENGTH = 8 + 2; int outlen; uint8_t resp[RESPONSE_LENGTH]; int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if(outlen < 2) { + if (outlen < 2) { PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); return PM3_ESOFT; } - if(resp[outlen-2] != 0x91 || resp[outlen-1] != 0x00) - { + if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { PrintAndLogEx(ERR, "Error when changing key. Wrong old key?"); return PM3_ESOFT; } session_keys->command_counter++; // Should this be incremented only on success? - + return PM3_SUCCESS; } @@ -785,24 +743,21 @@ static int CmdHF_ntag424_info(const char *Cmd) { return PM3_SUCCESS; } -static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_index, int key_index, int *keyno, uint8_t *key_out) -{ +static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_index, int key_index, int *keyno, uint8_t *key_out) { uint8_t key[16]; int keylen = 16; - if(keyno) - { + if (keyno) { *keyno = arg_get_int(ctx, key_no_index); } CLIGetHexWithReturn(ctx, key_index, key, &keylen); - if(keylen != 16) - { + if (keylen != 16) { PrintAndLogEx(ERR, "Key must be 16 bytes"); return PM3_ESOFT; } memcpy(key_out, key, 16); - + return PM3_SUCCESS; } @@ -822,8 +777,7 @@ static int CmdHF_ntag424_auth(const char *Cmd) { int keyno; uint8_t key[16] = {0}; - if(ntag424_cli_get_auth_information(ctx, 1, 2, &keyno, key) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 1, 2, &keyno, key) != PM3_SUCCESS) { CLIParserFree(ctx); return PM3_ESOFT; } @@ -831,27 +785,22 @@ static int CmdHF_ntag424_auth(const char *Cmd) { CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to select card"); DropField(); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } res = ntag424_authenticate_ev2_first(keyno, key, NULL); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); - } - else - { + } else { PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); } @@ -884,47 +833,38 @@ static int CmdHF_ntag424_read(const char *Cmd) { int fileno = arg_get_int(ctx, 1); - if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { PrintAndLogEx(INFO, "Reading unauthenticated"); auth = 0; - } - else - { + } else { PrintAndLogEx(INFO, "Reading authenticated"); } int offset = arg_get_int_def(ctx, 4, 0); int read_length = arg_get_int(ctx, 5); - + CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } - if(auth) - { + if (auth) { res = ntag424_authenticate_ev2_first(keyno, key, NULL); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); DropField(); return res; - } - else - { + } else { PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); } } @@ -932,8 +872,7 @@ static int CmdHF_ntag424_read(const char *Cmd) { uint8_t data[512]; res = ntag424_read_file(fileno, offset, read_length, data); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; } @@ -969,13 +908,10 @@ static int CmdHF_ntag424_write(const char *Cmd) { int fileno = arg_get_int(ctx, 1); - if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { PrintAndLogEx(INFO, "Will write unauthenticated"); auth = 0; - } - else - { + } else { PrintAndLogEx(INFO, "Will write authenticated"); } @@ -984,42 +920,35 @@ static int CmdHF_ntag424_write(const char *Cmd) { uint8_t data[512] = {0}; int datalen = 512; CLIGetHexWithReturn(ctx, 5, data, &datalen); - + CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } - if(auth) - { + if (auth) { res = ntag424_authenticate_ev2_first(keyno, key, NULL); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); DropField(); return res; - } - else - { + } else { PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); } } res = ntag424_write_file(fileno, offset, datalen, data); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; } @@ -1048,25 +977,22 @@ static int CmdHF_ntag424_getfilesettings(const char *Cmd) { CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } ntag424_file_settings_t settings; res = ntag424_read_file_settings(fileno, &settings); DropField(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { return res; } @@ -1084,11 +1010,11 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "options: byte with bit flags\n" " Bit: Setting:\n" " 6 Enable SDM and mirroring\n\n" - + "access: two byte access rights.\n" "Each nibble is a key number, or E for free access.\n" "Order is key for readwrite, change, read and write\n\n" - + "sdmoptions: byte with bit flags\n" " Bit: Setting:\n" " 0 ASCII encoding\n" @@ -1096,7 +1022,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { " 5 SDMReadCtrLimit\n" " 6 SDMReadCtr\n" " 7 SDMOptionsUID\n\n" - + "sdmaccess: two byte access rights.\n" "Each nibble is a key, or E for plain mirror and F for no mirroring\n" "Order is SDMMetaRead, SDMFileRead, Reserved and SDMCtrRet\n\n" @@ -1106,8 +1032,8 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information.\n" "You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", - - + + "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043"); void *argtable[] = { @@ -1147,149 +1073,125 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { uint8_t num_sdm_data = 0; uint8_t sdm_data[8][3]; - if(ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Could not get key settings"); CLIParserFree(ctx); return PM3_EINVARG; } int len = 1; - if(arg_get_str(ctx,4)->count == 1) - { + if (arg_get_str(ctx, 4)->count == 1) { has_options = 1; CLIGetHexWithReturn(ctx, 4, options, &len); - if(len != 1) - { + if (len != 1) { PrintAndLogEx(ERR, "Options must be 1 byte"); CLIParserFree(ctx); return PM3_EINVARG; } } len = 2; - if(arg_get_str(ctx,5)->count == 1) - { + if (arg_get_str(ctx, 5)->count == 1) { has_access = 1; CLIGetHexWithReturn(ctx, 5, access, &len); - if(len != 2) - { + if (len != 2) { PrintAndLogEx(ERR, "Access must be 2 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } } len = 1; - if(arg_get_str(ctx,6)->count == 1) - { + if (arg_get_str(ctx, 6)->count == 1) { has_sdmoptions = 1; CLIGetHexWithReturn(ctx, 6, sdmoptions, &len); - if(len != 1) - { + if (len != 1) { PrintAndLogEx(ERR, "SDM Options must be 1 byte"); CLIParserFree(ctx); return PM3_EINVARG; } } len = 2; - if(arg_get_str(ctx,7)->count == 1) - { + if (arg_get_str(ctx, 7)->count == 1) { has_sdmaccess = 1; CLIGetHexWithReturn(ctx, 7, sdmaccess, &len); - if(len != 2) - { + if (len != 2) { PrintAndLogEx(ERR, "SDM Access must be 2 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } } - for(int i = 0; i < 8; i++) - { - if(arg_get_str(ctx,8+i)->count == 1) - { + for (int i = 0; i < 8; i++) { + if (arg_get_str(ctx, 8 + i)->count == 1) { len = 3; num_sdm_data++; - CLIGetHexWithReturn(ctx, 8+i, sdm_data[i], &len); - if(len != 3) - { + CLIGetHexWithReturn(ctx, 8 + i, sdm_data[i], &len); + if (len != 3) { PrintAndLogEx(ERR, "sdmdata must be 3 bytes"); CLIParserFree(ctx); return PM3_EINVARG; } - } - else - { + } else { break; } } - + CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } ntag424_file_settings_t settings; res = ntag424_read_file_settings(fileno, &settings); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; } ntag424_session_keys_t session = {0}; res = ntag424_authenticate_ev2_first(keyno, key, &session); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); DropField(); return res; } - if(has_options) - { + if (has_options) { settings.options = options[0]; } - if(has_access) - { + if (has_access) { memcpy(settings.access, access, 2); } - if(has_sdmoptions) - { + if (has_sdmoptions) { settings.optional_sdm_settings.sdm_options = sdmoptions[0]; } - if(has_sdmaccess) - { + if (has_sdmaccess) { memcpy(settings.optional_sdm_settings.sdm_access, sdmaccess, 2); } - for(int i = 0; i < num_sdm_data; i++) - { + for (int i = 0; i < num_sdm_data; i++) { settings.optional_sdm_settings.sdm_data[i][2] = sdm_data[i][0]; settings.optional_sdm_settings.sdm_data[i][1] = sdm_data[i][1]; settings.optional_sdm_settings.sdm_data[i][0] = sdm_data[i][2]; } - if(ntag424_write_file_settings(fileno, &settings, &session) != PM3_SUCCESS) - { + if (ntag424_write_file_settings(fileno, &settings, &session) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to write settings"); DropField(); return PM3_ESOFT; } PrintAndLogEx(SUCCESS, "Wrote settings successfully"); ntag424_print_file_settings(fileno, &settings); - + DropField(); return res; } @@ -1320,24 +1222,20 @@ static int CmdHF_ntag424_changekey(const char *Cmd) { uint8_t newkey[16]; uint8_t authkey[16]; - if(keyno != 0) - { - if(ntag424_cli_get_auth_information(ctx, 0, 2, NULL, oldkey) != PM3_SUCCESS) - { - + if (keyno != 0) { + if (ntag424_cli_get_auth_information(ctx, 0, 2, NULL, oldkey) != PM3_SUCCESS) { + PrintAndLogEx(ERR, "Could not get keyno or old key"); CLIParserFree(ctx); return PM3_EINVARG; } } - if(ntag424_cli_get_auth_information(ctx, 0, 3, NULL, newkey) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 0, 3, NULL, newkey) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Could not get new key"); CLIParserFree(ctx); return PM3_EINVARG; } - if(ntag424_cli_get_auth_information(ctx, 0, 4, NULL, authkey) != PM3_SUCCESS) - { + if (ntag424_cli_get_auth_information(ctx, 0, 4, NULL, authkey) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Could not get authentication key"); CLIParserFree(ctx); return PM3_EINVARG; @@ -1345,43 +1243,35 @@ static int CmdHF_ntag424_changekey(const char *Cmd) { CLIParserFree(ctx); int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); return res; } res = ntag424_select_application(); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); return res; - } + } ntag424_session_keys_t session = {0}; res = ntag424_authenticate_ev2_first(0, authkey, &session); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to authenticate"); return PM3_ESOFT; - } - else - { + } else { PrintAndLogEx(SUCCESS, "Successfully authenticated"); } - + res = ntag424_change_key(keyno, newkey, oldkey, version, &session); - if(res != PM3_SUCCESS) - { + if (res != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to change key"); DropField(); return PM3_ESOFT; - } - else - { + } else { PrintAndLogEx(SUCCESS, "Successfully changed key %d", keyno); } diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index e4fab934d..5b3720d85 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -822,4 +822,4 @@ const static vocabulary_t vocabulary[] = { } #endif -#endif +#endif \ No newline at end of file diff --git a/doc/commands.json b/doc/commands.json index 635559526..d20870949 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -6790,6 +6790,78 @@ ], "usage": "hf mfu wrbl [-hl] [-k ] -b -d [--force]" }, + "hf ntag424 auth": { + "command": "hf ntag424 auth", + "description": "Authenticate with selected key against NTAG424.", + "notes": [ + "hf ntag424 auth -n 0 -k 00000000000000000000000000000000" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-n, --keyno Key number", + "-k, --key Key for authenticate (HEX 16 bytes)" + ], + "usage": "hf ntag424 auth [-h] -n -k " + }, + "hf ntag424 changefilesettings": { + "command": "hf ntag424 changefilesettings", + "description": "Updates file settings for file, must be authenticated. This is a short explanation of the settings. See AN12196 for more information: options: byte with bit flags Bit: Setting: 6 Enable SDM and mirroring access: two byte access rights. Each nibble is a key number, or E for free access. Order is key for readwrite, change, read and write sdmoptions: byte with bit flags Bit: Setting: 0 ASCII encoding 4 SDMEncFileData 5 SDMReadCtrLimit 6 SDMReadCtr 7 SDMOptionsUID sdmaccess: two byte access rights. Each nibble is a key, or E for plain mirror and F for no mirroring Order is SDMMetaRead, SDMFileRead, Reserved and SDMCtrRet sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times. Data means different things depending on settings. Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information. You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", + "notes": [ + "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-f, --file File number", + "-n, --keyno Key number", + "-k, --key Key for authentication (HEX 16 bytes)", + "-o, --options File options byte (HEX 1 byte)", + "-a, --access File access settings (HEX 2 bytes)", + "-s, --sdmoptions SDM options (HEX 1 byte)", + "-c, --sdmaccess SDM access settings (HEX 2 bytes)", + "--sdmdata1 SDM data (HEX 3 bytes)", + "--sdmdata2 SDM data (HEX 3 bytes)", + "--sdmdata3 SDM data (HEX 3 bytes)", + "--sdmdata4 SDM data (HEX 3 bytes)", + "--sdmdata5 SDM data (HEX 3 bytes)", + "--sdmdata6 SDM data (HEX 3 bytes)", + "--sdmdata7 SDM data (HEX 3 bytes)", + "--sdmdata8 SDM data (HEX 3 bytes)" + ], + "usage": "hf ntag424 changefilesettings [-h] -f -n -k [-o ] [-a ] [-s ] [-c ] [--sdmdata1 ] [--sdmdata2 ] [--sdmdata3 ] [--sdmdata4 ] [--sdmdata5 ] [--sdmdata6 ] [--sdmdata7 ] [--sdmdata8 ]" + }, + "hf ntag424 changekey": { + "command": "hf ntag424 changekey", + "description": "Change a key. Authentication key must currently be different to the one we want to change.", + "notes": [ + "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1", + "hf ntag424 changekey -n 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-n, --keyno Key number to change", + "--oldkey Old key (only needed when changing key 1-4, HEX 16 bytes)", + "--newkey New key (HEX 16 bytes)", + "--key0 Authentication key (must be key 0, HEX 16 bytes)", + "-v, --version Version of the new key" + ], + "usage": "hf ntag424 changekey [-h] -n [--oldkey ] --newkey --key0 -v " + }, + "hf ntag424 getfilesettings": { + "command": "hf ntag424 getfilesettings", + "description": "Read and print file settings for file", + "notes": [ + "hf ntag424 getfilesettings -f 2" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-f, --file File number" + ], + "usage": "hf ntag424 getfilesettings [-h] -f " + }, "hf ntag424 info": { "command": "hf ntag424 info", "description": "Get info about NXP NTAG424 DNA Family styled tag.", @@ -6802,17 +6874,22 @@ ], "usage": "hf ntag424 info [-h]" }, - "hf ntag424 sdm": { - "command": "hf ntag424 sdm", - "description": "Validate a SDM message", + "hf ntag424 read": { + "command": "hf ntag424 read", + "description": "Read and print data from file on NTAG424 tag. Will authenticate if key information is provided.", "notes": [ - "hf ntag424 sdm" + "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256" ], "offline": false, "options": [ - "-h, --help This help" + "-h, --help This help", + "-f, --fileno File number (1-3), (default 2)", + "-n, --keyno Key number", + "-k, --key Key for authentication (HEX 16 bytes)", + "-o, --offset Offset to read in file (default 0)", + "-l, --length Number of bytes to read" ], - "usage": "hf ntag424 sdm [-h]" + "usage": "hf ntag424 read [-h] -f [-n ] [-k ] [-o ] -l " }, "hf ntag424 view": { "command": "hf ntag424 view", @@ -6828,6 +6905,23 @@ ], "usage": "hf ntag424 view [-hv] -f " }, + "hf ntag424 write": { + "command": "hf ntag424 write", + "description": "Write data to file on NTAG424 tag. Will authenticate if key information is provided.", + "notes": [ + "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-f, --fileno File number (1-3), (default 2)", + "-n, --keyno Key number", + "-k, --key Key for authentication (HEX 16 bytes)", + "-o, --offset Offset to write in file (default 0)", + "-d, --data Data to write" + ], + "usage": "hf ntag424 write [-h] -f [-n ] [-k ] [-o ] -d " + }, "hf plot": { "command": "hf plot", "description": "Plots HF signal after RF signal path and A/D conversion.", @@ -8053,9 +8147,10 @@ "options": [ "-h, --help This help", "-p, --pwd password (00000000)", - "-f, --file override filename prefix (optional). Default is based on UID" + "-f, --file override filename prefix (optional). Default is based on UID", + "--ns no save to file" ], - "usage": "lf em 4x05 dump [-h] [-p ] [-f ]" + "usage": "lf em 4x05 dump [-h] [-p ] [-f ] [--ns]" }, "lf em 4x05 info": { "command": "lf em 4x05 info", @@ -11915,8 +12010,8 @@ } }, "metadata": { - "commands_extracted": 691, + "commands_extracted": 696, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-22T12:20:10" + "extracted_on": "2023-10-27T16:08:32" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index a2059a666..43eeb3535 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -649,9 +649,14 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`hf ntag424 help `|Y |`This help` -|`hf ntag424 info `|N |`Tag information` -|`hf ntag424 sdm `|N |`Prints NDEF records from card` +|`hf ntag424 info `|N |`Tag information (not implemented yet)` |`hf ntag424 view `|Y |`Display content from tag dump file` +|`hf ntag424 auth `|N |`Test authentication with key` +|`hf ntag424 read `|N |`Read file` +|`hf ntag424 write `|N |`Write file` +|`hf ntag424 getfilesettings`|N |`Get file settings` +|`hf ntag424 changefilesettings`|N |`Change file settings` +|`hf ntag424 changekey `|N |`Change key` ### hf seos From 1eaf8d0e804f6bd02c74617639446849554c6277 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Sat, 28 Oct 2023 10:33:30 +0200 Subject: [PATCH 154/278] Fixed incorrect order of sdm access rights in command help --- client/src/cmdhfntag424.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 25e862ef8..d0f8022e9 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -1025,7 +1025,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "sdmaccess: two byte access rights.\n" "Each nibble is a key, or E for plain mirror and F for no mirroring\n" - "Order is SDMMetaRead, SDMFileRead, Reserved and SDMCtrRet\n\n" + "Order is Reserved, SDMCtrRet, SDMMetaRead and SDMFileRead\n\n" "sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times.\n" "Data means different things depending on settings.\n\n" From 6d290f1bae8b34a6303dec1bd3d8876ab13580c2 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Sun, 29 Oct 2023 13:43:25 +0100 Subject: [PATCH 155/278] Less magic numbers, more refactoring --- client/src/cmdhfntag424.c | 423 ++++++++++++++++++++------------------ doc/commands.json | 4 +- 2 files changed, 222 insertions(+), 205 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index d0f8022e9..f01df9605 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -21,6 +21,7 @@ #include "cmdparser.h" #include "commonutil.h" #include "comms.h" +#include "iso7816/apduinfo.h" #include "protocols.h" #include "cliparser.h" #include "cmdmain.h" @@ -32,7 +33,17 @@ #include "util.h" #include "crc32.h" -#define NTAG424_MAX_BYTES 412 +#define NTAG424_MAX_BYTES 412 + + +// NTAG424 commands currently implemented +#define NTAG424_CMD_GET_FILE_SETTINGS 0xF5 +#define NTAG424_CMD_CHANGE_FILE_SETTINGS 0x5F +#define NTAG424_CMD_CHANGE_KEY 0xC4 +#define NTAG424_CMD_READ_DATA 0xAD +#define NTAG424_CMD_WRITE_DATA 0x8D +#define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_1 0x71 +#define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_2 0xAF static int CmdHelp(const char *Cmd); @@ -98,6 +109,12 @@ typedef struct { uint8_t mac[16]; } ntag424_session_keys_t; +typedef enum { + COMM_PLAIN, + COMM_MAC, + COMM_FULL +} ntag424_communication_mode_t; + // -------------- File settings structs ------------------------- // Enabling this bit in the settings will also reset the read counter to 0 #define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) @@ -214,36 +231,6 @@ static int ntag424_calc_file_write_settings_size(const ntag424_file_settings_t * return ntag424_calc_file_settings_size(settings) - 4; } -static int ntag424_read_file_settings(uint8_t fileno, ntag424_file_settings_t *settings_out) { - const size_t RESPONSE_LENGTH = sizeof(ntag424_file_settings_t) + 2; - uint8_t cmd[] = { 0x90, 0xF5, 0x00, 0x00, 0x01, fileno, 0x00}; - uint8_t resp[RESPONSE_LENGTH]; - int outlen = 0; - int res; - - res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); - if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); - return res; - } - - if (outlen < 9) { - PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); - return PM3_ESOFT; - } - - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Failed to get file settings"); - return PM3_ESOFT; - } - - if (settings_out) { - memcpy(settings_out, resp, outlen - 2); - } - - return PM3_SUCCESS; -} - static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { uint8_t iv_clear[] = { 0xa5, 0x5a, session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], @@ -277,46 +264,132 @@ static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t comma free(mac_input); } -static int ntag424_comm_full_encrypt_apdu(const uint8_t *apdu_in, uint8_t *apdu_out, int *apdu_out_size, ntag424_session_keys_t *session_keys) { -#define MAC_SIZE 8 -#define APDU_HEADER_SIZE 5 -#define APDU_OVERHEAD (APDU_HEADER_SIZE + 1) +static int ntag424_comm_mac_apdu(APDU_t *apdu, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { + int size = apdu->lc; + + if (size + 8 > apdu_max_data_size) { + return PM3_EOVFLOW; + } + + ntag424_calc_mac(session_keys, apdu->ins, apdu->data[0], &apdu->data[1], size - 1, &apdu->data[size]); + + apdu->lc = size + 8; + + return PM3_SUCCESS; +} + +static int ntag424_comm_encrypt_apdu(APDU_t *apdu, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { // ------- Calculate IV uint8_t ivc[16]; ntag424_calc_iv(session_keys, ivc); - - // ------- Copy apdu header - size_t size = apdu_in[4]; - memcpy(apdu_out, apdu_in, 6); + int size = apdu->lc; size_t encrypt_data_size = size - 1; size_t padded_data_size = encrypt_data_size + 16 - (encrypt_data_size % 16); // pad up to 16 byte blocks uint8_t temp_buffer[256] = {0}; - int apdu_final_size = APDU_OVERHEAD + padded_data_size + 8 + 1; // + MAC and CmdHdr - if (*apdu_out_size < apdu_final_size) { - PrintAndLogEx(ERR, "APDU out buffer not large enough"); - return PM3_EINVARG; + if (padded_data_size + 1 > apdu_max_data_size) { + return PM3_EOVFLOW; } - *apdu_out_size = apdu_final_size; - // ------ Pad data - memcpy(temp_buffer, &apdu_in[APDU_HEADER_SIZE + 1], encrypt_data_size); // We encrypt everything except the CmdHdr + memcpy(temp_buffer, &apdu->data[1], encrypt_data_size); // We encrypt everything except the CmdHdr (first byte in data) temp_buffer[encrypt_data_size] = 0x80; // ------ Encrypt it - memcpy(apdu_out, apdu_in, 4); - aes_encode(ivc, session_keys->encryption, temp_buffer, &apdu_out[6], padded_data_size); + aes_encode(ivc, session_keys->encryption, temp_buffer, &apdu->data[1], padded_data_size); - // ------ Add MAC - ntag424_calc_mac(session_keys, apdu_in[1], apdu_in[5], &apdu_out[6], padded_data_size, &apdu_out[APDU_HEADER_SIZE + padded_data_size + 1]); + apdu->lc = (uint8_t)(1 + padded_data_size); // Set size to CmdHdr + padded data - apdu_out[4] = (uint8_t)(padded_data_size + 8 + 1); // Set size to CmdHdr + padded data + MAC - apdu_out[APDU_HEADER_SIZE + padded_data_size + 8 + 1] = 0; // Le + return PM3_SUCCESS; +} +static int ntag424_exchange_apdu(APDU_t *apdu, uint8_t *response, int *response_length, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys, uint8_t sw1_expected, uint8_t sw2_expected) { + + int res; + + // New buffer since we might need to expand the data in the apdu + int buffer_length = 256; + uint8_t tmp_apdu_buffer[256] = {0}; + + if (comm_mode != COMM_PLAIN) { + if (session_keys == NULL) { + PrintAndLogEx(ERR, "Non-plain communications mode requested but no session keys supplied"); + return PM3_EINVARG; + } + memcpy(tmp_apdu_buffer, apdu->data, apdu->lc); + apdu->data = tmp_apdu_buffer; + } + + if (comm_mode == COMM_FULL) { + res = ntag424_comm_encrypt_apdu(apdu, buffer_length, session_keys); + if (res != PM3_SUCCESS) { + return res; + } + } + + if (comm_mode == COMM_MAC || comm_mode == COMM_FULL) { + res = ntag424_comm_mac_apdu(apdu, buffer_length, session_keys); + if (res != PM3_SUCCESS) { + return res; + } + } + + uint8_t cmd[256] = {0}; + int apdu_length = 256; + + if (APDUEncode(apdu, cmd, &apdu_length) != 0) { + return PM3_EINVARG; + } + + res = ExchangeAPDU14a(cmd, apdu_length + 1, false, true, response, *response_length, response_length); + if (res != PM3_SUCCESS) { + PrintAndLogEx(ERR, "Failed to exchange APDU"); + return res; + } + + if (*response_length < 2) { + PrintAndLogEx(ERR, "No response"); + return PM3_ESOFT; + } + + uint8_t sw1 = response[*response_length - 2]; + uint8_t sw2 = response[*response_length - 1]; + + if (sw1 != sw1_expected || sw2 != sw2_expected) { + PrintAndLogEx(ERR, "Error from card: %02X %02X (%s)", sw1, sw2, GetAPDUCodeDescription(sw1, sw2)); + return PM3_ESOFT; + } + + // TODO: In case of COMM_FULL we would need to decrypt response here as well. + // And in case of COMM_MAC we would need to verify the MAC here, if we want to verify the card. + + return PM3_SUCCESS; +} + + +static int ntag424_get_file_settings(uint8_t fileno, ntag424_file_settings_t *settings_out) { + int response_length = sizeof(ntag424_file_settings_t) + 2; + uint8_t response[response_length]; + + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_GET_FILE_SETTINGS, + .lc = 1, + .data = &fileno, + .extended_apdu = false + }; + + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); + if (res != PM3_SUCCESS) { + return res; + } + + if (settings_out) { + memcpy(settings_out, response, response_length); + } return PM3_SUCCESS; } @@ -331,46 +404,29 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * .optional_sdm_settings = settings->optional_sdm_settings, }; - // ------- Assemble the actual command size_t settings_size = ntag424_calc_file_write_settings_size(settings); - uint8_t lc = 1 + settings_size; // CmdHeader + size */ - uint8_t cmd_header[] = { - 0x90, 0x5f, 0x00, 0x00, - lc, - fileno + uint8_t cmd_buffer[256]; + cmd_buffer[0] = fileno; + memcpy(&cmd_buffer[1], &write_settings, settings_size); + + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_CHANGE_FILE_SETTINGS, + .lc = 1 + settings_size, + .data = cmd_buffer }; - uint8_t cmd[256] = {0}; - memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], (void *)&write_settings, settings_size); - cmd[sizeof(cmd_header) + settings_size] = 0x00; - uint8_t apdu_out[256] = {0}; - int apdu_out_size = 256; - ntag424_comm_full_encrypt_apdu(cmd, apdu_out, &apdu_out_size, session_keys); // ------- Actually send the APDU - const size_t RESPONSE_LENGTH = 8 + 2; - int outlen; - uint8_t resp[RESPONSE_LENGTH]; - int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); - if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); - return res; - } + int response_length = 8 + 2; + uint8_t response[response_length]; - if (outlen != RESPONSE_LENGTH) { - PrintAndLogEx(ERR, "Incorrect response length: %d, %02X%02X", outlen, resp[outlen - 2], resp[outlen - 1]); - return PM3_ESOFT; - } + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Failed to get file settings"); - return PM3_ESOFT; - } session_keys->command_counter++; // Should this be incremented only on success? - return PM3_SUCCESS; + return res; } static void ntag424_print_file_settings(uint8_t fileno, const ntag424_file_settings_t *settings) { @@ -424,53 +480,50 @@ static int ntag424_select_application(void) { } static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) { - const size_t RESPONSE_LENGTH = 16 + 2; - uint8_t cmd[] = {0x90, 0x71, 0x00, 0x00, 0x02, keyno, 0x00, 0x00}; - uint8_t resp[RESPONSE_LENGTH]; - int outlen = 0; - int res; + uint8_t key_number[2] = { keyno, 0x00 }; - res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_1, + .lc = 0x02, + .data = key_number + }; + + int response_length = 16 + 2; + uint8_t response[response_length]; + + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0xAF); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if (outlen != RESPONSE_LENGTH || resp[RESPONSE_LENGTH - 2] != 0x91 || resp[RESPONSE_LENGTH - 1] != 0xAF) { + if (response_length != 16 + 2) { PrintAndLogEx(ERR, "Failed to get RndB (invalid key number?)"); return PM3_ESOFT; } uint8_t iv[16] = {0}; - aes_decode(iv, key, resp, out, 16); + aes_decode(iv, key, response, out, 16); return PM3_SUCCESS; } -static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response) { - uint8_t cmd_header[] = { 0x90, 0xAF, 0x00, 0x00, 0x20 }; +static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response_out) { + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_2, + .lc = 0x20, + .data = challenge, + }; + int response_length = 256; + uint8_t response[response_length]; - uint8_t cmd[sizeof(cmd_header) + 32 + 1] = {0}; - - memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], challenge, 32); - - const size_t RESPONSE_LENGTH = 256; - uint8_t resp[RESPONSE_LENGTH]; - int outlen = 0; - int res; - - res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); if (res != PM3_SUCCESS) { return res; } - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Challenge failed: wrong key?"); - return PM3_ESOFT; - } - - memcpy(response, resp, outlen - 2); + memcpy(response_out, response, response_length - 2); return PM3_SUCCESS; } @@ -571,54 +624,47 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s return PM3_SUCCESS; } -#define MAX_WRITE_APDU 248 +#define MAX_WRITE_APDU (200) // Write file to card. Only supports plain communications mode. Authentication must be done // first unless file has free write access. -static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in) { - const size_t RESPONSE_LENGTH = 2; +static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in) { size_t remainder = 0; + // Split writes that are too large for one APDU if (num_bytes > MAX_WRITE_APDU) { remainder = num_bytes - MAX_WRITE_APDU; num_bytes = MAX_WRITE_APDU; } - // 248 + - uint8_t cmd_header[] = { 0x90, 0x8d, 0x00, 0x00, 0x07 + num_bytes, fileno, - (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size - }; + uint8_t cmd_header[] = { + fileno, + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size + }; - uint8_t cmd[512] = {0}; + uint8_t cmd[256] = {0}; memcpy(cmd, cmd_header, sizeof(cmd_header)); memcpy(&cmd[sizeof(cmd_header)], in, num_bytes); - size_t total_size = sizeof(cmd_header) + num_bytes + 1; //(Le) + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_WRITE_DATA, + .lc = sizeof(cmd_header) + num_bytes, + .data = cmd, + }; - uint8_t resp[RESPONSE_LENGTH]; - int outlen = 0; - int res; + int response_length = 2; + uint8_t response[response_length]; - res = ExchangeAPDU14a(cmd, total_size, false, true, resp, RESPONSE_LENGTH, &outlen); + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if (outlen != RESPONSE_LENGTH) { - PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); - return PM3_ESOFT; - } - - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Failed to write file"); - return PM3_ESOFT; - } - if (remainder > 0) { - return ntag424_write_file(fileno, offset + num_bytes, remainder, &in[num_bytes]); + return ntag424_write_data(fileno, offset + num_bytes, remainder, &in[num_bytes]); } return PM3_SUCCESS; @@ -626,35 +672,29 @@ static int ntag424_write_file(uint8_t fileno, uint16_t offset, uint16_t num_byte // Read file from card. Only supports plain communications mode. Authentication must be done // first unless file has free read access. -static int ntag424_read_file(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out) { - const size_t RESPONSE_LENGTH = num_bytes + 2; +static int ntag424_read_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out) { + uint8_t cmd[] = { + fileno, + (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00 + }; - uint8_t cmd[] = { 0x90, 0xad, 0x00, 0x00, 0x07, fileno, - (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00, //size - 0x00 - }; - uint8_t resp[RESPONSE_LENGTH]; - int outlen = 0; - int res; + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_READ_DATA, + .lc = sizeof(cmd), + .data = cmd, + }; - res = ExchangeAPDU14a(cmd, sizeof(cmd), false, true, resp, RESPONSE_LENGTH, &outlen); + int response_length = num_bytes + 2; + uint8_t response[response_length]; + + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); return res; } - if (outlen != RESPONSE_LENGTH) { - PrintAndLogEx(ERR, "Incorrect response length: %d, %s", outlen, sprint_hex(resp, 2)); - return PM3_ESOFT; - } - - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Failed to read file"); - return PM3_ESOFT; - } - - memcpy(out, resp, num_bytes); + memcpy(out, response, num_bytes); return PM3_SUCCESS; } @@ -671,57 +711,34 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, memcpy(key, new_key, 16); } - // ------- Calculate KeyData - uint8_t keydata[32] = {0}; - memcpy(keydata, key, 16); - keydata[16] = version; + // ------- Assemble KeyData command + uint8_t key_cmd_data[32] = {0}; + key_cmd_data[0] = keyno; + memcpy(&key_cmd_data[1], key, 16); + key_cmd_data[17] = version; int key_data_len; if (keyno != 0) { - memcpy(&keydata[17], crc, 4); - keydata[21] = 0x80; - key_data_len = 16 + 4 + 1; + memcpy(&key_cmd_data[18], crc, sizeof(crc)); + key_data_len = sizeof(keyno) + sizeof(key) + sizeof(version) + sizeof(crc); } else { - keydata[17] = 0x80; - key_data_len = 16 + 1; + key_data_len = sizeof(keyno) + sizeof(key) + sizeof(version); } - // ------- Assemble APDU - uint8_t cmd_header[] = { - 0x90, 0xC4, 0x00, 0x00, key_data_len + 1, keyno + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_CHANGE_KEY, + .lc = key_data_len, + .data = key_cmd_data }; - uint8_t cmd[512] = {0}; - memcpy(cmd, cmd_header, sizeof(cmd_header)); - memcpy(&cmd[sizeof(cmd_header)], keydata, key_data_len); + int response_length = 8 + 2; + uint8_t response[response_length]; - uint8_t apdu_out[256]; - int apdu_out_size = 256; - ntag424_comm_full_encrypt_apdu(cmd, apdu_out, &apdu_out_size, session_keys); - - - // ------- Actually send the APDU - const size_t RESPONSE_LENGTH = 8 + 2; - int outlen; - uint8_t resp[RESPONSE_LENGTH]; - int res = ExchangeAPDU14a(apdu_out, apdu_out_size, false, true, resp, RESPONSE_LENGTH, &outlen); - if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to send apdu"); - return res; - } - - if (outlen < 2) { - PrintAndLogEx(ERR, "Incorrect response length: %d", outlen); - return PM3_ESOFT; - } - - if (resp[outlen - 2] != 0x91 || resp[outlen - 1] != 0x00) { - PrintAndLogEx(ERR, "Error when changing key. Wrong old key?"); - return PM3_ESOFT; - } + int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); session_keys->command_counter++; // Should this be incremented only on success? - return PM3_SUCCESS; + return res; } @@ -871,7 +888,7 @@ static int CmdHF_ntag424_read(const char *Cmd) { uint8_t data[512]; - res = ntag424_read_file(fileno, offset, read_length, data); + res = ntag424_read_data(fileno, offset, read_length, data); if (res != PM3_SUCCESS) { DropField(); return res; @@ -947,7 +964,7 @@ static int CmdHF_ntag424_write(const char *Cmd) { } } - res = ntag424_write_file(fileno, offset, datalen, data); + res = ntag424_write_data(fileno, offset, datalen, data); if (res != PM3_SUCCESS) { DropField(); return res; @@ -990,7 +1007,7 @@ static int CmdHF_ntag424_getfilesettings(const char *Cmd) { } ntag424_file_settings_t settings; - res = ntag424_read_file_settings(fileno, &settings); + res = ntag424_get_file_settings(fileno, &settings); DropField(); if (res != PM3_SUCCESS) { return res; @@ -1151,7 +1168,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { } ntag424_file_settings_t settings; - res = ntag424_read_file_settings(fileno, &settings); + res = ntag424_get_file_settings(fileno, &settings); if (res != PM3_SUCCESS) { DropField(); return res; diff --git a/doc/commands.json b/doc/commands.json index d20870949..9499df7e1 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -6806,7 +6806,7 @@ }, "hf ntag424 changefilesettings": { "command": "hf ntag424 changefilesettings", - "description": "Updates file settings for file, must be authenticated. This is a short explanation of the settings. See AN12196 for more information: options: byte with bit flags Bit: Setting: 6 Enable SDM and mirroring access: two byte access rights. Each nibble is a key number, or E for free access. Order is key for readwrite, change, read and write sdmoptions: byte with bit flags Bit: Setting: 0 ASCII encoding 4 SDMEncFileData 5 SDMReadCtrLimit 6 SDMReadCtr 7 SDMOptionsUID sdmaccess: two byte access rights. Each nibble is a key, or E for plain mirror and F for no mirroring Order is SDMMetaRead, SDMFileRead, Reserved and SDMCtrRet sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times. Data means different things depending on settings. Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information. You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", + "description": "Updates file settings for file, must be authenticated. This is a short explanation of the settings. See AN12196 for more information: options: byte with bit flags Bit: Setting: 6 Enable SDM and mirroring access: two byte access rights. Each nibble is a key number, or E for free access. Order is key for readwrite, change, read and write sdmoptions: byte with bit flags Bit: Setting: 0 ASCII encoding 4 SDMEncFileData 5 SDMReadCtrLimit 6 SDMReadCtr 7 SDMOptionsUID sdmaccess: two byte access rights. Each nibble is a key, or E for plain mirror and F for no mirroring Order is Reserved, SDMCtrRet, SDMMetaRead and SDMFileRead sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times. Data means different things depending on settings. Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information. You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", "notes": [ "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043" ], @@ -12012,6 +12012,6 @@ "metadata": { "commands_extracted": 696, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-27T16:08:32" + "extracted_on": "2023-10-29T12:42:07" } } \ No newline at end of file From 912c1262664978a406bc54c92bb340e83767de38 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Sun, 29 Oct 2023 16:44:53 +0100 Subject: [PATCH 156/278] Added encrypted comms to ReadData and WriteData commands This allows reading and writing to the "proprietary" file (number 3), or file 2 if it's set to "full" communications mode. --- client/src/cmdhfntag424.c | 229 +++++++++++++++++++++++--------------- doc/commands.json | 12 +- 2 files changed, 145 insertions(+), 96 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index f01df9605..cc308cc2a 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -45,45 +45,6 @@ #define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_1 0x71 #define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_2 0xAF -static int CmdHelp(const char *Cmd); - -static int CmdHF_ntag424_view(const char *Cmd) { - - CLIParserContext *ctx; - CLIParserInit(&ctx, "hf ntag424 view", - "Print a NTAG 424 DNA dump file (bin/eml/json)", - "hf ntag424 view -f hf-ntag424-01020304-dump.bin" - ); - void *argtable[] = { - arg_param_begin, - arg_str1("f", "file", "", "Specify a filename for dump file"), - arg_lit0("v", "verbose", "Verbose output"), - arg_param_end - }; - CLIExecWithReturn(ctx, Cmd, argtable, false); - int fnlen = 0; - char filename[FILE_PATH_SIZE]; - CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); - bool verbose = arg_get_lit(ctx, 2); - CLIParserFree(ctx); - - // read dump file - uint8_t *dump = NULL; - size_t bytes_read = NTAG424_MAX_BYTES; - int res = pm3_load_dump(filename, (void **)&dump, &bytes_read, NTAG424_MAX_BYTES); - if (res != PM3_SUCCESS) { - return res; - } - - if (verbose) { - PrintAndLogEx(INFO, "File: " _YELLOW_("%s"), filename); - PrintAndLogEx(INFO, "File size %zu bytes", bytes_read); - } - - free(dump); - return PM3_SUCCESS; -} - // // Original from https://github.com/rfidhacking/node-sdm/ // @@ -115,6 +76,13 @@ typedef enum { COMM_FULL } ntag424_communication_mode_t; +const CLIParserOption ntag424_communication_mode_options[] = { + {COMM_PLAIN, "plain"}, + {COMM_MAC, "mac"}, + {COMM_FULL, "encrypt"}, + {0, NULL}, +}; + // -------------- File settings structs ------------------------- // Enabling this bit in the settings will also reset the read counter to 0 #define FILE_SETTINGS_OPTIONS_SDM_AND_MIRRORING (1 << 6) @@ -231,7 +199,7 @@ static int ntag424_calc_file_write_settings_size(const ntag424_file_settings_t * return ntag424_calc_file_settings_size(settings) - 4; } -static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { +static void ntag424_calc_send_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { uint8_t iv_clear[] = { 0xa5, 0x5a, session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), @@ -242,11 +210,21 @@ static void ntag424_calc_iv(ntag424_session_keys_t *session_keys, uint8_t *out_i aes_encode(zero_iv, session_keys->encryption, iv_clear, out_ivc, 16); } -static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t command, uint8_t command_header, uint8_t *data, uint8_t datalen, uint8_t *out_mac) { +static void ntag424_calc_recieve_iv(ntag424_session_keys_t *session_keys, uint8_t *out_ivc) { + uint8_t iv_clear[] = { 0x5a, 0xa5, + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], + (uint8_t)(session_keys->command_counter), (uint8_t)(session_keys->command_counter >> 8), + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + uint8_t zero_iv[16] = {0}; + aes_encode(zero_iv, session_keys->encryption, iv_clear, out_ivc, 16); +} + +static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t command, uint8_t *data, uint8_t datalen, uint8_t *out_mac) { uint8_t mac_input_header[] = { command, (uint8_t)session_keys->command_counter, (uint8_t)(session_keys->command_counter >> 8), - session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3], - command_header, + session_keys->ti[0], session_keys->ti[1], session_keys->ti[2], session_keys->ti[3] }; int mac_input_len = sizeof(mac_input_header) + datalen; @@ -264,7 +242,7 @@ static void ntag424_calc_mac(ntag424_session_keys_t *session_keys, uint8_t comma free(mac_input); } -static int ntag424_comm_mac_apdu(APDU_t *apdu, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { +static int ntag424_comm_mac_apdu(APDU_t *apdu, int command_header_length, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { int size = apdu->lc; @@ -272,41 +250,45 @@ static int ntag424_comm_mac_apdu(APDU_t *apdu, int apdu_max_data_size, ntag424_s return PM3_EOVFLOW; } - ntag424_calc_mac(session_keys, apdu->ins, apdu->data[0], &apdu->data[1], size - 1, &apdu->data[size]); - + ntag424_calc_mac(session_keys, apdu->ins, apdu->data, size, &apdu->data[size]); + session_keys->command_counter++; // CmdCtr should be incremented each time a MAC is calculated apdu->lc = size + 8; return PM3_SUCCESS; } -static int ntag424_comm_encrypt_apdu(APDU_t *apdu, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { +static int ntag424_comm_encrypt_apdu(APDU_t *apdu, int command_header_length, int apdu_max_data_size, ntag424_session_keys_t *session_keys) { // ------- Calculate IV uint8_t ivc[16]; - ntag424_calc_iv(session_keys, ivc); + ntag424_calc_send_iv(session_keys, ivc); int size = apdu->lc; - size_t encrypt_data_size = size - 1; + size_t encrypt_data_size = size - command_header_length; size_t padded_data_size = encrypt_data_size + 16 - (encrypt_data_size % 16); // pad up to 16 byte blocks uint8_t temp_buffer[256] = {0}; - if (padded_data_size + 1 > apdu_max_data_size) { + if (!encrypt_data_size) { + return PM3_SUCCESS; + } + + if (padded_data_size + command_header_length > apdu_max_data_size) { return PM3_EOVFLOW; } // ------ Pad data - memcpy(temp_buffer, &apdu->data[1], encrypt_data_size); // We encrypt everything except the CmdHdr (first byte in data) + memcpy(temp_buffer, &apdu->data[command_header_length], encrypt_data_size); // We encrypt everything except the CmdHdr (first byte in data) temp_buffer[encrypt_data_size] = 0x80; // ------ Encrypt it - aes_encode(ivc, session_keys->encryption, temp_buffer, &apdu->data[1], padded_data_size); + aes_encode(ivc, session_keys->encryption, temp_buffer, &apdu->data[command_header_length], padded_data_size); - apdu->lc = (uint8_t)(1 + padded_data_size); // Set size to CmdHdr + padded data + apdu->lc = (uint8_t)(command_header_length + padded_data_size); // Set size to CmdHdr + padded data return PM3_SUCCESS; } -static int ntag424_exchange_apdu(APDU_t *apdu, uint8_t *response, int *response_length, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys, uint8_t sw1_expected, uint8_t sw2_expected) { +static int ntag424_exchange_apdu(APDU_t *apdu, int command_header_length, uint8_t *response, int *response_length, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys, uint8_t sw1_expected, uint8_t sw2_expected) { int res; @@ -324,14 +306,14 @@ static int ntag424_exchange_apdu(APDU_t *apdu, uint8_t *response, int *response_ } if (comm_mode == COMM_FULL) { - res = ntag424_comm_encrypt_apdu(apdu, buffer_length, session_keys); + res = ntag424_comm_encrypt_apdu(apdu, command_header_length, buffer_length, session_keys); if (res != PM3_SUCCESS) { return res; } } if (comm_mode == COMM_MAC || comm_mode == COMM_FULL) { - res = ntag424_comm_mac_apdu(apdu, buffer_length, session_keys); + res = ntag424_comm_mac_apdu(apdu, command_header_length, buffer_length, session_keys); if (res != PM3_SUCCESS) { return res; } @@ -346,7 +328,7 @@ static int ntag424_exchange_apdu(APDU_t *apdu, uint8_t *response, int *response_ res = ExchangeAPDU14a(cmd, apdu_length + 1, false, true, response, *response_length, response_length); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to exchange APDU"); + PrintAndLogEx(ERR, "Failed to exchange APDU: %d", res); return res; } @@ -363,8 +345,18 @@ static int ntag424_exchange_apdu(APDU_t *apdu, uint8_t *response, int *response_ return PM3_ESOFT; } - // TODO: In case of COMM_FULL we would need to decrypt response here as well. - // And in case of COMM_MAC we would need to verify the MAC here, if we want to verify the card. + // Decrypt data if we are in full communications mode. If we want to verify MAC, this + // should also be done here + if (comm_mode == COMM_FULL) { + uint8_t iv[16] = {0}; + ntag424_calc_recieve_iv(session_keys, iv); + + uint8_t tmp[256]; + memcpy(tmp, response, *response_length); + aes_decode(iv, session_keys->encryption, response, tmp, *response_length - 10); + + memcpy(response, tmp, *response_length); + } return PM3_SUCCESS; } @@ -382,7 +374,7 @@ static int ntag424_get_file_settings(uint8_t fileno, ntag424_file_settings_t *se .extended_apdu = false }; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); + int res = ntag424_exchange_apdu(&apdu, 1, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); if (res != PM3_SUCCESS) { return res; } @@ -422,10 +414,7 @@ static int ntag424_write_file_settings(uint8_t fileno, ntag424_file_settings_t * int response_length = 8 + 2; uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); - - - session_keys->command_counter++; // Should this be incremented only on success? + int res = ntag424_exchange_apdu(&apdu, 1, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); return res; } @@ -492,7 +481,7 @@ static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) { int response_length = 16 + 2; uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0xAF); + int res = ntag424_exchange_apdu(&apdu, 2, response, &response_length, COMM_PLAIN, NULL, 0x91, 0xAF); if (res != PM3_SUCCESS) { return res; } @@ -518,7 +507,7 @@ static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response_out) { int response_length = 256; uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); + int res = ntag424_exchange_apdu(&apdu, 0x20, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); if (res != PM3_SUCCESS) { return res; } @@ -628,7 +617,7 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s // Write file to card. Only supports plain communications mode. Authentication must be done // first unless file has free write access. -static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in) { +static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys) { size_t remainder = 0; // Split writes that are too large for one APDU @@ -655,16 +644,16 @@ static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_byte .data = cmd, }; - int response_length = 2; + int response_length = 8 + 2; // potential MAC and result uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); + int res = ntag424_exchange_apdu(&apdu, sizeof(cmd_header), response, &response_length, comm_mode, session_keys, 0x91, 0x00); if (res != PM3_SUCCESS) { return res; } if (remainder > 0) { - return ntag424_write_data(fileno, offset + num_bytes, remainder, &in[num_bytes]); + return ntag424_write_data(fileno, offset + num_bytes, remainder, &in[num_bytes], comm_mode, session_keys); } return PM3_SUCCESS; @@ -672,8 +661,8 @@ static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_byte // Read file from card. Only supports plain communications mode. Authentication must be done // first unless file has free read access. -static int ntag424_read_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out) { - uint8_t cmd[] = { +static int ntag424_read_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *out, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys) { + uint8_t cmd_header[] = { fileno, (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), 0x00 @@ -682,14 +671,14 @@ static int ntag424_read_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes APDU_t apdu = { .cla = 0x90, .ins = NTAG424_CMD_READ_DATA, - .lc = sizeof(cmd), - .data = cmd, + .lc = sizeof(cmd_header), + .data = cmd_header, }; - int response_length = num_bytes + 2; + int response_length = num_bytes + 4 + 2 + 20; // number of bytes to read + mac + result + potential padding uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00); + int res = ntag424_exchange_apdu(&apdu, sizeof(cmd_header), response, &response_length, comm_mode, session_keys, 0x91, 0x00); if (res != PM3_SUCCESS) { return res; } @@ -734,12 +723,47 @@ static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, int response_length = 8 + 2; uint8_t response[response_length]; - int res = ntag424_exchange_apdu(&apdu, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); - - session_keys->command_counter++; // Should this be incremented only on success? - + int res = ntag424_exchange_apdu(&apdu, 1, response, &response_length, COMM_FULL, session_keys, 0x91, 0x00); return res; +} +static int CmdHelp(const char *Cmd); + +static int CmdHF_ntag424_view(const char *Cmd) { + + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf ntag424 view", + "Print a NTAG 424 DNA dump file (bin/eml/json)", + "hf ntag424 view -f hf-ntag424-01020304-dump.bin" + ); + void *argtable[] = { + arg_param_begin, + arg_str1("f", "file", "", "Specify a filename for dump file"), + arg_lit0("v", "verbose", "Verbose output"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + int fnlen = 0; + char filename[FILE_PATH_SIZE]; + CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); + bool verbose = arg_get_lit(ctx, 2); + CLIParserFree(ctx); + + // read dump file + uint8_t *dump = NULL; + size_t bytes_read = NTAG424_MAX_BYTES; + int res = pm3_load_dump(filename, (void **)&dump, &bytes_read, NTAG424_MAX_BYTES); + if (res != PM3_SUCCESS) { + return res; + } + + if (verbose) { + PrintAndLogEx(INFO, "File: " _YELLOW_("%s"), filename); + PrintAndLogEx(INFO, "File size %zu bytes", bytes_read); + } + + free(dump); + return PM3_SUCCESS; } static int CmdHF_ntag424_info(const char *Cmd) { @@ -769,7 +793,6 @@ static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_in CLIGetHexWithReturn(ctx, key_index, key, &keylen); if (keylen != 16) { - PrintAndLogEx(ERR, "Key must be 16 bytes"); return PM3_ESOFT; } @@ -840,6 +863,7 @@ static int CmdHF_ntag424_read(const char *Cmd) { arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), arg_int0("o", "offset", "", "Offset to read in file (default 0)"), arg_int1("l", "length", "", "Number of bytes to read"), + arg_str0("m", "cmode", "", "Communicaton mode"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -851,10 +875,20 @@ static int CmdHF_ntag424_read(const char *Cmd) { int fileno = arg_get_int(ctx, 1); if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { - PrintAndLogEx(INFO, "Reading unauthenticated"); auth = 0; - } else { - PrintAndLogEx(INFO, "Reading authenticated"); + } + + ntag424_communication_mode_t comm_mode; + int comm_out = 0; + if (CLIGetOptionList(arg_get_str(ctx, 6), ntag424_communication_mode_options, &comm_out)) { + CLIParserFree(ctx); + return PM3_EINVARG; + } + comm_mode = comm_out; + + if (comm_mode != COMM_PLAIN && auth == 0) { + PrintAndLogEx(ERR, "Only plain communication mode can be used without a key specified"); + return PM3_EINVARG; } int offset = arg_get_int_def(ctx, 4, 0); @@ -875,8 +909,9 @@ static int CmdHF_ntag424_read(const char *Cmd) { return res; } + ntag424_session_keys_t session_keys; if (auth) { - res = ntag424_authenticate_ev2_first(keyno, key, NULL); + res = ntag424_authenticate_ev2_first(keyno, key, &session_keys); if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); DropField(); @@ -888,7 +923,7 @@ static int CmdHF_ntag424_read(const char *Cmd) { uint8_t data[512]; - res = ntag424_read_data(fileno, offset, read_length, data); + res = ntag424_read_data(fileno, offset, read_length, data, comm_mode, &session_keys); if (res != PM3_SUCCESS) { DropField(); return res; @@ -915,6 +950,7 @@ static int CmdHF_ntag424_write(const char *Cmd) { arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), arg_int0("o", "offset", "", "Offset to write in file (default 0)"), arg_str1("d", "data", "", "Data to write"), + arg_str0("m", "cmode", "", "Communicaton mode"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -926,10 +962,20 @@ static int CmdHF_ntag424_write(const char *Cmd) { int fileno = arg_get_int(ctx, 1); if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { - PrintAndLogEx(INFO, "Will write unauthenticated"); auth = 0; - } else { - PrintAndLogEx(INFO, "Will write authenticated"); + } + + ntag424_communication_mode_t comm_mode; + int comm_out = 0; + if (CLIGetOptionList(arg_get_str(ctx, 6), ntag424_communication_mode_options, &comm_out)) { + CLIParserFree(ctx); + return PM3_EINVARG; + } + comm_mode = comm_out; + + if (comm_mode != COMM_PLAIN && auth == 0) { + PrintAndLogEx(ERR, "Only plain communication mode can be used without a key specified"); + return PM3_EINVARG; } int offset = arg_get_int_def(ctx, 4, 0); @@ -953,8 +999,9 @@ static int CmdHF_ntag424_write(const char *Cmd) { return res; } + ntag424_session_keys_t session_keys; if (auth) { - res = ntag424_authenticate_ev2_first(keyno, key, NULL); + res = ntag424_authenticate_ev2_first(keyno, key, &session_keys); if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); DropField(); @@ -964,7 +1011,7 @@ static int CmdHF_ntag424_write(const char *Cmd) { } } - res = ntag424_write_data(fileno, offset, datalen, data); + res = ntag424_write_data(fileno, offset, datalen, data, comm_mode, &session_keys); if (res != PM3_SUCCESS) { DropField(); return res; diff --git a/doc/commands.json b/doc/commands.json index 9499df7e1..12bc7a5e1 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -6887,9 +6887,10 @@ "-n, --keyno Key number", "-k, --key Key for authentication (HEX 16 bytes)", "-o, --offset Offset to read in file (default 0)", - "-l, --length Number of bytes to read" + "-l, --length Number of bytes to read", + "-m, --cmode Communicaton mode" ], - "usage": "hf ntag424 read [-h] -f [-n ] [-k ] [-o ] -l " + "usage": "hf ntag424 read [-h] -f [-n ] [-k ] [-o ] -l [-m ]" }, "hf ntag424 view": { "command": "hf ntag424 view", @@ -6918,9 +6919,10 @@ "-n, --keyno Key number", "-k, --key Key for authentication (HEX 16 bytes)", "-o, --offset Offset to write in file (default 0)", - "-d, --data Data to write" + "-d, --data Data to write", + "-m, --cmode Communicaton mode" ], - "usage": "hf ntag424 write [-h] -f [-n ] [-k ] [-o ] -d " + "usage": "hf ntag424 write [-h] -f [-n ] [-k ] [-o ] -d [-m ]" }, "hf plot": { "command": "hf plot", @@ -12012,6 +12014,6 @@ "metadata": { "commands_extracted": 696, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-29T12:42:07" + "extracted_on": "2023-10-29T15:43:05" } } \ No newline at end of file From efb645636bc317c4e0f92fd5517f8cc157284644 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Sun, 29 Oct 2023 16:56:04 +0100 Subject: [PATCH 157/278] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b794f4db..1a8720a22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added support for NTAG424 cards. (@dankar) - Added `bind` option for network connections to specify the outbound address and port (@wh201906) - Changed `lf em 4x05 dump` - now supports the `--ns` nosave parameter (@iceman1001) - Fixed some wrong synchronization waits in usb_write() to increase the communication speed (@wh201906) From d4f8c42d3c9969bb7eb0569dde724630f7d6c85f Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Sun, 29 Oct 2023 17:13:27 +0100 Subject: [PATCH 158/278] Added additional command examples --- client/src/cmdhfntag424.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index cc308cc2a..cbf34de6e 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -854,11 +854,13 @@ static int CmdHF_ntag424_read(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf ntag424 read", "Read and print data from file on NTAG424 tag. Will authenticate if key information is provided.", - "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256"); + "hf ntag424 read -f 1 -n 0 -k 00000000000000000000000000000000 -o 0 -l 32\n" + "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256\n" + "hf ntag424 read -f 3 -n 3 -k 00000000000000000000000000000000 -o 0 -l 128 -m encrypt"); void *argtable[] = { arg_param_begin, - arg_int1("f", "fileno", "", "File number (1-3), (default 2)"), + arg_int1("f", "fileno", "", "File number (1-3)"), arg_int0("n", "keyno", "", "Key number"), arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), arg_int0("o", "offset", "", "Offset to read in file (default 0)"), @@ -941,7 +943,8 @@ static int CmdHF_ntag424_write(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf ntag424 write", "Write data to file on NTAG424 tag. Will authenticate if key information is provided.", - "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788"); + "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788\n" + "hf ntag424 write -f 3 -n 3 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788 -m encrypt"); void *argtable[] = { arg_param_begin, From 9fb17c78c37a2e2946621236b1c502d8e5123f5c Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Mon, 30 Oct 2023 11:32:36 +0800 Subject: [PATCH 159/278] Update cmdhficlass.c Fixed ranges for configcards generation --- client/src/cmdhficlass.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 98065f2d0..559c4da37 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4375,11 +4375,11 @@ static int CmdHFiClassAutopwn(const char *Cmd) { static int CmdHFiClassConfigCard(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf iclass configcard", - "Manage reader configuration card via Cardhelper,\n" + "Manage reader configuration card via Cardhelper or internal database,\n" "The generated config card will be uploaded to device emulator memory.\n" "You can start simulating `hf iclass sim -t 3` or use the emul commands", - "hf iclass configcard -l --> download config card settings\n" - "hf iclass configcard -p --> print all config cards\n" + "hf iclass configcard -l --> download config card settings (requires card helper)\n" + "hf iclass configcard -p --> print all config cards in the database (doesn't require cardhelper)\n" "hf iclass configcard --ci 1 --> view config card setting in slot 1\n" "hf iclass configcard -g --ci 0 --> generate config file from slot 0" ); @@ -4425,12 +4425,14 @@ static int CmdHFiClassConfigCard(const char *Cmd) { print_config_cards(); } - if (ccidx > -1 && ccidx < 14) { + if (ccidx > -1 && ccidx < 13) { const iclass_config_card_item_t *item = get_config_card_item(ccidx); print_config_card(item); + } else { + PrintAndLogEx(ERR, "Please specify a valid configuration number!"); } - if (do_generate) { + if (do_generate && (ccidx > -1 && ccidx < 13)) { const iclass_config_card_item_t *item = get_config_card_item(ccidx); if (strstr(item->desc, "Keyroll") != NULL) { if (got_kr == false) { From 7cbadad163c94624b9cc222ab207eb458b461a2d Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Mon, 30 Oct 2023 18:34:11 +0800 Subject: [PATCH 160/278] Update cmdhficlass.c Updated to use arraylen as suggested by iceman, but to do so without facing other issues /buggy behaviors I had to perform additional code changes. --- client/src/cmdhficlass.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 559c4da37..17c8f68aa 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -196,7 +196,7 @@ static uint8_t card_app2_limit[] = { 0xff, }; -static iclass_config_card_item_t iclass_config_types[14] = { +static iclass_config_card_item_t iclass_config_types[13] = { {"Audio/Visual #1 - Beep ON, LED Off, Flash GREEN on read", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x00, 0xA8, 0x8F, 0xA7, 0x80, 0xA9, 0x01}}, {"Audio/Visual #2 - Beep ON, LED RED, Host must flash GREEN", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x18, 0xAC, 0x00, 0xA8, 0x1F, 0xA7, 0x80, 0xA9, 0x01}}, {"Audio/Visual #3 - Beep ON, LED Off, Host must flash RED and/or GREEN", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x18, 0xAC, 0x00, 0xA8, 0x0F, 0xA9, 0x03, 0xA7, 0x80}}, @@ -209,9 +209,7 @@ static iclass_config_card_item_t iclass_config_types[14] = { {"Keyroll DISABLE - Set ELITE Key and DISABLE Keyrolling", {0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0xBF, 0x18, 0xBF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}}, {"Keyroll ENABLE - Set ELITE Key and ENABLE Keyrolling", {0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0xBF, 0x18, 0xBF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}}, {"Reset READER - Reset READER to defaults", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {"Reset ENROLLER - Reset ENROLLER to defaults", {0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF}}, - // must be the last entry - {"no config card info available", ""} + {"Reset ENROLLER - Reset ENROLLER to defaults", {0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF}} }; static bool check_config_card(const iclass_config_card_item_t *o) { @@ -260,7 +258,7 @@ static const iclass_config_card_item_t *get_config_card_item(int idx) { static void print_config_cards(void) { if (check_config_card(&iclass_config_types[0])) { PrintAndLogEx(INFO, "---- " _CYAN_("Config cards available") " ------------"); - for (int i = 0; i < ARRAYLEN(iclass_config_types) - 1 ; ++i) { + for (int i = 0; i < ARRAYLEN(iclass_config_types) ; ++i) { PrintAndLogEx(INFO, "%2d, %s", i, iclass_config_types[i].desc); } PrintAndLogEx(NORMAL, ""); @@ -4378,8 +4376,8 @@ static int CmdHFiClassConfigCard(const char *Cmd) { "Manage reader configuration card via Cardhelper or internal database,\n" "The generated config card will be uploaded to device emulator memory.\n" "You can start simulating `hf iclass sim -t 3` or use the emul commands", - "hf iclass configcard -l --> download config card settings (requires card helper)\n" - "hf iclass configcard -p --> print all config cards in the database (doesn't require cardhelper)\n" + "hf iclass configcard -l --> download config card settings from cardhelper\n" + "hf iclass configcard -p --> print all config cards in the database\n" "hf iclass configcard --ci 1 --> view config card setting in slot 1\n" "hf iclass configcard -g --ci 0 --> generate config file from slot 0" ); @@ -4425,14 +4423,14 @@ static int CmdHFiClassConfigCard(const char *Cmd) { print_config_cards(); } - if (ccidx > -1 && ccidx < 13) { + if (ccidx > -1 && ccidx < ARRAYLEN(iclass_config_types)) { const iclass_config_card_item_t *item = get_config_card_item(ccidx); print_config_card(item); } else { PrintAndLogEx(ERR, "Please specify a valid configuration number!"); } - if (do_generate && (ccidx > -1 && ccidx < 13)) { + if (do_generate && (ccidx > -1 && ccidx < ARRAYLEN(iclass_config_types))) { const iclass_config_card_item_t *item = get_config_card_item(ccidx); if (strstr(item->desc, "Keyroll") != NULL) { if (got_kr == false) { From b0ee6ae67be2a0ca5f01c34f1e8eba466fcebfc2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 12:55:23 +0100 Subject: [PATCH 161/278] fixes ntag424 --- client/src/cmdhfmf.c | 5 +- client/src/cmdhfntag424.c | 380 ++++++++++++++++++-------------------- client/src/cmdlfem410x.c | 5 +- client/src/cmdsmartcard.c | 5 +- client/src/util.c | 24 +-- client/src/util.h | 1 - 6 files changed, 194 insertions(+), 226 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 0459cd4f7..8a9f5926e 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -3990,7 +3990,10 @@ static int CmdHF14AMfKeyBrute(const char *Cmd) { if (cmdp == 'b') keytype = MF_KEY_B; // key - if (param_gethex(Cmd, 2, key, 12)) return usage_hf14_keybrute(); + int keylen = 0; + if (param_gethex_ex(Cmd, 2, key, &keylen) && (keylen != 12)) { + return usage_hf14_keybrute(); + } uint64_t t1 = msclock(); diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index cbf34de6e..8c7bcb553 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -617,7 +617,7 @@ static int ntag424_authenticate_ev2_first(uint8_t keyno, uint8_t *key, ntag424_s // Write file to card. Only supports plain communications mode. Authentication must be done // first unless file has free write access. -static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes, uint8_t *in, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys) { +static int ntag424_write_data(uint8_t fileno, uint32_t offset, uint32_t num_bytes, uint8_t *in, ntag424_communication_mode_t comm_mode, ntag424_session_keys_t *session_keys) { size_t remainder = 0; // Split writes that are too large for one APDU @@ -628,8 +628,12 @@ static int ntag424_write_data(uint8_t fileno, uint16_t offset, uint16_t num_byte uint8_t cmd_header[] = { fileno, - (uint8_t)offset, (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) //size + (uint8_t)offset, + (uint8_t)(offset << 8), + (uint8_t)(offset << 16), // offset + (uint8_t)num_bytes, + (uint8_t)(num_bytes >> 8), + (uint8_t)(num_bytes >> 16) // size }; uint8_t cmd[256] = {0}; @@ -744,24 +748,28 @@ static int CmdHF_ntag424_view(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, false); int fnlen = 0; - char filename[FILE_PATH_SIZE]; - CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); + char fn[FILE_PATH_SIZE]; + CLIParamStrToBuf(arg_get_str(ctx, 1), (uint8_t *)fn, FILE_PATH_SIZE, &fnlen); bool verbose = arg_get_lit(ctx, 2); CLIParserFree(ctx); // read dump file uint8_t *dump = NULL; size_t bytes_read = NTAG424_MAX_BYTES; - int res = pm3_load_dump(filename, (void **)&dump, &bytes_read, NTAG424_MAX_BYTES); + int res = pm3_load_dump(fn, (void **)&dump, &bytes_read, NTAG424_MAX_BYTES); if (res != PM3_SUCCESS) { return res; } if (verbose) { - PrintAndLogEx(INFO, "File: " _YELLOW_("%s"), filename); + PrintAndLogEx(INFO, "File: " _YELLOW_("%s"), fn); PrintAndLogEx(INFO, "File size %zu bytes", bytes_read); } + // to be implemented... + PrintAndLogEx(INFO, "not implemented yet"); + PrintAndLogEx(INFO, "Feel free to contribute!"); + free(dump); return PM3_SUCCESS; } @@ -785,19 +793,23 @@ static int CmdHF_ntag424_info(const char *Cmd) { } static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_index, int key_index, int *keyno, uint8_t *key_out) { - uint8_t key[16]; + int keylen = 16; if (keyno) { *keyno = arg_get_int(ctx, key_no_index); } + + uint8_t key[16] = {0}; CLIGetHexWithReturn(ctx, key_index, key, &keylen); + if (CLIParamHexToBuf(arg_get_str((ctx), key_index), key, sizeof(key), &keylen)) { + + } if (keylen != 16) { return PM3_ESOFT; } memcpy(key_out, key, 16); - return PM3_SUCCESS; } @@ -805,18 +817,18 @@ static int CmdHF_ntag424_auth(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf ntag424 auth", "Authenticate with selected key against NTAG424.", - "hf ntag424 auth -n 0 -k 00000000000000000000000000000000"); + "hf ntag424 auth --keyno 0 -k 00000000000000000000000000000000"); void *argtable[] = { arg_param_begin, - arg_int1("n", "keyno", "", "Key number"), + arg_int1(NULL, "keyno", "", "Key number"), arg_str1("k", "key", "", "Key for authenticate (HEX 16 bytes)"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); + int keyno; uint8_t key[16] = {0}; - if (ntag424_cli_get_auth_information(ctx, 1, 2, &keyno, key) != PM3_SUCCESS) { CLIParserFree(ctx); return PM3_ESOFT; @@ -824,29 +836,26 @@ static int CmdHF_ntag424_auth(const char *Cmd) { CLIParserFree(ctx); - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Failed to select card"); DropField(); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } - res = ntag424_authenticate_ev2_first(keyno, key, NULL); + int res = ntag424_authenticate_ev2_first(keyno, key, NULL); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + PrintAndLogEx(ERR, "Auth key %d ( " _RED_("fail") " )", keyno); } else { - PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + PrintAndLogEx(SUCCESS, "Auth key %d ( " _GREEN_("ok") " )", keyno); } DropField(); - - return res; + return PM3_SUCCESS; } // Read can only read files with plain communication mode! @@ -854,31 +863,30 @@ static int CmdHF_ntag424_read(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf ntag424 read", "Read and print data from file on NTAG424 tag. Will authenticate if key information is provided.", - "hf ntag424 read -f 1 -n 0 -k 00000000000000000000000000000000 -o 0 -l 32\n" - "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256\n" - "hf ntag424 read -f 3 -n 3 -k 00000000000000000000000000000000 -o 0 -l 128 -m encrypt"); + "hf ntag424 read --fileno 1 --keyno 0 -k 00000000000000000000000000000000 -o 0 -l 32\n" + "hf ntag424 read --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 0 -l 256\n" + "hf ntag424 read --fileno 3 --keyno 3 -k 00000000000000000000000000000000 -o 0 -l 128 -m encrypt"); void *argtable[] = { arg_param_begin, - arg_int1("f", "fileno", "", "File number (1-3)"), - arg_int0("n", "keyno", "", "Key number"), - arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), - arg_int0("o", "offset", "", "Offset to read in file (default 0)"), - arg_int1("l", "length", "", "Number of bytes to read"), - arg_str0("m", "cmode", "", "Communicaton mode"), + arg_int1(NULL, "fileno", "<1|2|3>", "File number"), + arg_int0(NULL, "keyno", "", "Key number"), + arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), + arg_int0("o", "offset", "", "Offset to read in file (def 0)"), + arg_int1("l", "length", "", "Number of bytes to read"), + arg_str0("m", "cmode", "", "Communication mode"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); - int keyno; - uint8_t key[16] = {0}; - int auth = 1; - int fileno = arg_get_int(ctx, 1); - if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { - auth = 0; - } + int keyno; + uint8_t key[16] = {0}; + bool auth = (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) == PM3_SUCCESS); + + int offset = arg_get_int_def(ctx, 4, 0); + int read_length = arg_get_int(ctx, 5); ntag424_communication_mode_t comm_mode; int comm_out = 0; @@ -886,56 +894,46 @@ static int CmdHF_ntag424_read(const char *Cmd) { CLIParserFree(ctx); return PM3_EINVARG; } + CLIParserFree(ctx); + comm_mode = comm_out; - if (comm_mode != COMM_PLAIN && auth == 0) { + if (comm_mode != COMM_PLAIN && auth == false) { PrintAndLogEx(ERR, "Only plain communication mode can be used without a key specified"); return PM3_EINVARG; } - int offset = arg_get_int_def(ctx, 4, 0); - int read_length = arg_get_int(ctx, 5); - - CLIParserFree(ctx); - - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } + int res = PM3_SUCCESS; ntag424_session_keys_t session_keys; if (auth) { res = ntag424_authenticate_ev2_first(keyno, key, &session_keys); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + PrintAndLogEx(ERR, "Auth key %d ( " _RED_("fail") " )", keyno); DropField(); return res; } else { - PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + PrintAndLogEx(SUCCESS, "Auth key %d ( " _GREEN_("ok") " )", keyno); } } - uint8_t data[512]; - + uint8_t data[512] = {0}; res = ntag424_read_data(fileno, offset, read_length, data, comm_mode, &session_keys); - if (res != PM3_SUCCESS) { - DropField(); - return res; - } - - PrintAndLogEx(SUCCESS, " -------- Read file %d contents ------------ ", fileno); - print_hex_break(data, read_length, 16); - DropField(); - + if (res == PM3_SUCCESS) { + PrintAndLogEx(SUCCESS, " -------- Read file " _YELLOW_("%d") " contents ------------ ", fileno); + print_hex_break(data, read_length, 16); + } return res; } @@ -943,30 +941,32 @@ static int CmdHF_ntag424_write(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf ntag424 write", "Write data to file on NTAG424 tag. Will authenticate if key information is provided.", - "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788\n" - "hf ntag424 write -f 3 -n 3 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788 -m encrypt"); + "hf ntag424 write --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788\n" + "hf ntag424 write --fileno 3 --keyno 3 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788 -m encrypt"); void *argtable[] = { arg_param_begin, - arg_int1("f", "fileno", "", "File number (1-3), (default 2)"), - arg_int0("n", "keyno", "", "Key number"), - arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), - arg_int0("o", "offset", "", "Offset to write in file (default 0)"), - arg_str1("d", "data", "", "Data to write"), - arg_str0("m", "cmode", "", "Communicaton mode"), + arg_u64_1(NULL, "fileno", "<1|2|3>", "File number (def 2)"), + arg_int0(NULL, "keyno", "", "Key number"), + arg_str0("k", "key", "", "Key for authentication (HEX 16 bytes)"), + arg_int0("o", "offset", "", "Offset to write in file (def 0)"), + arg_str1("d", "data", "", "Data to write"), + arg_str0("m", "cmode", "", "Communication mode"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); - int keyno; - uint8_t key[16] = {0}; - int auth = 1; - int fileno = arg_get_int(ctx, 1); - if (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) != PM3_SUCCESS) { - auth = 0; - } + int keyno = 0; + uint8_t key[16] = {0}; + bool auth = (ntag424_cli_get_auth_information(ctx, 2, 3, &keyno, key) == PM3_SUCCESS); + + uint32_t offset = arg_get_u32_def(ctx, 4, 0); + + uint8_t data[512] = {0}; + int datalen = 512; + CLIGetHexWithReturn(ctx, 5, data, &datalen); ntag424_communication_mode_t comm_mode; int comm_out = 0; @@ -974,68 +974,58 @@ static int CmdHF_ntag424_write(const char *Cmd) { CLIParserFree(ctx); return PM3_EINVARG; } + CLIParserFree(ctx); + comm_mode = comm_out; - if (comm_mode != COMM_PLAIN && auth == 0) { + if (comm_mode != COMM_PLAIN && auth == false) { PrintAndLogEx(ERR, "Only plain communication mode can be used without a key specified"); return PM3_EINVARG; } - - int offset = arg_get_int_def(ctx, 4, 0); - - uint8_t data[512] = {0}; - int datalen = 512; - CLIGetHexWithReturn(ctx, 5, data, &datalen); - - CLIParserFree(ctx); - - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } - ntag424_session_keys_t session_keys; + int res = PM3_SUCCESS; + ntag424_session_keys_t session_keys = {0}; if (auth) { res = ntag424_authenticate_ev2_first(keyno, key, &session_keys); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + PrintAndLogEx(ERR, "Auth key %d ( " _RED_("fail") " )", keyno); DropField(); return res; } else { - PrintAndLogEx(SUCCESS, "Successfully authenticated with key %d", keyno); + PrintAndLogEx(SUCCESS, "Auth key %d ( " _GREEN_("ok") " )", keyno); } } - res = ntag424_write_data(fileno, offset, datalen, data, comm_mode, &session_keys); - if (res != PM3_SUCCESS) { - DropField(); - return res; - } - - PrintAndLogEx(SUCCESS, "Wrote %d bytes", datalen); - + res = ntag424_write_data(fileno, offset, (uint32_t)datalen, data, comm_mode, &session_keys); DropField(); - + if (res == PM3_SUCCESS) { + PrintAndLogEx(SUCCESS, "Wrote " _YELLOW_("%d") " bytes ( " _GREEN_("ok") " )", datalen); + } else { + PrintAndLogEx(ERR, "Wrote " _YELLOW_("%d") " bytes ( " _RED_("fail") " )", datalen); + } return res; } static int CmdHF_ntag424_getfilesettings(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "hf ntag424 getfilesettings", + CLIParserInit(&ctx, "hf ntag424 getfs", "Read and print file settings for file", - "hf ntag424 getfilesettings -f 2"); + "hf ntag424 getfs --fileno 2"); void *argtable[] = { arg_param_begin, - arg_int1("f", "file", "", "File number"), + arg_int1(NULL, "fileno", "", "File number"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); @@ -1043,35 +1033,29 @@ static int CmdHF_ntag424_getfilesettings(const char *Cmd) { CLIParserFree(ctx); - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } - ntag424_file_settings_t settings; - res = ntag424_get_file_settings(fileno, &settings); + ntag424_file_settings_t settings = {0}; + int res = ntag424_get_file_settings(fileno, &settings); DropField(); - if (res != PM3_SUCCESS) { - return res; + if (res == PM3_SUCCESS) { + ntag424_print_file_settings(fileno, &settings); } - - ntag424_print_file_settings(fileno, &settings); - - return res; } static int CmdHF_ntag424_changefilesettings(const char *Cmd) { CLIParserContext *ctx; - CLIParserInit(&ctx, "hf ntag424 changefilesettings", + CLIParserInit(&ctx, "hf ntag424 changefs", "Updates file settings for file, must be authenticated.\n" "This is a short explanation of the settings. See AN12196 for more information:\n" "options: byte with bit flags\n" @@ -1100,26 +1084,26 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information.\n" "You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", - - "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043"); + "hf ntag424 changefs --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --data1 000020 --data2 000043 --data3 000043" + ); void *argtable[] = { arg_param_begin, - arg_int1("f", "file", "", "File number"), - arg_int1("n", "keyno", "", "Key number"), + arg_int1(NULL, "fileno", "", "File number"), + arg_int1(NULL, "keyno", "", "Key number"), arg_str1("k", "key", "", "Key for authentication (HEX 16 bytes)"), arg_str0("o", "options", "", "File options byte (HEX 1 byte)"), arg_str0("a", "access", "", "File access settings (HEX 2 bytes)"), arg_str0("s", "sdmoptions", "", "SDM options (HEX 1 byte)"), arg_str0("c", "sdmaccess", "", "SDM access settings (HEX 2 bytes)"), - arg_str0(NULL, "sdmdata1", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata2", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata3", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata4", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata5", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata6", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata7", "", "SDM data (HEX 3 bytes)"), - arg_str0(NULL, "sdmdata8", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data1", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data2", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data3", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data4", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data5", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data6", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data7", "", "SDM data (HEX 3 bytes)"), + arg_str0(NULL, "data8", "", "SDM data (HEX 3 bytes)"), // Sorry, couldn't figure out how to work with arg_strn... arg_param_end }; @@ -1145,12 +1129,13 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { CLIParserFree(ctx); return PM3_EINVARG; } + int len = 1; if (arg_get_str(ctx, 4)->count == 1) { has_options = 1; CLIGetHexWithReturn(ctx, 4, options, &len); if (len != 1) { - PrintAndLogEx(ERR, "Options must be 1 byte"); + PrintAndLogEx(ERR, "Options must be 1 byte, got ( %d )", len); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1160,7 +1145,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { has_access = 1; CLIGetHexWithReturn(ctx, 5, access, &len); if (len != 2) { - PrintAndLogEx(ERR, "Access must be 2 bytes"); + PrintAndLogEx(ERR, "Access must be 2 bytes, got ( %d )", len); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1170,7 +1155,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { has_sdmoptions = 1; CLIGetHexWithReturn(ctx, 6, sdmoptions, &len); if (len != 1) { - PrintAndLogEx(ERR, "SDM Options must be 1 byte"); + PrintAndLogEx(ERR, "SDM Options must be 1 byte, got ( %d )", len); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1180,7 +1165,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { has_sdmaccess = 1; CLIGetHexWithReturn(ctx, 7, sdmaccess, &len); if (len != 2) { - PrintAndLogEx(ERR, "SDM Access must be 2 bytes"); + PrintAndLogEx(ERR, "SDM Access must be 2 bytes, got ( %d )", len); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1192,7 +1177,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { num_sdm_data++; CLIGetHexWithReturn(ctx, 8 + i, sdm_data[i], &len); if (len != 3) { - PrintAndLogEx(ERR, "sdmdata must be 3 bytes"); + PrintAndLogEx(ERR, "sdmdata must be 3 bytes, got ( %d )", len); CLIParserFree(ctx); return PM3_EINVARG; } @@ -1201,46 +1186,48 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { } } - CLIParserFree(ctx); - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } - ntag424_file_settings_t settings; - res = ntag424_get_file_settings(fileno, &settings); - if (res != PM3_SUCCESS) { + ntag424_file_settings_t settings = {0}; + if (ntag424_get_file_settings(fileno, &settings) != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } + int res = PM3_SUCCESS; ntag424_session_keys_t session = {0}; res = ntag424_authenticate_ev2_first(keyno, key, &session); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to authenticate with key %d", keyno); + PrintAndLogEx(ERR, "Auth key %d ( " _RED_("fail") " )", keyno); DropField(); return res; + } else { + PrintAndLogEx(SUCCESS, "Auth key %d ( " _GREEN_("ok") " )", keyno); } if (has_options) { settings.options = options[0]; } + if (has_access) { memcpy(settings.access, access, 2); } + if (has_sdmoptions) { settings.optional_sdm_settings.sdm_options = sdmoptions[0]; } + if (has_sdmaccess) { memcpy(settings.optional_sdm_settings.sdm_access, sdmaccess, 2); } @@ -1251,15 +1238,14 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { settings.optional_sdm_settings.sdm_data[i][0] = sdm_data[i][2]; } - if (ntag424_write_file_settings(fileno, &settings, &session) != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Failed to write settings"); - DropField(); - return PM3_ESOFT; - } - PrintAndLogEx(SUCCESS, "Wrote settings successfully"); - ntag424_print_file_settings(fileno, &settings); - + res = ntag424_write_file_settings(fileno, &settings, &session); DropField(); + if (res == PM3_SUCCESS) { + PrintAndLogEx(SUCCESS, "Write settings ( " _GREEN_("ok") " )"); + ntag424_print_file_settings(fileno, &settings); + } else { + PrintAndLogEx(ERR, "Write settings (" _RED_("fail") " )"); + } return res; } @@ -1269,39 +1255,40 @@ static int CmdHF_ntag424_changekey(const char *Cmd) { CLIParserInit(&ctx, "hf ntag424 changekey", "Change a key.\n" "Authentication key must currently be different to the one we want to change.\n", - "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1\n" - "hf ntag424 changekey -n 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1\n" + "hf ntag424 changekey --keyno 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 --kv 1\n" + "hf ntag424 changekey --keyno 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 --kv 1\n" ); void *argtable[] = { arg_param_begin, - arg_int1("n", "keyno", "", "Key number to change"), + arg_int1(NULL, "keyno", "", "Key number to change"), arg_str0(NULL, "oldkey", "", "Old key (only needed when changing key 1-4, HEX 16 bytes)"), arg_str1(NULL, "newkey", "", "New key (HEX 16 bytes)"), - arg_str1(NULL, "key0", "", "Authentication key (must be key 0, HEX 16 bytes)"), - arg_int1("v", "version", "", "Version of the new key"), + arg_str1(NULL, "key0", "", "Authentication key (must be key 0, HEX 16 bytes)"), + arg_int1(NULL, "kv", "", "New key version number"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, false); uint8_t version = arg_get_int(ctx, 6); int keyno = arg_get_int(ctx, 1); - uint8_t oldkey[16]; - uint8_t newkey[16]; - uint8_t authkey[16]; + uint8_t oldkey[16] = {0}; if (keyno != 0) { if (ntag424_cli_get_auth_information(ctx, 0, 2, NULL, oldkey) != PM3_SUCCESS) { - PrintAndLogEx(ERR, "Could not get keyno or old key"); CLIParserFree(ctx); return PM3_EINVARG; } } + + uint8_t newkey[16] = {0}; if (ntag424_cli_get_auth_information(ctx, 0, 3, NULL, newkey) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Could not get new key"); CLIParserFree(ctx); return PM3_EINVARG; } + + uint8_t authkey[16] = {0}; if (ntag424_cli_get_auth_information(ctx, 0, 4, NULL, authkey) != PM3_SUCCESS) { PrintAndLogEx(ERR, "Could not get authentication key"); CLIParserFree(ctx); @@ -1309,57 +1296,50 @@ static int CmdHF_ntag424_changekey(const char *Cmd) { } CLIParserFree(ctx); - int res = SelectCard14443A_4(false, true, NULL); - if (res != PM3_SUCCESS) { + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); - return res; + return PM3_ERFTRANS; } - res = ntag424_select_application(); - if (res != PM3_SUCCESS) { + if (ntag424_select_application() != PM3_SUCCESS) { DropField(); - return res; + return PM3_ESOFT; } + int res = PM3_SUCCESS; ntag424_session_keys_t session = {0}; res = ntag424_authenticate_ev2_first(0, authkey, &session); if (res != PM3_SUCCESS) { DropField(); - PrintAndLogEx(ERR, "Failed to authenticate"); + PrintAndLogEx(ERR, "Auth ( " _RED_("fail") " )"); return PM3_ESOFT; } else { - PrintAndLogEx(SUCCESS, "Successfully authenticated"); + PrintAndLogEx(SUCCESS, "Auth ( " _GREEN_("ok") " )"); } res = ntag424_change_key(keyno, newkey, oldkey, version, &session); - if (res != PM3_SUCCESS) { - DropField(); - PrintAndLogEx(ERR, "Failed to change key"); - DropField(); - return PM3_ESOFT; + DropField(); + if (res == PM3_SUCCESS) { + PrintAndLogEx(SUCCESS, "Change key %d ( " _GREEN_("ok") " )", keyno); } else { - PrintAndLogEx(SUCCESS, "Successfully changed key %d", keyno); + PrintAndLogEx(ERR, "Change key %d ( "_RED_("fail") " )", keyno); } - DropField(); - return PM3_SUCCESS; + return res; } -//------------------------------------ -// Menu Stuff -//------------------------------------ static command_t CommandTable[] = { - {"help", CmdHelp, AlwaysAvailable, "This help"}, - {"-----------", CmdHelp, IfPm3Iso14443a, "----------------------- " _CYAN_("operations") " -----------------------"}, - {"info", CmdHF_ntag424_info, IfPm3Iso14443a, "Tag information (not implemented yet)"}, - {"view", CmdHF_ntag424_view, AlwaysAvailable, "Display content from tag dump file"}, - {"auth", CmdHF_ntag424_auth, IfPm3Iso14443a, "Test authentication with key"}, - {"read", CmdHF_ntag424_read, IfPm3Iso14443a, "Read file"}, - {"write", CmdHF_ntag424_write, IfPm3Iso14443a, "Write file"}, - {"getfilesettings", CmdHF_ntag424_getfilesettings, IfPm3Iso14443a, "Get file settings"}, - {"changefilesettings", CmdHF_ntag424_changefilesettings, IfPm3Iso14443a, "Change file settings"}, - {"changekey", CmdHF_ntag424_changekey, IfPm3Iso14443a, "Change key"}, + {"help", CmdHelp, AlwaysAvailable, "This help"}, + {"-----------", CmdHelp, IfPm3Iso14443a, "----------------------- " _CYAN_("operations") " -----------------------"}, + {"info", CmdHF_ntag424_info, IfPm3Iso14443a, "Tag information"}, + {"view", CmdHF_ntag424_view, AlwaysAvailable, "Display content from tag dump file"}, + {"auth", CmdHF_ntag424_auth, IfPm3Iso14443a, "Test authentication with key"}, + {"read", CmdHF_ntag424_read, IfPm3Iso14443a, "Read file"}, + {"write", CmdHF_ntag424_write, IfPm3Iso14443a, "Write file"}, + {"getfs", CmdHF_ntag424_getfilesettings, IfPm3Iso14443a, "Get file settings"}, + {"changefs", CmdHF_ntag424_changefilesettings, IfPm3Iso14443a, "Change file settings"}, + {"changekey", CmdHF_ntag424_changekey, IfPm3Iso14443a, "Change key"}, {NULL, NULL, NULL, NULL} }; diff --git a/client/src/cmdlfem410x.c b/client/src/cmdlfem410x.c index 29ad61bc9..a8e70fe36 100644 --- a/client/src/cmdlfem410x.c +++ b/client/src/cmdlfem410x.c @@ -528,8 +528,9 @@ static int CmdEM410xBrute(const char *Cmd) { //The line start with # is comment, skip if (buf[0] == '#') continue; - if (param_gethex(buf, 0, uid, 10)) { - PrintAndLogEx(FAILED, "EM Tag IDs must include 5 hex bytes (10 hex symbols)"); + int uidlen = 0; + if (param_gethex_ex(buf, 0, uid, &uidlen) && (uidlen != 10)) { + PrintAndLogEx(FAILED, "EM Tag IDs must include 5 hex bytes (10 hex symbols), got ( " _RED_("%d") " )", uidlen); free(uidblock); fclose(f); return PM3_ESOFT; diff --git a/client/src/cmdsmartcard.c b/client/src/cmdsmartcard.c index f0a4e3bf9..1e825bbaf 100644 --- a/client/src/cmdsmartcard.c +++ b/client/src/cmdsmartcard.c @@ -590,9 +590,10 @@ static int CmdSmartUpgrade(const char *Cmd) { } hashstring[128] = '\0'; + int hash1n = 0; uint8_t hash_1[64]; - if (param_gethex(hashstring, 0, hash_1, 128)) { - PrintAndLogEx(FAILED, "Couldn't read SHA-512 file"); + if (param_gethex_ex(hashstring, 0, hash_1, &hash1n) && hash1n != 128) { + PrintAndLogEx(FAILED, "Couldn't read SHA-512 file. expect 128 hex bytes, got ( "_RED_("%d") " )", hash1n); free(hashstring); free(firmware); return PM3_ESOFT; diff --git a/client/src/util.c b/client/src/util.c index b44f52711..51dbc0a19 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -759,25 +759,6 @@ float param_getfloat(const char *line, int paramnum, float deflt) { return deflt; } -int param_gethex(const char *line, int paramnum, uint8_t *data, int hexcnt) { - int bg, en, i; - uint32_t temp; - - if (hexcnt & 1) return 1; - - if (param_getptr(line, &bg, &en, paramnum)) return 1; - - if (en - bg + 1 != hexcnt) return 1; - - for (i = 0; i < hexcnt; i += 2) { - if (!(isxdigit(line[bg + i]) && isxdigit(line[bg + i + 1]))) return 1; - - sscanf((char[]) {line[bg + i], line[bg + i + 1], 0}, "%X", &temp); - data[i / 2] = temp & 0xff; - } - - return 0; -} int param_gethex_ex(const char *line, int paramnum, uint8_t *data, int *hexcnt) { int bg, en, i; uint32_t temp; @@ -785,8 +766,11 @@ int param_gethex_ex(const char *line, int paramnum, uint8_t *data, int *hexcnt) if (param_getptr(line, &bg, &en, paramnum)) return 1; *hexcnt = en - bg + 1; - if (*hexcnt % 2) //error if not complete hex bytes + + // error if not complete hex bytes + if (*hexcnt & 1) { return 1; + } for (i = 0; i < *hexcnt; i += 2) { if (!(isxdigit(line[bg + i]) && isxdigit(line[bg + i + 1]))) return 1; diff --git a/client/src/util.h b/client/src/util.h index a50bdd370..3b9a70183 100644 --- a/client/src/util.h +++ b/client/src/util.h @@ -106,7 +106,6 @@ uint64_t param_get64ex(const char *line, int paramnum, int deflt, int base); float param_getfloat(const char *line, int paramnum, float deflt); uint8_t param_getdec(const char *line, int paramnum, uint8_t *destination); uint8_t param_isdec(const char *line, int paramnum); -int param_gethex(const char *line, int paramnum, uint8_t *data, int hexcnt); int param_gethex_ex(const char *line, int paramnum, uint8_t *data, int *hexcnt); int param_gethex_to_eol(const char *line, int paramnum, uint8_t *data, int maxdatalen, int *datalen); int param_getbin_to_eol(const char *line, int paramnum, uint8_t *data, int maxdatalen, int *datalen); From 2763ead13b0763450f8dbe8d86230c39753a71b6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 13:05:46 +0100 Subject: [PATCH 162/278] fix the free ctx calls --- client/src/cmdhfntag424.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 8c7bcb553..0b90b2b3d 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -792,20 +792,16 @@ static int CmdHF_ntag424_info(const char *Cmd) { return PM3_SUCCESS; } -static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int key_no_index, int key_index, int *keyno, uint8_t *key_out) { +static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int keyno_index, int key_index, int *keyno, uint8_t *key_out) { + + if (keyno) { + *keyno = arg_get_int(ctx, keyno_index); + } int keylen = 16; - if (keyno) { - *keyno = arg_get_int(ctx, key_no_index); - } - uint8_t key[16] = {0}; - CLIGetHexWithReturn(ctx, key_index, key, &keylen); - if (CLIParamHexToBuf(arg_get_str((ctx), key_index), key, sizeof(key), &keylen)) { - } - - if (keylen != 16) { + if (CLIParamHexToBuf(arg_get_str(ctx, key_index), key, sizeof(key), &keylen) || (keylen != 16)) { return PM3_ESOFT; } From b9dcd143d51fa504c23cb0df0bfa98d92311fac5 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 13:11:52 +0100 Subject: [PATCH 163/278] style --- client/src/cmdhfntag424.c | 12 ++--- client/src/cmdlfem4x05.c | 4 +- client/src/pm3line_vocabulary.h | 4 +- doc/commands.json | 83 +++++++++++++++++---------------- doc/commands.md | 6 +-- 5 files changed, 56 insertions(+), 53 deletions(-) diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 0b90b2b3d..835f88adc 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -628,10 +628,10 @@ static int ntag424_write_data(uint8_t fileno, uint32_t offset, uint32_t num_byte uint8_t cmd_header[] = { fileno, - (uint8_t)offset, - (uint8_t)(offset << 8), + (uint8_t)offset, + (uint8_t)(offset << 8), (uint8_t)(offset << 16), // offset - (uint8_t)num_bytes, + (uint8_t)num_bytes, (uint8_t)(num_bytes >> 8), (uint8_t)(num_bytes >> 16) // size }; @@ -768,7 +768,7 @@ static int CmdHF_ntag424_view(const char *Cmd) { // to be implemented... PrintAndLogEx(INFO, "not implemented yet"); - PrintAndLogEx(INFO, "Feel free to contribute!"); + PrintAndLogEx(INFO, "Feel free to contribute!"); free(dump); return PM3_SUCCESS; @@ -978,7 +978,7 @@ static int CmdHF_ntag424_write(const char *Cmd) { PrintAndLogEx(ERR, "Only plain communication mode can be used without a key specified"); return PM3_EINVARG; } - + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { DropField(); PrintAndLogEx(ERR, "Failed to select card"); @@ -1081,7 +1081,7 @@ static int CmdHF_ntag424_changefilesettings(const char *Cmd) { "You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", "hf ntag424 changefs --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --data1 000020 --data2 000043 --data3 000043" - ); + ); void *argtable[] = { arg_param_begin, diff --git a/client/src/cmdlfem4x05.c b/client/src/cmdlfem4x05.c index 9b0e69753..f93db58d3 100644 --- a/client/src/cmdlfem4x05.c +++ b/client/src/cmdlfem4x05.c @@ -832,9 +832,9 @@ int CmdEM4x05Write(const char *Cmd) { PrintAndLogEx(INFO, "Writing address " _YELLOW_("%d") " data " _YELLOW_("%08X") " using password " _YELLOW_("%08X"), addr, data, pwd); } else { if (protect_operation) - PrintAndLogEx(INFO, "Writing protection words data " _YELLOW_("%08X") , data); + PrintAndLogEx(INFO, "Writing protection words data " _YELLOW_("%08X"), data); else - PrintAndLogEx(INFO, "Writing address " _YELLOW_("%d") " data " _YELLOW_("%08X") , addr, data); + PrintAndLogEx(INFO, "Writing address " _YELLOW_("%d") " data " _YELLOW_("%08X"), addr, data); } res = PM3_SUCCESS; diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index 5b3720d85..858267278 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -459,8 +459,8 @@ const static vocabulary_t vocabulary[] = { { 0, "hf ntag424 auth" }, { 0, "hf ntag424 read" }, { 0, "hf ntag424 write" }, - { 0, "hf ntag424 getfilesettings" }, - { 0, "hf ntag424 changefilesettings" }, + { 0, "hf ntag424 getfs" }, + { 0, "hf ntag424 changefs" }, { 0, "hf ntag424 changekey" }, { 1, "hf seos help" }, { 0, "hf seos info" }, diff --git a/doc/commands.json b/doc/commands.json index 12bc7a5e1..4cb9c4623 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -6794,73 +6794,73 @@ "command": "hf ntag424 auth", "description": "Authenticate with selected key against NTAG424.", "notes": [ - "hf ntag424 auth -n 0 -k 00000000000000000000000000000000" + "hf ntag424 auth --keyno 0 -k 00000000000000000000000000000000" ], "offline": false, "options": [ "-h, --help This help", - "-n, --keyno Key number", + "--keyno Key number", "-k, --key Key for authenticate (HEX 16 bytes)" ], - "usage": "hf ntag424 auth [-h] -n -k " + "usage": "hf ntag424 auth [-h] --keyno -k " }, - "hf ntag424 changefilesettings": { - "command": "hf ntag424 changefilesettings", + "hf ntag424 changefs": { + "command": "hf ntag424 changefs", "description": "Updates file settings for file, must be authenticated. This is a short explanation of the settings. See AN12196 for more information: options: byte with bit flags Bit: Setting: 6 Enable SDM and mirroring access: two byte access rights. Each nibble is a key number, or E for free access. Order is key for readwrite, change, read and write sdmoptions: byte with bit flags Bit: Setting: 0 ASCII encoding 4 SDMEncFileData 5 SDMReadCtrLimit 6 SDMReadCtr 7 SDMOptionsUID sdmaccess: two byte access rights. Each nibble is a key, or E for plain mirror and F for no mirroring Order is Reserved, SDMCtrRet, SDMMetaRead and SDMFileRead sdm_data: Three bytes of data used to control SDM settings. Can be specified multiple times. Data means different things depending on settings. Note: Not all of these settings will be written. It depends on the option byte, and the keys set. See AN12196 for more information. You must also start with sdmdata1, then sdmdata2, up to the number of sdm_data you want to write", "notes": [ - "hf ntag424 changefilesettings -f 2 -n 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --sdmdata1 000020 --sdmdata2 000043 --sdmdata3 000043" + "hf ntag424 changefs --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 40 -a 00E0 -s C1 -c F000 --data1 000020 --data2 000043 --data3 000043" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file File number", - "-n, --keyno Key number", + "--fileno File number", + "--keyno Key number", "-k, --key Key for authentication (HEX 16 bytes)", "-o, --options File options byte (HEX 1 byte)", "-a, --access File access settings (HEX 2 bytes)", "-s, --sdmoptions SDM options (HEX 1 byte)", "-c, --sdmaccess SDM access settings (HEX 2 bytes)", - "--sdmdata1 SDM data (HEX 3 bytes)", - "--sdmdata2 SDM data (HEX 3 bytes)", - "--sdmdata3 SDM data (HEX 3 bytes)", - "--sdmdata4 SDM data (HEX 3 bytes)", - "--sdmdata5 SDM data (HEX 3 bytes)", - "--sdmdata6 SDM data (HEX 3 bytes)", - "--sdmdata7 SDM data (HEX 3 bytes)", - "--sdmdata8 SDM data (HEX 3 bytes)" + "--data1 SDM data (HEX 3 bytes)", + "--data2 SDM data (HEX 3 bytes)", + "--data3 SDM data (HEX 3 bytes)", + "--data4 SDM data (HEX 3 bytes)", + "--data5 SDM data (HEX 3 bytes)", + "--data6 SDM data (HEX 3 bytes)", + "--data7 SDM data (HEX 3 bytes)", + "--data8 SDM data (HEX 3 bytes)" ], - "usage": "hf ntag424 changefilesettings [-h] -f -n -k [-o ] [-a ] [-s ] [-c ] [--sdmdata1 ] [--sdmdata2 ] [--sdmdata3 ] [--sdmdata4 ] [--sdmdata5 ] [--sdmdata6 ] [--sdmdata7 ] [--sdmdata8 ]" + "usage": "hf ntag424 changefs [-h] --fileno --keyno -k [-o ] [-a ] [-s ] [-c ] [--data1 ] [--data2 ] [--data3 ] [--data4 ] [--data5 ] [--data6 ] [--data7 ] [--data8 ]" }, "hf ntag424 changekey": { "command": "hf ntag424 changekey", "description": "Change a key. Authentication key must currently be different to the one we want to change.", "notes": [ - "hf ntag424 changekey -n 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1", - "hf ntag424 changekey -n 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 -v 1" + "hf ntag424 changekey --keyno 1 --oldkey 00000000000000000000000000000000 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 --kv 1", + "hf ntag424 changekey --keyno 0 --newkey 11111111111111111111111111111111 --key0 00000000000000000000000000000000 --kv 1" ], "offline": false, "options": [ "-h, --help This help", - "-n, --keyno Key number to change", + "--keyno Key number to change", "--oldkey Old key (only needed when changing key 1-4, HEX 16 bytes)", "--newkey New key (HEX 16 bytes)", "--key0 Authentication key (must be key 0, HEX 16 bytes)", - "-v, --version Version of the new key" + "--kv New key version number" ], - "usage": "hf ntag424 changekey [-h] -n [--oldkey ] --newkey --key0 -v " + "usage": "hf ntag424 changekey [-h] --keyno [--oldkey ] --newkey --key0 --kv " }, - "hf ntag424 getfilesettings": { - "command": "hf ntag424 getfilesettings", + "hf ntag424 getfs": { + "command": "hf ntag424 getfs", "description": "Read and print file settings for file", "notes": [ - "hf ntag424 getfilesettings -f 2" + "hf ntag424 getfs --fileno 2" ], "offline": false, "options": [ "-h, --help This help", - "-f, --file File number" + "--fileno File number" ], - "usage": "hf ntag424 getfilesettings [-h] -f " + "usage": "hf ntag424 getfs [-h] --fileno " }, "hf ntag424 info": { "command": "hf ntag424 info", @@ -6878,19 +6878,21 @@ "command": "hf ntag424 read", "description": "Read and print data from file on NTAG424 tag. Will authenticate if key information is provided.", "notes": [ - "hf ntag424 read -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -l 256" + "hf ntag424 read --fileno 1 --keyno 0 -k 00000000000000000000000000000000 -o 0 -l 32", + "hf ntag424 read --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 0 -l 256", + "hf ntag424 read --fileno 3 --keyno 3 -k 00000000000000000000000000000000 -o 0 -l 128 -m encrypt" ], "offline": false, "options": [ "-h, --help This help", - "-f, --fileno File number (1-3), (default 2)", - "-n, --keyno Key number", + "--fileno <1|2|3> File number", + "--keyno Key number", "-k, --key Key for authentication (HEX 16 bytes)", - "-o, --offset Offset to read in file (default 0)", + "-o, --offset Offset to read in file (def 0)", "-l, --length Number of bytes to read", - "-m, --cmode Communicaton mode" + "-m, --cmode Communication mode" ], - "usage": "hf ntag424 read [-h] -f [-n ] [-k ] [-o ] -l [-m ]" + "usage": "hf ntag424 read [-h] --fileno <1|2|3> [--keyno ] [-k ] [-o ] -l [-m ]" }, "hf ntag424 view": { "command": "hf ntag424 view", @@ -6910,19 +6912,20 @@ "command": "hf ntag424 write", "description": "Write data to file on NTAG424 tag. Will authenticate if key information is provided.", "notes": [ - "hf ntag424 write -f 2 -n 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788" + "hf ntag424 write --fileno 2 --keyno 0 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788", + "hf ntag424 write --fileno 3 --keyno 3 -k 00000000000000000000000000000000 -o 0 -d 1122334455667788 -m encrypt" ], "offline": false, "options": [ "-h, --help This help", - "-f, --fileno File number (1-3), (default 2)", - "-n, --keyno Key number", + "--fileno <1|2|3> File number (def 2)", + "--keyno Key number", "-k, --key Key for authentication (HEX 16 bytes)", - "-o, --offset Offset to write in file (default 0)", + "-o, --offset Offset to write in file (def 0)", "-d, --data Data to write", - "-m, --cmode Communicaton mode" + "-m, --cmode Communication mode" ], - "usage": "hf ntag424 write [-h] -f [-n ] [-k ] [-o ] -d [-m ]" + "usage": "hf ntag424 write [-h] --fileno <1|2|3> [--keyno ] [-k ] [-o ] -d [-m ]" }, "hf plot": { "command": "hf plot", @@ -12014,6 +12017,6 @@ "metadata": { "commands_extracted": 696, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-29T15:43:05" + "extracted_on": "2023-10-30T12:11:34" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 43eeb3535..49d34875d 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -649,13 +649,13 @@ Check column "offline" for their availability. |command |offline |description |------- |------- |----------- |`hf ntag424 help `|Y |`This help` -|`hf ntag424 info `|N |`Tag information (not implemented yet)` +|`hf ntag424 info `|N |`Tag information` |`hf ntag424 view `|Y |`Display content from tag dump file` |`hf ntag424 auth `|N |`Test authentication with key` |`hf ntag424 read `|N |`Read file` |`hf ntag424 write `|N |`Write file` -|`hf ntag424 getfilesettings`|N |`Get file settings` -|`hf ntag424 changefilesettings`|N |`Change file settings` +|`hf ntag424 getfs `|N |`Get file settings` +|`hf ntag424 changefs `|N |`Change file settings` |`hf ntag424 changekey `|N |`Change key` From f47fb2f74d0fba2f1be6ff51c654852e6ced4f7f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 16:07:13 +0100 Subject: [PATCH 164/278] adapt data bmap to handle calls without -m. --- CHANGELOG.md | 3 ++- client/src/cmddata.c | 16 +++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70e2bbe24..025595e2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,10 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `data bmap` - now default `-m` is 8 (@iceman1001) - Added support for NTAG424 cards. (@dankar) - Additional fixes to configcard code for keyroll mode based on nfc-iclass output (@Antiklesys) + - Changed lf sampling - improved the performance (@yah01) - Added `bind` option for network connections to specify the outbound address and port (@wh201906) - Changed `lf em 4x05 dump` - now supports the `--ns` nosave parameter (@iceman1001) - Fixed some wrong synchronization waits in usb_write() to increase the communication speed (@wh201906) @@ -41,7 +43,6 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Modified `hf iclass configcard` to only support online mode (@Antiklesys) - Modified `hf iclass configcard` command to generate config cards without a cardhelper module by porting the contents of blocks 6 & 7 from nfc-iclass (@Antiklesys) - Fixed `hf iclass info` command showing incorrectly in offline mode (@Antiklesys) - - Changed lf sampling - improved the performance (@yah01) ## [Raccoon.4.17140][2023-09-09] - Changed text and adjust pm3_test case for mf_aes_brute (@doegox) diff --git a/client/src/cmddata.c b/client/src/cmddata.c index 01292cf65..cca476c20 100644 --- a/client/src/cmddata.c +++ b/client/src/cmddata.c @@ -3457,6 +3457,7 @@ static int CmdBinaryMap(const char *Cmd) { "Breaks down a hex value to binary according a template\n" " data bmap -d 16 -m 4,4\n" "This will give two rows each with four bits", + "data bmap -d 3B\n" "data bmap -d 3B -m 2,5,1\n" ); @@ -3480,7 +3481,11 @@ static int CmdBinaryMap(const char *Cmd) { char bits[(8 * 4) + 1] = {0}; hextobinstring_n(bits, (char *)hex, hlen); - int x = 0; + if (tlen == 0) { + template[0] = '8'; + template[1] = 0; + } + char *token = strtok((char *)template, ","); // header @@ -3490,19 +3495,16 @@ static int CmdBinaryMap(const char *Cmd) { uint8_t i = 0; uint8_t cnt = 1; + int x = 0; while (token != NULL) { sscanf(token, "%d", &x); - if (i) { - PrintAndLogEx(INFO, " %d | %*.s" NOLF, cnt, i * 3, " "); - } else { - PrintAndLogEx(INFO, " %d | " NOLF, cnt); - } + PrintAndLogEx(INFO, " %d | %*.s" NOLF, cnt, i * 3, " "); // incease with previous offset x += i; - for (; i < x; i++) { + for (; i < (uint8_t)x; i++) { PrintAndLogEx(NORMAL, "%c " NOLF, bits[7 - i]); } From 5ca29246e9f8c04e8f6fa462ec0896ee46e8c73c Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 16:08:42 +0100 Subject: [PATCH 165/278] fix GH code alert --- client/src/cipurse/cipursecore.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/client/src/cipurse/cipursecore.c b/client/src/cipurse/cipursecore.c index 563fda14f..143c2b1f9 100644 --- a/client/src/cipurse/cipursecore.c +++ b/client/src/cipurse/cipursecore.c @@ -104,9 +104,7 @@ static int CIPURSEExchangeEx(bool activate_field, bool leave_field_on, sAPDU_t a memcpy(result, securedata, rlen); } - if (result_len != NULL) { - *result_len = rlen; - } + *result_len = rlen; if (sw != NULL) { *sw = isw; From 82e7830e5b56eb9fdfb5b651e6e5b16739f160ba Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 22:20:55 +0100 Subject: [PATCH 166/278] style --- armsrc/i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/armsrc/i2c.c b/armsrc/i2c.c index 8c9110150..2848509a1 100644 --- a/armsrc/i2c.c +++ b/armsrc/i2c.c @@ -725,7 +725,7 @@ void I2C_print_status(void) { uint8_t major, minor; if (I2C_get_version(&major, &minor) == PM3_SUCCESS) { - Dbprintf(" version................. v%x.%02d ( %s )" + Dbprintf(" version................. v%d.%02d ( %s )" , major , minor , ((major == 4) && (minor == 42)) ? _GREEN_("ok") : _RED_("Outdated") From 75a70cbf53a9f3c65fe5e4185d940432cf13f5d8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 22:22:22 +0100 Subject: [PATCH 167/278] updating json format for mfc --- client/src/fileutils.c | 76 +++++++++++++++++++++++++++++++++++++++++- client/src/fileutils.h | 2 ++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 14b596c6d..9da6dc923 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -288,7 +288,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfMfc_v2: { - iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)(void *) data; + iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)data; JsonSaveStr(root, "FileType", "mfc v2"); JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card_info.uid, xdump->card_info.uidlen); JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card_info.atqa, 2); @@ -326,6 +326,48 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, } break; } + case jsfMfc_v3: { + iso14a_mf_dump_ev1_t *xdump = (iso14a_mf_dump_ev1_t *)data; + JsonSaveStr(root, "FileType", "mfc v3"); + JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card.ev1.uid, xdump->card.ev1.uidlen); + JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card.ev1.atqa, 2); + JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card.ev1.sak), 1); + JsonSaveBufAsHexCompact(root, "$.Card.ATS", xdump->card.ev1.ats, sizeof(xdump->card.ev1.ats_len)); + JsonSaveBufAsHexCompact(root, "$.Card.SIGNATURE", xdump->card.ev1.signature, sizeof(xdump->card.ev1.signature)); + + for (size_t i = 0; i < (xdump->dumplen / MFBLOCK_SIZE); i++) { + + snprintf(path, sizeof(path), "$.blocks.%zu", i); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); + if (mfIsSectorTrailer(i)) { + snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyA", mfSectorNum(i)); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], 6); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyB", mfSectorNum(i)); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 10], 6); + + uint8_t *adata = &xdump->dump[i * MFBLOCK_SIZE + 6]; + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditions", mfSectorNum(i)); + JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 6], 4); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 3); + JsonSaveStr(root, path, mfGetAccessConditionsDesc(0, adata)); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 2); + JsonSaveStr(root, path, mfGetAccessConditionsDesc(1, adata)); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 1); + JsonSaveStr(root, path, mfGetAccessConditionsDesc(2, adata)); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i); + JsonSaveStr(root, path, mfGetAccessConditionsDesc(3, adata)); + + snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.UserData", mfSectorNum(i)); + JsonSaveBufAsHexCompact(root, path, &adata[3], 1); + } + } + break; + } case jsfFudan: { iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)(void *) data; JsonSaveStr(root, "FileType", "fudan"); @@ -1123,6 +1165,38 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } + if (!strcmp(ctype, "mfc v3")) { + + JsonLoadBufAsHex(root, "$.Card.UID", udata.mfc_ev1->card.ev1.uid, udata.mfc_ev1->card.ev1.uidlen, datalen); + JsonLoadBufAsHex(root, "$.Card.ATQA", udata.mfc_ev1->card.ev1.atqa, 2, datalen); + JsonLoadBufAsHex(root, "$.Card.SAK", &(udata.mfc_ev1->card.ev1.sak), 1, datalen); + JsonLoadBufAsHex(root, "$.Card.ATS", udata.mfc_ev1->card.ev1.ats, sizeof(udata.mfc_ev1->card.ev1.ats_len), datalen); + JsonLoadBufAsHex(root, "$.Card.SIGNATURE", udata.mfc_ev1->card.ev1.signature, sizeof(udata.mfc_ev1->card.ev1.signature), datalen); + + *datalen = MFU_DUMP_PREFIX_LENGTH; + + size_t sptr = 0; + for (int i = 0; i < maxdatalen; i++) { + + if (sptr + MFBLOCK_SIZE > maxdatalen) { + retval = PM3_EMALLOC; + goto out; + } + + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); + uint8_t block[MFBLOCK_SIZE]; + JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); + if (!len) + break; + + memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); + sptr += len; + } + + *datalen = sptr; + goto out; + } + if (!strcmp(ctype, "fudan")) { size_t sptr = 0; for (int i = 0; i < maxdatalen; i++) { diff --git a/client/src/fileutils.h b/client/src/fileutils.h index 88d624788..0552ed5f3 100644 --- a/client/src/fileutils.h +++ b/client/src/fileutils.h @@ -39,12 +39,14 @@ typedef union { mfu_dump_t *mfu; topaz_tag_t *topaz; iso14a_mf_extdump_t *mfc; + iso14a_mf_dump_ev1_t *mfc_ev1; } udata_t; typedef enum { jsfRaw, jsfCardMemory, jsfMfc_v2, + jsfMfc_v3, jsfMfuMemory, jsfHitag, jsfIclass, From 094882454deb53d1ae0ec152f3a956558b6ad5cd Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 22:23:07 +0100 Subject: [PATCH 168/278] missing structs --- include/mifare.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/include/mifare.h b/include/mifare.h index b59b29c8d..7e393fe5f 100644 --- a/include/mifare.h +++ b/include/mifare.h @@ -56,12 +56,33 @@ typedef struct { uint8_t ats[256]; } PACKED iso14a_card_select_t; +typedef struct { + uint8_t uid[10]; + uint8_t uidlen; + uint8_t atqa[2]; + uint8_t sak; + uint8_t ats_len; + uint8_t ats[256]; + uint8_t signature[32]; +} PACKED iso14a_card_select_ev1_t; + typedef struct { iso14a_card_select_t card_info; uint8_t *dump; uint16_t dumplen; } iso14a_mf_extdump_t; +typedef struct { + union + { + iso14a_card_select_t mfc; + iso14a_card_select_ev1_t ev1; + } card; + uint16_t dumplen; + uint8_t *dump; +} iso14a_mf_dump_ev1_t; + + typedef enum ISO14A_COMMAND { ISO14A_CONNECT = (1 << 0), ISO14A_NO_DISCONNECT = (1 << 1), From 5b7486553f8e265173569b7f6f7212a44dd8ca1e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 30 Oct 2023 22:53:41 +0100 Subject: [PATCH 169/278] remove unused param in desfire_print_signature --- client/src/cmdhfmfdes.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index 59abee163..3f71fa405 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -372,8 +372,7 @@ static int mfdes_get_info(mfdes_info_res_t *info) { } // --- GET SIGNATURE -static int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len, nxp_cardtype_t card_type) { - (void)card_type; +static int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len) { if (uid == NULL) { PrintAndLogEx(DEBUG, "UID=NULL"); @@ -742,7 +741,7 @@ static int CmdHF14ADesInfo(const char *Cmd) { res = DesfireReadSignature(&dctx, 0x00, signature, &signature_len); if (res == PM3_SUCCESS) { if (signature_len == 56) - desfire_print_signature(info.uid, info.uidlen, signature, signature_len, cardtype); + desfire_print_signature(info.uid, info.uidlen, signature, signature_len); else PrintAndLogEx(WARNING, "--- GetSignature returned wrong signature length: %zu", signature_len); } else { From f2ed7d12991a9162d05dbcdfef529a0f29104552 Mon Sep 17 00:00:00 2001 From: Henry Gabryjelski Date: Mon, 30 Oct 2023 14:24:15 -0700 Subject: [PATCH 170/278] Fix mf file loading error Code was incorrectly checking if loop variable `i` was greater than maximum data length, rather than checking current buffer pointer. --- client/src/fileutils.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 14b596c6d..11d6ee590 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1087,6 +1087,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // Proxmark3 settings file. No if (!strcmp(ctype, "settings")) { + PrintAndLogEx(ERR, "ERROR: json " _YELLOW_("%s") " appears to be Proxmark3 settings file ... not a valid dump file.", preferredName); goto out; } @@ -1102,21 +1103,26 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // depricated mfcard if (!strcmp(ctype, "mfcard") || !strcmp(ctype, "mfc v2")) { size_t sptr = 0; - for (int i = 0; i < maxdatalen; i++) { - + // load blocks (i) from 0..N, but check sptr against total data length, not `i` + for (int i = 0; sptr < maxdatalen; i++) { if (sptr + MFBLOCK_SIZE > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%4d (%04x) block (i)=%4d (%04x) sptr=%4d (%04x) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); - uint8_t block[MFBLOCK_SIZE]; + uint8_t block[MFBLOCK_SIZE] = {0}; // ensure zero-filled when partial block of data read JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); - if (!len) + if (!len) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data ... file parsing stopped", ctype, i); break; + } else if (len != MFBLOCK_SIZE) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %d bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); + } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); - sptr += len; + sptr += MFBLOCK_SIZE; // always increment pointer by the full block size, even if only partial data read from dump file } *datalen = sptr; From 9835543a2f8b8563e2c46ccf0f887c33bba72435 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 31 Oct 2023 00:03:53 +0100 Subject: [PATCH 171/278] apply fix for v3 --- client/src/fileutils.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 4b397013e..dbb8c8b27 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1157,7 +1157,8 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz uint8_t block[MFBLOCK_SIZE] = {0}; // ensure zero-filled when partial block of data read JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); if (!len) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data ... file parsing stopped", ctype, i); + PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data", ctype, i); + PrintAndLogEx(INFO, "file parsing stopped"); break; } else if (len != MFBLOCK_SIZE) { PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %d bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); @@ -1182,21 +1183,27 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz *datalen = MFU_DUMP_PREFIX_LENGTH; size_t sptr = 0; - for (int i = 0; i < maxdatalen; i++) { - + // load blocks (i) from 0..N, but check sptr against total data length, not `i` + for (int i = 0; sptr < maxdatalen; i++) { if (sptr + MFBLOCK_SIZE > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%4d (%04x) block (i)=%4d (%04x) sptr=%4d (%04x) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); - uint8_t block[MFBLOCK_SIZE]; + uint8_t block[MFBLOCK_SIZE] = {0}; // ensure zero-filled when partial block of data read JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); - if (!len) + if (!len) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data", ctype, i); + PrintAndLogEx(INFO, "file parsing stopped"); break; + } else if (len != MFBLOCK_SIZE) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %d bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); + } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); - sptr += len; + sptr += MFBLOCK_SIZE; // always increment pointer by the full block size, even if only partial data read from dump file } *datalen = sptr; From f523d2917b5f5e7c27f26617aaf57695c99aec09 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 31 Oct 2023 00:43:44 +0100 Subject: [PATCH 172/278] fix string formatters --- client/src/fileutils.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index dbb8c8b27..7e7f0f945 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1148,7 +1148,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // load blocks (i) from 0..N, but check sptr against total data length, not `i` for (int i = 0; sptr < maxdatalen; i++) { if (sptr + MFBLOCK_SIZE > maxdatalen) { - PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%4d (%04x) block (i)=%4d (%04x) sptr=%4d (%04x) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1161,7 +1161,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz PrintAndLogEx(INFO, "file parsing stopped"); break; } else if (len != MFBLOCK_SIZE) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %d bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); + PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %zu bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); @@ -1186,7 +1186,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // load blocks (i) from 0..N, but check sptr against total data length, not `i` for (int i = 0; sptr < maxdatalen; i++) { if (sptr + MFBLOCK_SIZE > maxdatalen) { - PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%4d (%04x) block (i)=%4d (%04x) sptr=%4d (%04x) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1199,7 +1199,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz PrintAndLogEx(INFO, "file parsing stopped"); break; } else if (len != MFBLOCK_SIZE) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %d bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); + PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %zu bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); From c48f3054831e9e4e027fb1cd50f1fe2a1a2d72bf Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 31 Oct 2023 00:58:50 +0100 Subject: [PATCH 173/278] more verbose output for failues when loading json files --- client/src/fileutils.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 7e7f0f945..a62a1d2bf 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1129,7 +1129,8 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz // Proxmark3 settings file. No if (!strcmp(ctype, "settings")) { - PrintAndLogEx(ERR, "ERROR: json " _YELLOW_("%s") " appears to be Proxmark3 settings file ... not a valid dump file.", preferredName); + PrintAndLogEx(ERR, "ERROR: json " _YELLOW_("%s") " appears to be Proxmark3 settings file", preferredName); + PrintAndLogEx(INFO, "not a valid dump file"); goto out; } @@ -1214,6 +1215,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < maxdatalen; i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1247,6 +1249,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < 256; i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1270,6 +1273,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (size_t i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1290,6 +1294,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (size_t i = 0; i < (maxdatalen / PICOPASS_BLOCK_SIZE); i++) { if (sptr + PICOPASS_BLOCK_SIZE > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1309,6 +1314,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (size_t i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1328,6 +1334,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (size_t i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1354,6 +1361,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1374,6 +1382,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 8); i++) { if (sptr + 8 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1394,6 +1403,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < 64; i++) { if (sptr + 16 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1426,6 +1436,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz for (int i = 0; i < (TOPAZ_STATIC_MEMORY / 8); i++) { if (sptr + TOPAZ_BLOCK_SIZE > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1461,6 +1472,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz for (size_t i = 0; i < 64; i++) { if ((sptr + (AES_KEY_LEN * 2)) > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); break; } @@ -1522,6 +1534,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1542,6 +1555,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 32); i++) { if (sptr + 32 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1562,6 +1576,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 8); i++) { if (sptr + 8 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } @@ -1593,6 +1608,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = 0; for (int i = 0; i < (maxdatalen / 16); i++) { if (sptr + 16 > maxdatalen) { + PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; goto out; } From 17844afe9dc2b8dedc959904e157df0827811bd5 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 31 Oct 2023 01:07:19 +0100 Subject: [PATCH 174/278] more verbose output for failues when loading json files --- client/src/fileutils.c | 74 +++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 30 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index a62a1d2bf..15246e154 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1088,6 +1088,17 @@ int loadFileMCT_safe(const char *preferredName, void **pdata, size_t *datalen) { return retval; } +static int load_file_sanity(char *s, uint32_t datalen, int i, size_t len) { + if (len == 0) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data", s, i); + PrintAndLogEx(INFO, "file parsing stopped"); + return false; + } else if (len != datalen) { + PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %zu bytes, expected %d (will fill with zero data)", s, i, len, datalen); + } + return true; +} + int loadFileJSON(const char *preferredName, void *data, size_t maxdatalen, size_t *datalen, void (*callback)(json_t *)) { return loadFileJSONex(preferredName, data, maxdatalen, datalen, true, callback); } @@ -1157,12 +1168,8 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); uint8_t block[MFBLOCK_SIZE] = {0}; // ensure zero-filled when partial block of data read JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); - if (!len) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data", ctype, i); - PrintAndLogEx(INFO, "file parsing stopped"); + if (load_file_sanity(ctype, MFBLOCK_SIZE, i, len) == false) { break; - } else if (len != MFBLOCK_SIZE) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %zu bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); @@ -1195,12 +1202,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); uint8_t block[MFBLOCK_SIZE] = {0}; // ensure zero-filled when partial block of data read JsonLoadBufAsHex(root, blocks, block, MFBLOCK_SIZE, &len); - if (!len) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d has zero-length data", ctype, i); - PrintAndLogEx(INFO, "file parsing stopped"); + + if (load_file_sanity(ctype, MFBLOCK_SIZE, i, len) == false) { break; - } else if (len != MFBLOCK_SIZE) { - PrintAndLogEx(WARNING, "WARNING: json %s block %d only has %zu bytes, expected %d (will fill with zero data)", ctype, i, len, MFBLOCK_SIZE); } memcpy(&udata.bytes[sptr], block, MFBLOCK_SIZE); @@ -1222,9 +1226,10 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) - break; + if (load_file_sanity(ctype, 4, i, len) == false) { + break; + } sptr += len; } @@ -1256,8 +1261,10 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.mfu->data[sptr], MFU_BLOCK_SIZE, &len); - if (!len) + + if (load_file_sanity(ctype, MFU_BLOCK_SIZE, i, len) == false) { break; + } sptr += len; udata.mfu->pages++; @@ -1280,8 +1287,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) + if (load_file_sanity(ctype, 4, i, len) == false) { break; + } sptr += len; } @@ -1301,8 +1309,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], PICOPASS_BLOCK_SIZE, &len); - if (!len) + if (load_file_sanity(ctype, PICOPASS_BLOCK_SIZE, i, len) == false) { break; + } sptr += len; } @@ -1321,8 +1330,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) + if (load_file_sanity(ctype, 4, i, len) == false) { break; + } sptr += len; } @@ -1341,8 +1351,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) + if (load_file_sanity(ctype, 4, i, len) == false) { break; + } sptr += len; } @@ -1368,8 +1379,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) + if (load_file_sanity(ctype, 4, i, len) == false) { break; + } sptr += len; } @@ -1389,9 +1401,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 8, &len); - if (!len) + if (load_file_sanity(ctype, 8, i, len) == false) { break; - + } sptr += len; } @@ -1410,9 +1422,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 16, &len); - if (!len) + if (load_file_sanity(ctype, 16, i, len) == false) { break; - + } sptr += len; } @@ -1443,8 +1455,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.topaz->data_blocks[sptr][0], TOPAZ_BLOCK_SIZE, &len); - if (!len) + if (load_file_sanity(ctype, TOPAZ_BLOCK_SIZE, i, len) == false) { break; + } sptr += len; // ICEMAN todo: add dynamic memory. @@ -1541,9 +1554,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); - if (!len) + if (load_file_sanity(ctype, 4, i, len) == false) { break; - + } sptr += len; } @@ -1562,9 +1575,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 32, &len); - if (!len) + if (load_file_sanity(ctype, 32, i, len) == false) { break; - + } sptr += len; } @@ -1583,9 +1596,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 8, &len); - if (!len) + if (load_file_sanity(ctype, 8, i, len) == false) { break; - + } sptr += len; } @@ -1615,8 +1628,9 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 16, &len); - if (!len) + if (load_file_sanity(ctype, 16, i, len) == false) { break; + } sptr += len; } From 939d3d4a93a82bf4ae04bbb9cbaf4c148d998a69 Mon Sep 17 00:00:00 2001 From: Henry Gabryjelski Date: Mon, 30 Oct 2023 17:26:07 -0700 Subject: [PATCH 175/278] Remove incorrect message (my own regression) --- client/src/fileutils.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 15246e154..10f1af49c 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1138,10 +1138,8 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz char ctype[100] = {0}; JsonLoadStr(root, "$.FileType", ctype); - // Proxmark3 settings file. No + // Proxmark3 settings file. Nothing to do except call the callback function if (!strcmp(ctype, "settings")) { - PrintAndLogEx(ERR, "ERROR: json " _YELLOW_("%s") " appears to be Proxmark3 settings file", preferredName); - PrintAndLogEx(INFO, "not a valid dump file"); goto out; } From ee3a223e37fd32bc6aeb3d573bd3135d8b26ef2c Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Mon, 30 Oct 2023 20:47:17 +0100 Subject: [PATCH 176/278] Implemented 'info' command for NTAG424 --- client/src/cmdhfmfdes.c | 4 + client/src/cmdhfmfdes.h | 2 + client/src/cmdhfntag424.c | 166 +++++++++++++++++++++++++++++++++++--- 3 files changed, 160 insertions(+), 12 deletions(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index 3f71fa405..e77f8ebd9 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -439,6 +439,10 @@ static int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signat return PM3_SUCCESS; } +int DesfirePrintSignature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len) { + return desfire_print_signature(uid, uidlen, signature, signature_len, DESFIRE_UNKNOWN); +} + static void swap24(uint8_t *data) { if (data == NULL) return; uint8_t tmp = data[0]; diff --git a/client/src/cmdhfmfdes.h b/client/src/cmdhfmfdes.h index 88d2cdb32..461823250 100644 --- a/client/src/cmdhfmfdes.h +++ b/client/src/cmdhfmfdes.h @@ -28,6 +28,8 @@ char *getVersionStr(uint8_t major, uint8_t minor); int getKeySettings(uint8_t *aid); */ +int DesfirePrintSignature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len); + // Ev1 card limits #define MAX_NUM_KEYS 0x0F #define MAX_APPLICATION_COUNT 28 diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 835f88adc..7d81765ce 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -32,18 +32,21 @@ #include "ui.h" #include "util.h" #include "crc32.h" +#include "cmdhfmfdes.h" #define NTAG424_MAX_BYTES 412 // NTAG424 commands currently implemented -#define NTAG424_CMD_GET_FILE_SETTINGS 0xF5 -#define NTAG424_CMD_CHANGE_FILE_SETTINGS 0x5F -#define NTAG424_CMD_CHANGE_KEY 0xC4 -#define NTAG424_CMD_READ_DATA 0xAD -#define NTAG424_CMD_WRITE_DATA 0x8D -#define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_1 0x71 -#define NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_2 0xAF +#define NTAG424_CMD_GET_FILE_SETTINGS 0xF5 +#define NTAG424_CMD_CHANGE_FILE_SETTINGS 0x5F +#define NTAG424_CMD_CHANGE_KEY 0xC4 +#define NTAG424_CMD_READ_DATA 0xAD +#define NTAG424_CMD_WRITE_DATA 0x8D +#define NTAG424_CMD_AUTHENTICATE_EV2_FIRST 0x71 +#define NTAG424_CMD_MORE_DATA 0xAF +#define NTAG424_CMD_GET_VERSION 0x60 +#define NTAG424_CMD_GET_SIGNATURE 0x3C // // Original from https://github.com/rfidhacking/node-sdm/ @@ -117,6 +120,62 @@ typedef struct { ntag424_file_sdm_settings_t optional_sdm_settings; } file_settings_write_t; +// -------------- Version information structs ------------------------- +typedef struct { + uint8_t vendor_id; + uint8_t type; + uint8_t sub_type; + uint8_t major_version; + uint8_t minor_version; + uint8_t storage_size; + uint8_t protocol; +} PACKED ntag424_version_information_t; + +typedef struct { + uint8_t uid[7]; + uint8_t batch[4]; + uint8_t fab_key_high : 4; + uint8_t batchno : 4; + uint8_t week_prod : 7; + uint8_t fab_key_low : 1; + uint8_t year_prod; +} PACKED ntag424_production_information_t; + +typedef struct { + ntag424_version_information_t hardware; + ntag424_version_information_t software; + ntag424_production_information_t production; +} ntag424_full_version_information_t; + + +static void ntag424_print_version_information(ntag424_version_information_t *version) { + PrintAndLogEx(INFO, " vendor id: " _GREEN_("%02X"), version->vendor_id); + PrintAndLogEx(INFO, " type: " _GREEN_("%02X"), version->type); + PrintAndLogEx(INFO, " sub type: " _GREEN_("%02X"), version->sub_type); + PrintAndLogEx(INFO, " version: " _GREEN_("%d.%d"), version->major_version, version->minor_version); + PrintAndLogEx(INFO, "storage size: " _GREEN_("%02X"), version->storage_size); + PrintAndLogEx(INFO, " protocol: " _GREEN_("%02X"), version->protocol); +} + +static void ntag424_print_production_information(ntag424_production_information_t *version) { + PrintAndLogEx(INFO, " uid: " _GREEN_("%s"), sprint_hex(version->uid, sizeof(version->uid))); + PrintAndLogEx(INFO, " batch: " _GREEN_("%s"), sprint_hex(version->batch, sizeof(version->batch))); + PrintAndLogEx(INFO, " batchno: " _GREEN_("%02X"), version->batchno); + PrintAndLogEx(INFO, " fab key: " _GREEN_("%02X"), (version->fab_key_high << 1) | version->fab_key_low); + PrintAndLogEx(INFO, " date: week " _GREEN_("%02X") " / " _GREEN_("20%02X"), version->week_prod, version->year_prod); +} + +static void ntag424_print_full_version_information(ntag424_full_version_information_t *version) { + PrintAndLogEx(INFO, "--- " _CYAN_("Hardware version information:"), fileno); + ntag424_print_version_information(&version->hardware); + + PrintAndLogEx(INFO, "--- " _CYAN_("Software version information:"), fileno); + ntag424_print_version_information(&version->software); + + PrintAndLogEx(INFO, "--- " _CYAN_("Production information:"), fileno); + ntag424_print_production_information(&version->production); +} + // Currently unused functions, commented out due to -Wunused-function /*static void ntag424_file_settings_set_access_rights(ntag424_file_settings_t *settings, uint8_t read_write_key, uint8_t change_key, @@ -473,7 +532,7 @@ static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) { APDU_t apdu = { .cla = 0x90, - .ins = NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_1, + .ins = NTAG424_CMD_AUTHENTICATE_EV2_FIRST, .lc = 0x02, .data = key_number }; @@ -500,7 +559,7 @@ static int ntag424_auth_first_step(uint8_t keyno, uint8_t *key, uint8_t *out) { static int ntag424_auth_second_step(uint8_t *challenge, uint8_t *response_out) { APDU_t apdu = { .cla = 0x90, - .ins = NTAG424_CMD_AUTHENTICATE_EV2_FIRST_PART_2, + .ins = NTAG424_CMD_MORE_DATA, .lc = 0x20, .data = challenge, }; @@ -691,6 +750,63 @@ static int ntag424_read_data(uint8_t fileno, uint16_t offset, uint16_t num_bytes return PM3_SUCCESS; } +static int ntag424_get_version(ntag424_full_version_information_t *version) { + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_GET_VERSION, + }; + + + uint8_t response[256]; + + int response_length = sizeof(ntag424_version_information_t) + 2; + if (ntag424_exchange_apdu(&apdu, 0, response, &response_length, COMM_PLAIN, NULL, 0x91, 0xAF) != PM3_SUCCESS) { + return PM3_ESOFT; + } + memcpy(&version->hardware, response, sizeof(ntag424_version_information_t)); + + APDU_t continue_apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_MORE_DATA, + }; + + response_length = sizeof(ntag424_version_information_t) + 2; + if (ntag424_exchange_apdu(&continue_apdu, 0, response, &response_length, COMM_PLAIN, NULL, 0x91, 0xAF) != PM3_SUCCESS) { + return PM3_ESOFT; + } + memcpy(&version->software, response, sizeof(ntag424_version_information_t)); + + response_length = sizeof(ntag424_production_information_t) + 2; + if (ntag424_exchange_apdu(&continue_apdu, 0, response, &response_length, COMM_PLAIN, NULL, 0x91, 0x00) != PM3_SUCCESS) { + return PM3_ESOFT; + } + memcpy(&version->production, response, sizeof(ntag424_production_information_t)); + + return PM3_SUCCESS; +} + +#define NXP_SIGNATURE_LENGTH 56 +#define NXP_SIGNATURE_ID 0x00 + +static int ntag424_get_signature(uint8_t *signature_out) { + uint8_t signature_id = NXP_SIGNATURE_ID; + APDU_t apdu = { + .cla = 0x90, + .ins = NTAG424_CMD_GET_SIGNATURE, + .lc = 1, + .data = &signature_id, + }; + + int response_length = NXP_SIGNATURE_LENGTH + 2; + // This is a weird one. Datasheet claims this command should result in 91 00, but cards, and the AN12196 + // document shows 91 90 on success. + if (ntag424_exchange_apdu(&apdu, 1, signature_out, &response_length, COMM_PLAIN, NULL, 0x91, 0x90) != PM3_SUCCESS) { + return PM3_ESOFT; + } + + return PM3_SUCCESS; +} + static int ntag424_change_key(uint8_t keyno, uint8_t *new_key, uint8_t *old_key, uint8_t version, ntag424_session_keys_t *session_keys) { // -------- Calculate xor and crc uint8_t key[16] = {0}; @@ -787,9 +903,35 @@ static int CmdHF_ntag424_info(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); CLIParserFree(ctx); - PrintAndLogEx(INFO, "not implemented yet"); - PrintAndLogEx(INFO, "Feel free to contribute!"); - return PM3_SUCCESS; + + if (SelectCard14443A_4(false, true, NULL) != PM3_SUCCESS) { + PrintAndLogEx(ERR, "Failed to select card"); + DropField(); + return PM3_ERFTRANS; + } + + if (ntag424_select_application() != PM3_SUCCESS) { + DropField(); + return PM3_ESOFT; + } + + ntag424_full_version_information_t version = {0}; + if (ntag424_get_version(&version) != PM3_SUCCESS) { + DropField(); + return PM3_ESOFT; + } + ntag424_print_full_version_information(&version); + + uint8_t signature[NXP_SIGNATURE_LENGTH]; + int res = ntag424_get_signature(signature); + DropField(); + + if (res == PM3_SUCCESS) { + PrintAndLogEx(INFO, "--- " _CYAN_("NXP originality signature:"), fileno); + DesfirePrintSignature(version.production.uid, 7, signature, NXP_SIGNATURE_LENGTH); + } + + return res; } static int ntag424_cli_get_auth_information(CLIParserContext *ctx, int keyno_index, int key_index, int *keyno, uint8_t *key_out) { From 5a750da4ef6b5f38998f3a509d4a608e2f5ffcc3 Mon Sep 17 00:00:00 2001 From: Daniel Karling Date: Tue, 31 Oct 2023 08:19:17 +0100 Subject: [PATCH 177/278] Removed wrapper for desfire_print_signature Not needed now when the unused parameter is gone. --- client/src/cmdhfmfdes.c | 6 +----- client/src/cmdhfmfdes.h | 2 +- client/src/cmdhfntag424.c | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index e77f8ebd9..33240ea62 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -372,7 +372,7 @@ static int mfdes_get_info(mfdes_info_res_t *info) { } // --- GET SIGNATURE -static int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len) { +int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len) { if (uid == NULL) { PrintAndLogEx(DEBUG, "UID=NULL"); @@ -439,10 +439,6 @@ static int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signat return PM3_SUCCESS; } -int DesfirePrintSignature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len) { - return desfire_print_signature(uid, uidlen, signature, signature_len, DESFIRE_UNKNOWN); -} - static void swap24(uint8_t *data) { if (data == NULL) return; uint8_t tmp = data[0]; diff --git a/client/src/cmdhfmfdes.h b/client/src/cmdhfmfdes.h index 461823250..80b3e8c93 100644 --- a/client/src/cmdhfmfdes.h +++ b/client/src/cmdhfmfdes.h @@ -28,7 +28,7 @@ char *getVersionStr(uint8_t major, uint8_t minor); int getKeySettings(uint8_t *aid); */ -int DesfirePrintSignature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len); +int desfire_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature, size_t signature_len); // Ev1 card limits #define MAX_NUM_KEYS 0x0F diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index 7d81765ce..c2d14b744 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -928,7 +928,7 @@ static int CmdHF_ntag424_info(const char *Cmd) { if (res == PM3_SUCCESS) { PrintAndLogEx(INFO, "--- " _CYAN_("NXP originality signature:"), fileno); - DesfirePrintSignature(version.production.uid, 7, signature, NXP_SIGNATURE_LENGTH); + desfire_print_signature(version.production.uid, 7, signature, NXP_SIGNATURE_LENGTH); } return res; From ae6ba395b4840556a487a720ad60a7c478bcd97d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 02:43:10 +0100 Subject: [PATCH 178/278] added support for loading flipper MFC/MFU dump files.\nFixed NFC DECODE to identify and handle MFU dump files properly --- CHANGELOG.md | 2 + client/src/cmdnfc.c | 45 ++++-- client/src/fileutils.c | 315 ++++++++++++++++++++++++++++++++++++++++- client/src/fileutils.h | 40 +++++- client/src/nfc/ndef.c | 20 ++- 5 files changed, 394 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 025595e2c..17f7a1583 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Fixed `nfc decode` - now properly handles MFU dump files (@iceman1001) + - Added support for loading Flipper MCT/MFU dump files (@iceman1001) - Changed `data bmap` - now default `-m` is 8 (@iceman1001) - Added support for NTAG424 cards. (@dankar) - Additional fixes to configcard code for keyroll mode based on nfc-iclass output (@Antiklesys) diff --git a/client/src/cmdnfc.c b/client/src/cmdnfc.c index 431464076..70ca53e97 100644 --- a/client/src/cmdnfc.c +++ b/client/src/cmdnfc.c @@ -113,26 +113,45 @@ static int CmdNfcDecode(const char *Cmd) { return res; } - // convert from MFC dump file to a pure NDEF byte array - if (HasMADKey(dump)) { - PrintAndLogEx(SUCCESS, "MFC dump file detected. Converting..."); - uint8_t ndef[4096] = {0}; - uint16_t ndeflen = 0; + uint8_t *tmp = dump; - if (convert_mad_to_arr(dump, bytes_read, ndef, &ndeflen) != PM3_SUCCESS) { - PrintAndLogEx(FAILED, "Failed converting, aborting..."); - free(dump); - return PM3_ESOFT; + // if not MIFARE Classic default sizes, assume its Ultralight/NTAG + if (bytes_read != 4096 || bytes_read != 2048 || bytes_read != 1024 || bytes_read != 320) { + + uint8_t **pd = &tmp; + mfu_df_e df = detect_mfu_dump_format(pd, verbose); + if (df == MFU_DF_OLDBIN) { + tmp += OLD_MFU_DUMP_PREFIX_LENGTH + (4 * 4); + bytes_read -= OLD_MFU_DUMP_PREFIX_LENGTH + ( 4 * 4); + } else if (df == MFU_DF_NEWBIN) { + tmp += MFU_DUMP_PREFIX_LENGTH + (4 * 4); + bytes_read -= MFU_DUMP_PREFIX_LENGTH + ( 4 * 4); } + pd = NULL; - memcpy(dump, ndef, ndeflen); - bytes_read = ndeflen; + } else { + + // convert from MFC dump file to a pure NDEF byte array + if (HasMADKey(tmp)) { + PrintAndLogEx(SUCCESS, "MFC dump file detected. Converting..."); + uint8_t ndef[4096] = {0}; + uint16_t ndeflen = 0; + + if (convert_mad_to_arr(tmp, bytes_read, ndef, &ndeflen) != PM3_SUCCESS) { + PrintAndLogEx(FAILED, "Failed converting, aborting..."); + free(dump); + return PM3_ESOFT; + } + + memcpy(tmp, ndef, ndeflen); + bytes_read = ndeflen; + } } - res = NDEFDecodeAndPrint(dump, bytes_read, verbose); + res = NDEFDecodeAndPrint(tmp, bytes_read, verbose); if (res != PM3_SUCCESS) { PrintAndLogEx(INFO, "Trying to parse NDEF records w/o NDEF header"); - res = NDEFRecordsDecodeAndPrint(dump, bytes_read, verbose); + res = NDEFRecordsDecodeAndPrint(tmp, bytes_read, verbose); } free(dump); diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 10f1af49c..ad2cbd36d 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -86,6 +86,8 @@ DumpFileType_t getfiletype(const char *filename) { o = DICTIONARY; } else if (str_endswith(s, "mct")) { o = MCT; + } else if (str_endswith(s, "nfc")) { + o = NFC; } else { // mfd, trc, trace is binary o = BIN; @@ -1001,6 +1003,195 @@ int loadFileEML_safe(const char *preferredName, void **pdata, size_t *datalen) { return retval; } +int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, size_t *datalen, nfc_df_e ft) { + + if (data == NULL) return PM3_EINVARG; + + *datalen = 0; + int retval = PM3_SUCCESS; + + char *path; + int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, "", false); + if (res != PM3_SUCCESS) { + return PM3_EFILE; + } + + FILE *f = fopen(path, "r"); + if (!f) { + PrintAndLogEx(WARNING, "file not found or locked `" _YELLOW_("%s") "`", path); + free(path); + return PM3_EFILE; + } + free(path); + + // 256 + 2 newline chars + 1 null terminator + char line[256 + 2 + 1]; + memset(line, 0, sizeof(line)); + + udata_t udata = (udata_t)data; + int n = 0; + + while (!feof(f)) { + + memset(line, 0, sizeof(line)); + + if (fgets(line, sizeof(line), f) == NULL) { + if (feof(f)) + break; + + fclose(f); + PrintAndLogEx(FAILED, "File reading error."); + return PM3_EFILE; + } + + if (line[0] == '#') + continue; + + strcleanrn(line, sizeof(line)); + str_lower(line); + + + if (str_startswith(line, "uid:")) { + if (ft == NFC_DF_MFC) { + param_gethex_to_eol(line + 4, 0, udata.mfc->card_info.uid, sizeof(udata.mfc->card_info.uid), &n); + } + continue; + } + + if (str_startswith(line, "atqa:")) { + if (ft == NFC_DF_MFC) { + param_gethex_to_eol(line + 5, 0, udata.mfc->card_info.atqa, sizeof(udata.mfc->card_info.atqa), &n); + } + continue; + } + + if (str_startswith(line, "sak:")) { + if (ft == NFC_DF_MFC) { + int sak = 0; + sscanf(line, "sak: %d", &sak); + udata.mfc->card_info.sak = sak & 0xFF; + } + continue; + } + + if (str_startswith(line, "signature:")) { + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + param_gethex_to_eol(line + 11, 0, udata.mfu->signature, sizeof(udata.mfu->signature), &n); + } + continue; + } + + if (str_startswith(line, "mifare version:")) { + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + param_gethex_to_eol(line + 16, 0, udata.mfu->version, sizeof(udata.mfu->version), &n); + } + continue; + } + + if (str_startswith(line, "counter 0:")) { + int no = 0; + sscanf(line, "counter 0: %d", &no); + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + udata.mfu->counter_tearing[0][0] = no & 0xFF; + udata.mfu->counter_tearing[0][1] = no & 0xFF; + udata.mfu->counter_tearing[0][2] = no & 0xFF; + } + continue; + } + + if (str_startswith(line, "tearing 0:")) { + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + sscanf(line, "tearing 0: %02x", &n); + udata.mfu->counter_tearing[0][3] = n & 0xFF; + } + continue; + } + + if (str_startswith(line, "counter 1:")) { + int no = 0; + sscanf(line, "counter 1: %d", &no); + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + udata.mfu->counter_tearing[1][0] = no & 0xFF; + udata.mfu->counter_tearing[1][1] = no & 0xFF; + udata.mfu->counter_tearing[1][2] = no & 0xFF; + } + continue; + } + + if (str_startswith(line, "tearing 1:")) { + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + sscanf(line, "tearing 1: %02x", &n); + udata.mfu->counter_tearing[1][3] = n & 0xFF; + } + continue; + } + + if (str_startswith(line, "counter 2:")) { + int no = 0; + sscanf(line, "counter 2: %d", &no); + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + udata.mfu->counter_tearing[2][0] = no & 0xFF; + udata.mfu->counter_tearing[2][1] = no & 0xFF; + udata.mfu->counter_tearing[2][2] = no & 0xFF; + } + continue; + } + + if (str_startswith(line, "tearing 2:")) { + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + sscanf(line, "tearing 2: %02x", &n); + udata.mfu->counter_tearing[2][3] = n & 0xFF; + } + continue; + } + + if (str_startswith(line, "pages total:")) { + sscanf(line, "pages total: %d", &n); + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + udata.mfu->pages = n; + } + continue; + } + + // Page 0: 04 10 56 CA + if (str_startswith(line, "page ")) { + int pageno = 0; + sscanf(line, "page %d:", &pageno); + + char *p = line; + while (*p++ != ':') {}; + + if (ft == NFC_DF_MFC) { + param_gethex_to_eol(p, 0, udata.mfc->dump + (pageno * MFBLOCK_SIZE), MFBLOCK_SIZE, &n); + udata.mfc->dumplen += MFBLOCK_SIZE; + } else if (ft == NFC_DF_MFU) { + param_gethex_to_eol(p, 0, udata.mfu->data + (pageno * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE, &n); + *datalen += MFU_BLOCK_SIZE; + } + continue; + } + } + + // add header length + if (ft == NFC_DF_MFC) { + } else if (ft == NFC_DF_MFU) { + *datalen += MFU_DUMP_PREFIX_LENGTH; + } + + fclose(f); + PrintAndLogEx(SUCCESS, "loaded " _YELLOW_("%zu") " bytes from NFC file `" _YELLOW_("%s") "`", *datalen, preferredName); + return retval; +} + int loadFileMCT_safe(const char *preferredName, void **pdata, size_t *datalen) { char *path; int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, "", false); @@ -1926,7 +2117,7 @@ int loadFileBinaryKey(const char *preferredName, const char *suffix, void **keya return PM3_SUCCESS; } -mfu_df_e detect_mfu_dump_format(uint8_t **dump, size_t *dumplen, bool verbose) { +mfu_df_e detect_mfu_dump_format(uint8_t **dump, bool verbose) { mfu_df_e retval = MFU_DF_UNKNOWN; uint8_t bcc0, bcc1; @@ -1979,6 +2170,99 @@ mfu_df_e detect_mfu_dump_format(uint8_t **dump, size_t *dumplen, bool verbose) { return retval; } +nfc_df_e detect_nfc_dump_format(const char *preferredName, bool verbose) { + + char *path; + int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, "", false); + if (res != PM3_SUCCESS) { + return PM3_EFILE; + } + + FILE *f = fopen(path, "r"); + if (!f) { + PrintAndLogEx(WARNING, "file not found or locked `" _YELLOW_("%s") "`", path); + free(path); + return PM3_EFILE; + } + free(path); + + nfc_df_e retval = NFC_DF_UNKNOWN; + + char line[256]; + memset(line, 0, sizeof(line)); + + while (!feof(f)) { + + memset(line, 0, sizeof(line)); + + if (fgets(line, sizeof(line), f) == NULL) { + if (feof(f)) { + break; + } + + fclose(f); + PrintAndLogEx(FAILED, "File reading error."); + return PM3_EFILE; + } + + strcleanrn(line, sizeof(line)); + str_lower(line); + + if (str_startswith(line, "device type: ntag")) { + retval = NFC_DF_MFU; + break; + } + if (str_startswith(line, "device type: mifare classic")) { + retval = NFC_DF_MFC; + break; + } + if (str_startswith(line, "device type: mifare desfire")) { + retval = NFC_DF_MFDES; + break; + } + if (str_startswith(line, "device type: iso14443-3a")) { + retval = NFC_DF_14_3A; + break; + } + if (str_startswith(line, "device type: iso14443-3b")) { + retval = NFC_DF_14_3B; + break; + } + if (str_startswith(line, "device type: iso14443-4a")) { + retval = NFC_DF_14_4A; + break; + } + } + fclose(f); + + if (verbose) { + switch (retval) { + case NFC_DF_MFU: + PrintAndLogEx(INFO, "detected MIFARE Ultralight / NTAG based dump format"); + break; + case NFC_DF_MFC: + PrintAndLogEx(INFO, "detected MIFARE Classic based dump format"); + break; + case NFC_DF_MFDES: + PrintAndLogEx(INFO, "detected MIFARE DESFire based dump format"); + break; + case NFC_DF_14_3A: + PrintAndLogEx(INFO, "detected ISO14443-3A based dump format. No data available"); + break; + case NFC_DF_14_3B: + PrintAndLogEx(INFO, "detected ISO14443-3B based dump format. No data available"); + break; + case NFC_DF_14_4A: + PrintAndLogEx(INFO, "detected ISO14443-4A based dump format. No data available"); + break; + case NFC_DF_UNKNOWN: + PrintAndLogEx(WARNING, "failed to detected dump format"); + break; + } + } + return retval; +} + static int convert_plain_mfu_dump(uint8_t **dump, size_t *dumplen, bool verbose) { mfu_dump_t *mfu = (mfu_dump_t *) calloc(sizeof(mfu_dump_t), sizeof(uint8_t)); @@ -2055,7 +2339,7 @@ int convert_mfu_dump_format(uint8_t **dump, size_t *dumplen, bool verbose) { return PM3_EINVARG; } - mfu_df_e res = detect_mfu_dump_format(dump, dumplen, verbose); + mfu_df_e res = detect_mfu_dump_format(dump, verbose); switch (res) { case MFU_DF_NEWBIN: @@ -2419,15 +2703,38 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl break; } case DICTIONARY: { - PrintAndLogEx(ERR, "Only BIN/EML/JSON formats allowed"); + PrintAndLogEx(ERR, "Only Payload[pos] != 0x10) { n -= 1; - pos -= 1; + pos += 1; continue; } @@ -775,6 +775,16 @@ static int ndefDecodeMime_wifi_wsc(NDEFHeader_t *ndef) { pos += 2; pos += len; } + + // unknown the length. + if (memcmp(&ndef->Payload[pos], "\x10\x3C", 2) == 0) { + uint8_t len = 3; + PrintAndLogEx(INFO, "Unknown......... %s", sprint_hex(&ndef->Payload[pos + 2], len)); + n -= 2; + n -= len; + pos += 2; + pos += len; + } } /* @@ -1182,6 +1192,7 @@ int NDEFDecodeAndPrint(uint8_t *ndef, size_t ndefLen, bool verbose) { PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "--- " _CYAN_("NDEF parsing") " ----------------"); while (indx < ndefLen) { + switch (ndef[indx]) { case 0x00: { indx++; @@ -1246,8 +1257,9 @@ int NDEFDecodeAndPrint(uint8_t *ndef, size_t ndefLen, bool verbose) { PrintAndLogEx(SUCCESS, "Found NDEF message ( " _YELLOW_("%u") " bytes )", len); int res = NDEFRecordsDecodeAndPrint(&ndef[indx], len, verbose); - if (res != PM3_SUCCESS) + if (res != PM3_SUCCESS) { return res; + } } indx += len; @@ -1269,9 +1281,9 @@ int NDEFDecodeAndPrint(uint8_t *ndef, size_t ndefLen, bool verbose) { return PM3_SUCCESS; } default: { - if (verbose) + if (verbose) { PrintAndLogEx(ERR, "unknown tag 0x%02x", ndef[indx]); - + } return PM3_ESOFT; } } From a92e712cfeba80290bfdc030a2c2321f6dd28dcc Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 03:06:10 +0100 Subject: [PATCH 179/278] fix bad comparisions --- client/src/cmdnfc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/src/cmdnfc.c b/client/src/cmdnfc.c index 70ca53e97..4e827a32b 100644 --- a/client/src/cmdnfc.c +++ b/client/src/cmdnfc.c @@ -116,7 +116,10 @@ static int CmdNfcDecode(const char *Cmd) { uint8_t *tmp = dump; // if not MIFARE Classic default sizes, assume its Ultralight/NTAG - if (bytes_read != 4096 || bytes_read != 2048 || bytes_read != 1024 || bytes_read != 320) { + if ( bytes_read != MIFARE_4K_MAX_BYTES + && bytes_read != MIFARE_2K_MAX_BYTES + && bytes_read != MIFARE_1K_MAX_BYTES + && bytes_read != MIFARE_MINI_MAX_BYTES) { uint8_t **pd = &tmp; mfu_df_e df = detect_mfu_dump_format(pd, verbose); From 98b7bd75d635d8ff36685178b6ee638de78a292e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 03:17:48 +0100 Subject: [PATCH 180/278] seems nfc mifare classic dumps used "blocks" instead... --- client/src/fileutils.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index ad2cbd36d..d1fc62a09 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1050,7 +1050,6 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s strcleanrn(line, sizeof(line)); str_lower(line); - if (str_startswith(line, "uid:")) { if (ft == NFC_DF_MFC) { param_gethex_to_eol(line + 4, 0, udata.mfc->card_info.uid, sizeof(udata.mfc->card_info.uid), &n); @@ -1151,7 +1150,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->counter_tearing[2][3] = n & 0xFF; } continue; - } + } if (str_startswith(line, "pages total:")) { sscanf(line, "pages total: %d", &n); @@ -1170,15 +1169,27 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s char *p = line; while (*p++ != ':') {}; - if (ft == NFC_DF_MFC) { - param_gethex_to_eol(p, 0, udata.mfc->dump + (pageno * MFBLOCK_SIZE), MFBLOCK_SIZE, &n); - udata.mfc->dumplen += MFBLOCK_SIZE; - } else if (ft == NFC_DF_MFU) { + if (ft == NFC_DF_MFU) { param_gethex_to_eol(p, 0, udata.mfu->data + (pageno * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE, &n); *datalen += MFU_BLOCK_SIZE; } continue; - } + } + + // Block 0: 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF + if (str_startswith(line, "block ")) { + int blockno = 0; + sscanf(line, "block %d:", &blockno); + + char *p = line; + while (*p++ != ':') {}; + + if (ft == NFC_DF_MFC) { + param_gethex_to_eol(p, 0, udata.mfc->dump + (blockno * MFBLOCK_SIZE), MFBLOCK_SIZE, &n); + udata.mfc->dumplen += MFBLOCK_SIZE; + } + continue; + } } // add header length From 9f439fde4ec89d7a6e95caad45ab91e60472d29d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 07:57:13 +0100 Subject: [PATCH 181/278] fix some ndef decoding --- client/src/nfc/ndef.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/src/nfc/ndef.c b/client/src/nfc/ndef.c index 6134faa11..a8227ddc7 100644 --- a/client/src/nfc/ndef.c +++ b/client/src/nfc/ndef.c @@ -634,6 +634,7 @@ static const char *ndef_wifi_auth_lookup(uint8_t *d) { return ""; } + static int ndefDecodeMime_wifi_wsc(NDEFHeader_t *ndef) { if (ndef->PayloadLen == 0) { PrintAndLogEx(INFO, "no payload"); @@ -713,7 +714,7 @@ static int ndefDecodeMime_wifi_wsc(NDEFHeader_t *ndef) { pos += len; } - // NETWORK_IDX + // NETWORK_IDX - always set to 1, deprecated if (memcmp(&ndef->Payload[pos], "\x10\x26", 2) == 0) { // 10 26 00 01 01 uint8_t len = 3; @@ -776,10 +777,16 @@ static int ndefDecodeMime_wifi_wsc(NDEFHeader_t *ndef) { pos += len; } - // unknown the length. + // rf-bands if (memcmp(&ndef->Payload[pos], "\x10\x3C", 2) == 0) { uint8_t len = 3; - PrintAndLogEx(INFO, "Unknown......... %s", sprint_hex(&ndef->Payload[pos + 2], len)); + + if (ndef->Payload[pos + 2 + 2] == 0x01) { + PrintAndLogEx(INFO, "RF Bands........ %s ( " _YELLOW_("2.4 GHZ")" )", sprint_hex(&ndef->Payload[pos + 2], len)); + } else if (ndef->Payload[pos + 2 + 2] == 0x02) { + PrintAndLogEx(INFO, "RF Bands........ %s ( " _YELLOW_("5.0 GHZ")" )", sprint_hex(&ndef->Payload[pos + 2], len)); + } + n -= 2; n -= len; pos += 2; @@ -791,13 +798,12 @@ static int ndefDecodeMime_wifi_wsc(NDEFHeader_t *ndef) { ap-channel 0, 6 + credential device-name - mac-address + manufacturer model-name model-number + oob-password primary-device-type - rf-bands secondary-device-type-list serial-number ssid From 6423a0ec764ecf4f9687717a071589ec4a51c39d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 07:57:45 +0100 Subject: [PATCH 182/278] file extension needed? --- client/src/fileutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index d1fc62a09..c46dfec75 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1011,7 +1011,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s int retval = PM3_SUCCESS; char *path; - int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, "", false); + int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, ".nfc", false); if (res != PM3_SUCCESS) { return PM3_EFILE; } From c08e26ca26f644e0836e2fdfc8fcada755ec5f6f Mon Sep 17 00:00:00 2001 From: Jean-Michel Picod Date: Wed, 1 Nov 2023 10:40:53 +0100 Subject: [PATCH 183/278] Add alternative chip ID --- client/src/cmdhw.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index 7b2693781..c591e1703 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -45,6 +45,7 @@ static void lookup_chipid_short(uint32_t iChipID, uint32_t mem_used) { case 0x270B0A40: asBuff = "AT91SAM7S512 Rev A"; break; + case 0x270B0A4E: case 0x270B0A4F: asBuff = "AT91SAM7S512 Rev B"; break; @@ -153,6 +154,7 @@ static void lookupChipID(uint32_t iChipID, uint32_t mem_used) { case 0x270B0A40: asBuff = "AT91SAM7S512 Rev A"; break; + case 0x270B0A4E: case 0x270B0A4F: asBuff = "AT91SAM7S512 Rev B"; break; From 74347be52c27aa2f88d730323f01fcd75cea873c Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 17:03:10 +0100 Subject: [PATCH 184/278] added O3 compiler param --- tools/mfkey/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index fd69207a7..7f5371132 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -1,7 +1,7 @@ MYSRCPATHS = ../../common ../../common/crapto1 MYSRCS = crypto1.c crapto1.c bucketsort.c MYINCLUDES = -I../../include -I../../common -MYCFLAGS = +MYCFLAGS = -O3 MYDEFS = BINS = mfkey32 mfkey32v2 mfkey64 From 865052b4e90ab12337230c890f44b3c079b9da74 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:05:35 +0100 Subject: [PATCH 185/278] compiler optimizations from user @np0 --- tools/mfkey/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index 7f5371132..22f87f207 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -1,9 +1,10 @@ MYSRCPATHS = ../../common ../../common/crapto1 MYSRCS = crypto1.c crapto1.c bucketsort.c MYINCLUDES = -I../../include -I../../common -MYCFLAGS = -O3 +MYCFLAGS = -O3 -funroll-all-loops --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 MYDEFS = +#BINS = mfkey32 mfkey32v2 mfkey64 staticnested BINS = mfkey32 mfkey32v2 mfkey64 INSTALLTOOLS = $(BINS) @@ -19,3 +20,4 @@ endif mfkey32 : $(OBJDIR)/mfkey32.o $(MYOBJS) mfkey32v2 : $(OBJDIR)/mfkey32v2.o $(MYOBJS) mfkey64 : $(OBJDIR)/mfkey64.o $(MYOBJS) +#staticnested : $(OBJDIR)/staticnested.o $(MYOBJS) From c398e20eef31340ece44710e9c6d2a7641f72bae Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:20:14 +0100 Subject: [PATCH 186/278] macos --- tools/mfkey/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index 22f87f207..985df47be 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -1,7 +1,7 @@ MYSRCPATHS = ../../common ../../common/crapto1 MYSRCS = crypto1.c crapto1.c bucketsort.c MYINCLUDES = -I../../include -I../../common -MYCFLAGS = -O3 -funroll-all-loops --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 +MYCFLAGS = -O3 --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 MYDEFS = #BINS = mfkey32 mfkey32v2 mfkey64 staticnested From e94be650aab93a3e9747decfbd97770fa2c48b90 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:21:04 +0100 Subject: [PATCH 187/278] clean --- tools/mfkey/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index 985df47be..fd6e37fd9 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -4,7 +4,6 @@ MYINCLUDES = -I../../include -I../../common MYCFLAGS = -O3 --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 MYDEFS = -#BINS = mfkey32 mfkey32v2 mfkey64 staticnested BINS = mfkey32 mfkey32v2 mfkey64 INSTALLTOOLS = $(BINS) @@ -20,4 +19,3 @@ endif mfkey32 : $(OBJDIR)/mfkey32.o $(MYOBJS) mfkey32v2 : $(OBJDIR)/mfkey32v2.o $(MYOBJS) mfkey64 : $(OBJDIR)/mfkey64.o $(MYOBJS) -#staticnested : $(OBJDIR)/staticnested.o $(MYOBJS) From b17f5ef45c6bb9166f3808773d90288f254018ae Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:39:42 +0100 Subject: [PATCH 188/278] fix nfc MFC dump file loading --- client/src/fileutils.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index c46dfec75..eae4de0cb 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1030,6 +1030,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata_t udata = (udata_t)data; int n = 0; + uint32_t counter = 0; while (!feof(f)) { @@ -1052,14 +1053,14 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s if (str_startswith(line, "uid:")) { if (ft == NFC_DF_MFC) { - param_gethex_to_eol(line + 4, 0, udata.mfc->card_info.uid, sizeof(udata.mfc->card_info.uid), &n); +// param_gethex_to_eol(line + 4, 0, udata.mfc->card_info.uid, sizeof(udata.mfc->card_info.uid), &n); } continue; } if (str_startswith(line, "atqa:")) { if (ft == NFC_DF_MFC) { - param_gethex_to_eol(line + 5, 0, udata.mfc->card_info.atqa, sizeof(udata.mfc->card_info.atqa), &n); +// param_gethex_to_eol(line + 5, 0, udata.mfc->card_info.atqa, sizeof(udata.mfc->card_info.atqa), &n); } continue; } @@ -1068,7 +1069,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s if (ft == NFC_DF_MFC) { int sak = 0; sscanf(line, "sak: %d", &sak); - udata.mfc->card_info.sak = sak & 0xFF; +// udata.mfc->card_info.sak = sak & 0xFF; } continue; } @@ -1166,8 +1167,14 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s int pageno = 0; sscanf(line, "page %d:", &pageno); + if (strcmp(line, "??") == 0) { + PrintAndLogEx(INFO, "Missing data detected in page %i, skipping...", pageno); + continue; + } + char *p = line; while (*p++ != ':') {}; + p++; if (ft == NFC_DF_MFU) { param_gethex_to_eol(p, 0, udata.mfu->data + (pageno * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE, &n); @@ -1181,19 +1188,28 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s int blockno = 0; sscanf(line, "block %d:", &blockno); + if (strcmp(line, "??") == 0) { + PrintAndLogEx(INFO, "Missing data detected in block %i, skipping...", blockno); + continue; + } + char *p = line; while (*p++ != ':') {}; + p++; if (ft == NFC_DF_MFC) { - param_gethex_to_eol(p, 0, udata.mfc->dump + (blockno * MFBLOCK_SIZE), MFBLOCK_SIZE, &n); - udata.mfc->dumplen += MFBLOCK_SIZE; + uint8_t block[MFBLOCK_SIZE] = {0}; + param_gethex_to_eol(p, 0, block, MFBLOCK_SIZE, &n); + memcpy(&udata.bytes[(blockno * MFBLOCK_SIZE)], block, MFBLOCK_SIZE); } + counter += MFBLOCK_SIZE; continue; } } // add header length if (ft == NFC_DF_MFC) { + *datalen = counter; } else if (ft == NFC_DF_MFU) { *datalen += MFU_DUMP_PREFIX_LENGTH; } @@ -2725,7 +2741,11 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl nfc_df_e foo = detect_nfc_dump_format(fn, true); if (foo == NFC_DF_MFC || foo == NFC_DF_MFU) { - *pdump = calloc(maxdumplen, sizeof(uint8_t)); + if (foo == NFC_DF_MFC) { + *pdump = calloc(maxdumplen, sizeof(uint8_t)); + } else { + *pdump = calloc(maxdumplen, sizeof(uint8_t)); + } if (*pdump == NULL) { PrintAndLogEx(WARNING, "Fail, cannot allocate memory"); return PM3_EMALLOC; From e5d2fc3fa791e5397c7fccf93af2b82129c05d78 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:40:10 +0100 Subject: [PATCH 189/278] some color to MFU dump output --- client/src/cmdhfmfu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 99c0223a4..41b93f3f2 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -2328,7 +2328,12 @@ void printMFUdumpEx(mfu_dump_t *card, uint16_t pages, uint8_t startpage) { for (uint16_t i = 0; i < pages; ++i) { if (i < 3) { - PrintAndLogEx(INFO, "%3d/0x%02X | %s| | %s", i + startpage, i + startpage, sprint_hex(data + i * 4, 4), sprint_ascii(data + i * 4, 4)); + PrintAndLogEx(INFO, "%3d/0x%02X | " _RED_("%s")"| | %s", + i + startpage, + i + startpage, + sprint_hex(data + i * 4, 4), + sprint_ascii(data + i * 4, 4) + ); continue; } switch (i) { From 3d91806b5bea7d755e28311a0df71a675e78a957 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 1 Nov 2023 23:40:33 +0100 Subject: [PATCH 190/278] use correct define --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 8a9f5926e..83e9916be 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7353,7 +7353,7 @@ static int CmdHF14AMfView(const char *Cmd) { // read dump file uint8_t *dump = NULL; size_t bytes_read = 0; - int res = pm3_load_dump(filename, (void **)&dump, &bytes_read, (MFBLOCK_SIZE * MIFARE_4K_MAXBLOCK)); + int res = pm3_load_dump(filename, (void **)&dump, &bytes_read, MIFARE_4K_MAX_BYTES); if (res != PM3_SUCCESS) { return res; } From bae03ec7923572658ccd149e0cf60fa1024ddf7b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 2 Nov 2023 17:14:37 +0100 Subject: [PATCH 191/278] type confusing --- client/src/fileutils.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index eae4de0cb..61dc0bd99 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1172,6 +1172,10 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s continue; } + if (((pageno * MFU_BLOCK_SIZE) + MFU_BLOCK_SIZE) >= maxdatalen) { + continue; + } + char *p = line; while (*p++ != ':') {}; p++; @@ -1193,6 +1197,10 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s continue; } + if (((blockno * MFBLOCK_SIZE) + MFBLOCK_SIZE) >= maxdatalen) { + continue; + } + char *p = line; while (*p++ != ':') {}; p++; @@ -1494,7 +1502,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz if (!strcmp(ctype, "hitag")) { size_t sptr = 0; - for (size_t i = 0; i < (maxdatalen / 4); i++) { + for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; @@ -1516,7 +1524,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz if (!strcmp(ctype, "iclass")) { size_t sptr = 0; - for (size_t i = 0; i < (maxdatalen / PICOPASS_BLOCK_SIZE); i++) { + for (int i = 0; i < (maxdatalen / PICOPASS_BLOCK_SIZE); i++) { if (sptr + PICOPASS_BLOCK_SIZE > maxdatalen) { PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; @@ -1537,7 +1545,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz if (!strcmp(ctype, "t55x7")) { size_t sptr = 0; - for (size_t i = 0; i < (maxdatalen / 4); i++) { + for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; @@ -1558,7 +1566,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz if (!strcmp(ctype, "EM4X50")) { size_t sptr = 0; - for (size_t i = 0; i < (maxdatalen / 4); i++) { + for (int i = 0; i < (maxdatalen / 4); i++) { if (sptr + 4 > maxdatalen) { PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); retval = PM3_EMALLOC; @@ -1698,7 +1706,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t sptr = (14 + atslen); // memcpy(vdata, udata.bytes + (14 + atslen), 2 * 64 * 17); - for (size_t i = 0; i < 64; i++) { + for (int i = 0; i < 64; i++) { if ((sptr + (AES_KEY_LEN * 2)) > maxdatalen) { PrintAndLogEx(ERR, "loadFileJSONex: maxdatalen=%zu (%04zx) block (i)=%4d (%04x) sptr=%zu (%04zx) -- exceeded maxdatalen", maxdatalen, maxdatalen, i, i, sptr, sptr); From 85fafb5906ad70e9dff8fd969b1edfe2f012bc87 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 2 Nov 2023 17:19:42 +0100 Subject: [PATCH 192/278] type confusing --- client/src/fileutils.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 61dc0bd99..a3818680d 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1509,7 +1509,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (load_file_sanity(ctype, 4, i, len) == false) { break; @@ -1531,7 +1531,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], PICOPASS_BLOCK_SIZE, &len); if (load_file_sanity(ctype, PICOPASS_BLOCK_SIZE, i, len) == false) { break; @@ -1552,7 +1552,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (load_file_sanity(ctype, 4, i, len) == false) { break; @@ -1573,7 +1573,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz goto out; } - snprintf(blocks, sizeof(blocks), "$.blocks.%zu", i); + snprintf(blocks, sizeof(blocks), "$.blocks.%d", i); JsonLoadBufAsHex(root, blocks, &udata.bytes[sptr], 4, &len); if (load_file_sanity(ctype, 4, i, len) == false) { break; @@ -1715,10 +1715,10 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz size_t offset = (14 + atslen) + (i * 2 * AES_KEY_LEN); - snprintf(blocks, sizeof(blocks), "$.SectorKeys.%zu.KeyA", i); + snprintf(blocks, sizeof(blocks), "$.SectorKeys.%d.KeyA", i); JsonLoadBufAsHex(root, blocks, udata.bytes + offset, AES_KEY_LEN, datalen); - snprintf(blocks, sizeof(blocks), "$.SectorKeys.%zu.KeyB", i); + snprintf(blocks, sizeof(blocks), "$.SectorKeys.%d.KeyB", i); JsonLoadBufAsHex(root, blocks, udata.bytes + offset + AES_KEY_LEN, AES_KEY_LEN, datalen); sptr += (2 * AES_KEY_LEN); From 5471d326b7a4d8122a6b008607a6308c2b1756b4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 01:41:22 +0100 Subject: [PATCH 193/278] macOS complains about memory alignment when type casting. memcpy should sort it --- client/src/fileutils.c | 119 ++++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 55 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index a3818680d..79a9680f0 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -290,25 +290,28 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfMfc_v2: { - iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)data; + + iso14a_mf_extdump_t xdump; + memcpy(&xdump, data, sizeof(iso14a_mf_extdump_t)); + JsonSaveStr(root, "FileType", "mfc v2"); - JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card_info.uid, xdump->card_info.uidlen); - JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card_info.atqa, 2); - JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card_info.sak), 1); - for (size_t i = 0; i < (xdump->dumplen / MFBLOCK_SIZE); i++) { + JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump.card_info.uid, xdump.card_info.uidlen); + JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump.card_info.atqa, 2); + JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump.card_info.sak), 1); + for (size_t i = 0; i < (xdump.dumplen / MFBLOCK_SIZE); i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); if (mfIsSectorTrailer(i)) { snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyA", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], 6); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE], 6); snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyB", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 10], 6); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE + 10], 6); - uint8_t *adata = &xdump->dump[i * MFBLOCK_SIZE + 6]; + uint8_t *adata = &xdump.dump[i * MFBLOCK_SIZE + 6]; snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditions", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 6], 4); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE + 6], 4); snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 3); JsonSaveStr(root, path, mfGetAccessConditionsDesc(0, adata)); @@ -329,28 +332,31 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfMfc_v3: { - iso14a_mf_dump_ev1_t *xdump = (iso14a_mf_dump_ev1_t *)data; - JsonSaveStr(root, "FileType", "mfc v3"); - JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card.ev1.uid, xdump->card.ev1.uidlen); - JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card.ev1.atqa, 2); - JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card.ev1.sak), 1); - JsonSaveBufAsHexCompact(root, "$.Card.ATS", xdump->card.ev1.ats, sizeof(xdump->card.ev1.ats_len)); - JsonSaveBufAsHexCompact(root, "$.Card.SIGNATURE", xdump->card.ev1.signature, sizeof(xdump->card.ev1.signature)); - for (size_t i = 0; i < (xdump->dumplen / MFBLOCK_SIZE); i++) { + iso14a_mf_dump_ev1_t xdump; + memcpy(&xdump, data, sizeof(iso14a_mf_dump_ev1_t)); + + JsonSaveStr(root, "FileType", "mfc v3"); + JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump.card.ev1.uid, xdump.card.ev1.uidlen); + JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump.card.ev1.atqa, 2); + JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump.card.ev1.sak), 1); + JsonSaveBufAsHexCompact(root, "$.Card.ATS", xdump.card.ev1.ats, sizeof(xdump.card.ev1.ats_len)); + JsonSaveBufAsHexCompact(root, "$.Card.SIGNATURE", xdump.card.ev1.signature, sizeof(xdump.card.ev1.signature)); + + for (size_t i = 0; i < (xdump.dumplen / MFBLOCK_SIZE); i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE], MFBLOCK_SIZE); if (mfIsSectorTrailer(i)) { snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyA", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE], 6); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE], 6); snprintf(path, sizeof(path), "$.SectorKeys.%d.KeyB", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 10], 6); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE + 10], 6); - uint8_t *adata = &xdump->dump[i * MFBLOCK_SIZE + 6]; + uint8_t *adata = &xdump.dump[i * MFBLOCK_SIZE + 6]; snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditions", mfSectorNum(i)); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * MFBLOCK_SIZE + 6], 4); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * MFBLOCK_SIZE + 6], 4); snprintf(path, sizeof(path), "$.SectorKeys.%d.AccessConditionsText.block%zu", mfSectorNum(i), i - 3); JsonSaveStr(root, path, mfGetAccessConditionsDesc(0, adata)); @@ -371,37 +377,39 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfFudan: { - iso14a_mf_extdump_t *xdump = (iso14a_mf_extdump_t *)(void *) data; + iso14a_mf_extdump_t xdump; + memcpy(&xdump, data, sizeof(iso14a_mf_extdump_t)); + JsonSaveStr(root, "FileType", "fudan"); - JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump->card_info.uid, xdump->card_info.uidlen); - JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump->card_info.atqa, 2); - JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump->card_info.sak), 1); - for (size_t i = 0; i < (xdump->dumplen / 4); i++) { + JsonSaveBufAsHexCompact(root, "$.Card.UID", xdump.card_info.uid, xdump.card_info.uidlen); + JsonSaveBufAsHexCompact(root, "$.Card.ATQA", xdump.card_info.atqa, 2); + JsonSaveBufAsHexCompact(root, "$.Card.SAK", &(xdump.card_info.sak), 1); + for (size_t i = 0; i < (xdump.dumplen / 4); i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, &xdump->dump[i * 4], 4); + JsonSaveBufAsHexCompact(root, path, &xdump.dump[i * 4], 4); } break; } case jsfMfuMemory: { - JsonSaveStr(root, "FileType", "mfu"); - - mfu_dump_t *tmp = (mfu_dump_t *)data; + mfu_dump_t tmp; + memcpy(&tmp, data, sizeof(mfu_dump_t)); uint8_t uid[7] = {0}; - memcpy(uid, tmp->data, 3); - memcpy(uid + 3, tmp->data + 4, 4); + memcpy(uid, tmp.data, 3); + memcpy(uid + 3, tmp.data + 4, 4); + JsonSaveStr(root, "FileType", "mfu"); JsonSaveBufAsHexCompact(root, "$.Card.UID", uid, sizeof(uid)); - JsonSaveBufAsHexCompact(root, "$.Card.Version", tmp->version, sizeof(tmp->version)); - JsonSaveBufAsHexCompact(root, "$.Card.TBO_0", tmp->tbo, sizeof(tmp->tbo)); - JsonSaveBufAsHexCompact(root, "$.Card.TBO_1", tmp->tbo1, sizeof(tmp->tbo1)); - JsonSaveBufAsHexCompact(root, "$.Card.Signature", tmp->signature, sizeof(tmp->signature)); + JsonSaveBufAsHexCompact(root, "$.Card.Version", tmp.version, sizeof(tmp.version)); + JsonSaveBufAsHexCompact(root, "$.Card.TBO_0", tmp.tbo, sizeof(tmp.tbo)); + JsonSaveBufAsHexCompact(root, "$.Card.TBO_1", tmp.tbo1, sizeof(tmp.tbo1)); + JsonSaveBufAsHexCompact(root, "$.Card.Signature", tmp.signature, sizeof(tmp.signature)); for (uint8_t i = 0; i < 3; i ++) { snprintf(path, sizeof(path), "$.Card.Counter%d", i); - JsonSaveBufAsHexCompact(root, path, tmp->counter_tearing[i], 3); + JsonSaveBufAsHexCompact(root, path, tmp.counter_tearing[i], 3); snprintf(path, sizeof(path), "$.Card.Tearing%d", i); - JsonSaveBufAsHexCompact(root, path, tmp->counter_tearing[i] + 3, 1); + JsonSaveBufAsHexCompact(root, path, tmp.counter_tearing[i] + 3, 1); } // size of header 56b @@ -410,15 +418,14 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, for (size_t i = 0; i < len; i++) { snprintf(path, sizeof(path), "$.blocks.%zu", i); - JsonSaveBufAsHexCompact(root, path, tmp->data + (i * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE); + JsonSaveBufAsHexCompact(root, path, tmp.data + (i * MFU_BLOCK_SIZE), MFU_BLOCK_SIZE); } break; } case jsfHitag: { - JsonSaveStr(root, "FileType", "hitag"); uint8_t uid[4] = {0}; memcpy(uid, data, 4); - + JsonSaveStr(root, "FileType", "hitag"); JsonSaveBufAsHexCompact(root, "$.Card.UID", uid, sizeof(uid)); for (size_t i = 0; i < (datalen / 4); i++) { @@ -428,25 +435,27 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfIclass: { + + picopass_hdr_t hdr; + memcpy(&hdr, data, sizeof(picopass_hdr_t)); + JsonSaveStr(root, "FileType", "iclass"); + JsonSaveBufAsHexCompact(root, "$.Card.CSN", hdr.csn, sizeof(hdr.csn)); + JsonSaveBufAsHexCompact(root, "$.Card.Configuration", (uint8_t *)&hdr.conf, sizeof(hdr.conf)); - picopass_hdr_t *hdr = (picopass_hdr_t *)data; - JsonSaveBufAsHexCompact(root, "$.Card.CSN", hdr->csn, sizeof(hdr->csn)); - JsonSaveBufAsHexCompact(root, "$.Card.Configuration", (uint8_t *)&hdr->conf, sizeof(hdr->conf)); - - uint8_t pagemap = get_pagemap(hdr); + uint8_t pagemap = get_pagemap(&hdr); if (pagemap == PICOPASS_NON_SECURE_PAGEMODE) { - picopass_ns_hdr_t *ns_hdr = (picopass_ns_hdr_t *)data; - JsonSaveBufAsHexCompact(root, "$.Card.AIA", ns_hdr->app_issuer_area, sizeof(ns_hdr->app_issuer_area)); + picopass_ns_hdr_t ns_hdr; + memcpy(&ns_hdr, data, sizeof(picopass_hdr_t)); + JsonSaveBufAsHexCompact(root, "$.Card.AIA", ns_hdr.app_issuer_area, sizeof(ns_hdr.app_issuer_area)); } else { - JsonSaveBufAsHexCompact(root, "$.Card.Epurse", hdr->epurse, sizeof(hdr->epurse)); - JsonSaveBufAsHexCompact(root, "$.Card.Kd", hdr->key_d, sizeof(hdr->key_d)); - JsonSaveBufAsHexCompact(root, "$.Card.Kc", hdr->key_c, sizeof(hdr->key_c)); - JsonSaveBufAsHexCompact(root, "$.Card.AIA", hdr->app_issuer_area, sizeof(hdr->app_issuer_area)); + JsonSaveBufAsHexCompact(root, "$.Card.Epurse", hdr.epurse, sizeof(hdr.epurse)); + JsonSaveBufAsHexCompact(root, "$.Card.Kd", hdr.key_d, sizeof(hdr.key_d)); + JsonSaveBufAsHexCompact(root, "$.Card.Kc", hdr.key_c, sizeof(hdr.key_c)); + JsonSaveBufAsHexCompact(root, "$.Card.AIA", hdr.app_issuer_area, sizeof(hdr.app_issuer_area)); } for (size_t i = 0; i < (datalen / PICOPASS_BLOCK_SIZE); i++) { - snprintf(path, sizeof(path), "$.blocks.%zu", i); JsonSaveBufAsHexCompact(root, path, data + (i * PICOPASS_BLOCK_SIZE), PICOPASS_BLOCK_SIZE); } From 4708940c69090e9eaf01d6448f74821f0267dbab Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 01:46:42 +0100 Subject: [PATCH 194/278] wrong struct when pasting --- client/src/fileutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 79a9680f0..9d97b9831 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -446,7 +446,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, uint8_t pagemap = get_pagemap(&hdr); if (pagemap == PICOPASS_NON_SECURE_PAGEMODE) { picopass_ns_hdr_t ns_hdr; - memcpy(&ns_hdr, data, sizeof(picopass_hdr_t)); + memcpy(&ns_hdr, data, sizeof(picopass_ns_hdr_t)); JsonSaveBufAsHexCompact(root, "$.Card.AIA", ns_hdr.app_issuer_area, sizeof(ns_hdr.app_issuer_area)); } else { JsonSaveBufAsHexCompact(root, "$.Card.Epurse", hdr.epurse, sizeof(hdr.epurse)); From 68f296cc14f809240a4f0d88e02dd1289d2b31cf Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 11:36:10 +0100 Subject: [PATCH 195/278] compile for optimized speed execution --- tools/cryptorf/Makefile | 2 +- tools/mf_nonce_brute/Makefile | 2 +- tools/mfkey/Makefile | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/cryptorf/Makefile b/tools/cryptorf/Makefile index 82d1d591c..bc6b7c853 100644 --- a/tools/cryptorf/Makefile +++ b/tools/cryptorf/Makefile @@ -1,7 +1,7 @@ MYSRCPATHS = ../../common ../../common/cryptorf MYSRCS = cryptolib.c util.c MYINCLUDES = -I../../common/cryptorf -MYCFLAGS = +MYCFLAGS = -O3 MYDEFS = # build artifacts diff --git a/tools/mf_nonce_brute/Makefile b/tools/mf_nonce_brute/Makefile index 17ae04ddc..35711a460 100644 --- a/tools/mf_nonce_brute/Makefile +++ b/tools/mf_nonce_brute/Makefile @@ -1,7 +1,7 @@ MYSRCPATHS = ../../common ../../common/crapto1 MYSRCS = crypto1.c crapto1.c bucketsort.c iso14443crc.c sleep.c util_posix.c MYINCLUDES = -I../../include -I../../common -MYCFLAGS = +MYCFLAGS = -O3 MYDEFS = MYLDLIBS = ifneq ($(SKIPPTHREAD),1) diff --git a/tools/mfkey/Makefile b/tools/mfkey/Makefile index fd6e37fd9..d1579a98b 100644 --- a/tools/mfkey/Makefile +++ b/tools/mfkey/Makefile @@ -1,7 +1,7 @@ MYSRCPATHS = ../../common ../../common/crapto1 MYSRCS = crypto1.c crapto1.c bucketsort.c MYINCLUDES = -I../../include -I../../common -MYCFLAGS = -O3 --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 +MYCFLAGS = -O3 MYDEFS = BINS = mfkey32 mfkey32v2 mfkey64 @@ -16,6 +16,11 @@ ifneq (,$(findstring MINGW,$(platform))) CFLAGS += -D_ISOC99_SOURCE endif +# macOS doesn't like these compiler params +ifneq ($(platform),Darwin) + MYCFLAGS += --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 +endif + mfkey32 : $(OBJDIR)/mfkey32.o $(MYOBJS) mfkey32v2 : $(OBJDIR)/mfkey32v2.o $(MYOBJS) mfkey64 : $(OBJDIR)/mfkey64.o $(MYOBJS) From ffb6f4ddbbd972c8a21accb26cf7e47195eb41d2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 11:48:47 +0100 Subject: [PATCH 196/278] remove default build to add debugging info --- client/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client/Makefile b/client/Makefile index d45e958f7..94ad5079b 100644 --- a/client/Makefile +++ b/client/Makefile @@ -371,12 +371,16 @@ ifeq ($(PYTHON_FOUND),1) endif ####################################################################################################### +# macOS doesn't like this params +#MYCFLAGS += --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000 +MYCFLAGS += -O3 + CFLAGS ?= $(DEFCFLAGS) CFLAGS += $(MYDEFS) $(MYCFLAGS) $(MYINCLUDES) # We cannot just use CFLAGS+=... because it has impact on sub-makes if CFLAGS is defined in env: PM3CFLAGS = $(CFLAGS) -PM3CFLAGS += -g -I./src -I./include -I../include -I../common -I../common_fpga $(PM3INCLUDES) $(INCLUDES) +PM3CFLAGS += -I./src -I./include -I../include -I../common -I../common_fpga $(PM3INCLUDES) $(INCLUDES) # WIP Testing #PM3CFLAGS += -std=c11 -pedantic @@ -415,7 +419,7 @@ endif PM3CFLAGS += -DHAVE_SNPRINTF -CXXFLAGS ?= -Wall -Werror -O3 +CXXFLAGS ?= -Wall -Werror CXXFLAGS += $(MYDEFS) $(MYCXXFLAGS) $(MYINCLUDES) PM3CXXFLAGS = $(CXXFLAGS) From ea249d7b17b3b0f0c9bbd5b445e5c7c438091588 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 12:20:30 +0100 Subject: [PATCH 197/278] fixes --- client/src/cipurse/cipursecore.c | 2 +- client/src/cmdhfmf.c | 2 +- client/src/cmdhfmfdes.c | 6 +++--- client/src/cmdhfntag424.c | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/src/cipurse/cipursecore.c b/client/src/cipurse/cipursecore.c index 143c2b1f9..ff75cc20e 100644 --- a/client/src/cipurse/cipursecore.c +++ b/client/src/cipurse/cipursecore.c @@ -626,7 +626,7 @@ void CIPURSEPrintFileAttrEx(uint8_t *attr, size_t len, bool isDGI) { } void CIPURSEPrintFileAttr(uint8_t *attr, size_t len) { - return CIPURSEPrintFileAttrEx(attr, len, false); + CIPURSEPrintFileAttrEx(attr, len, false); } void CIPURSEPrintFileUpdateAttr(uint8_t *attr, size_t len) { diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 83e9916be..852d50712 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -4009,7 +4009,7 @@ static int CmdHF14AMfKeyBrute(const char *Cmd) { */ void printKeyTable(size_t sectorscnt, sector_t *e_sector) { - return printKeyTableEx(sectorscnt, e_sector, 0); + printKeyTableEx(sectorscnt, e_sector, 0); } void printKeyTableEx(size_t sectorscnt, sector_t *e_sector, uint8_t start_sector) { diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index 33240ea62..d25e0dbf1 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -807,9 +807,9 @@ static int CmdHF14ADesInfo(const char *Cmd) { iso14a_card_select_t card; res = SelectCard14443A_4(true, false, &card); if (res == PM3_SUCCESS) { - static const char STANDALONE_DESFIRE[] = { 0x75, 0x77, 0x81, 0x02 }; - static const char JCOP_DESFIRE[] = { 0x75, 0xf7, 0xb1, 0x02 }; - static const char JCOP3_DESFIRE[] = { 0x78, 0x77, 0x71, 0x02 }; + static const uint8_t STANDALONE_DESFIRE[] = { 0x75, 0x77, 0x81, 0x02 }; + static const uint8_t JCOP_DESFIRE[] = { 0x75, 0xf7, 0xb1, 0x02 }; + static const uint8_t JCOP3_DESFIRE[] = { 0x78, 0x77, 0x71, 0x02 }; if (card.sak == 0x20) { diff --git a/client/src/cmdhfntag424.c b/client/src/cmdhfntag424.c index c2d14b744..97a271c84 100644 --- a/client/src/cmdhfntag424.c +++ b/client/src/cmdhfntag424.c @@ -166,13 +166,13 @@ static void ntag424_print_production_information(ntag424_production_information_ } static void ntag424_print_full_version_information(ntag424_full_version_information_t *version) { - PrintAndLogEx(INFO, "--- " _CYAN_("Hardware version information:"), fileno); + PrintAndLogEx(INFO, "--- " _CYAN_("Hardware version information:")); ntag424_print_version_information(&version->hardware); - PrintAndLogEx(INFO, "--- " _CYAN_("Software version information:"), fileno); + PrintAndLogEx(INFO, "--- " _CYAN_("Software version information:")); ntag424_print_version_information(&version->software); - PrintAndLogEx(INFO, "--- " _CYAN_("Production information:"), fileno); + PrintAndLogEx(INFO, "--- " _CYAN_("Production information:")); ntag424_print_production_information(&version->production); } @@ -927,7 +927,7 @@ static int CmdHF_ntag424_info(const char *Cmd) { DropField(); if (res == PM3_SUCCESS) { - PrintAndLogEx(INFO, "--- " _CYAN_("NXP originality signature:"), fileno); + PrintAndLogEx(INFO, "--- " _CYAN_("NXP originality signature:")); desfire_print_signature(version.production.uid, 7, signature, NXP_SIGNATURE_LENGTH); } From c793363b4f95357e8af2be98c106652d088f4b45 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 12:52:01 +0100 Subject: [PATCH 198/278] pedantic fixes --- client/src/cmdhfemrtd.c | 4 +- client/src/cmdhftexkom.c | 8 +-- client/src/cmdhfvas.c | 4 +- client/src/ksx6924/ksx6924core.c | 111 +++++++++++++++--------------- client/src/mifare/desfirecrypto.c | 4 +- client/src/uart/uart_posix.c | 6 +- client/src/uart/uart_win32.c | 6 +- 7 files changed, 70 insertions(+), 73 deletions(-) diff --git a/client/src/cmdhfemrtd.c b/client/src/cmdhfemrtd.c index 98bb3e44d..2e81ec3a7 100644 --- a/client/src/cmdhfemrtd.c +++ b/client/src/cmdhfemrtd.c @@ -120,7 +120,7 @@ static emrtd_hashalg_t hashalg_table[] = { {"SHA-1", sha1hash, 20, 7, {0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A}}, {"SHA-256", sha256hash, 32, 11, {0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01}}, {"SHA-512", sha512hash, 64, 11, {0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03}}, - {NULL, NULL, 0, 0, {}} + {NULL, NULL, 0, 0, {0}} }; static emrtd_pacealg_t pacealg_table[] = { @@ -141,7 +141,7 @@ static emrtd_pacealg_t pacealg_table[] = { {"ECDH, Integrated Mapping, AES-CMAC-128", NULL, {0x04, 0x00, 0x7F, 0x00, 0x07, 0x02, 0x02, 0x04, 0x04, 0x02}}, {"ECDH, Integrated Mapping, AES-CMAC-192", NULL, {0x04, 0x00, 0x7F, 0x00, 0x07, 0x02, 0x02, 0x04, 0x04, 0x03}}, {"ECDH, Integrated Mapping, AES-CMAC-256", NULL, {0x04, 0x00, 0x7F, 0x00, 0x07, 0x02, 0x02, 0x04, 0x04, 0x04}}, - {NULL, NULL, {}} + {NULL, NULL, {0}} }; static emrtd_pacesdp_t pacesdp_table[] = { diff --git a/client/src/cmdhftexkom.c b/client/src/cmdhftexkom.c index 6cb77a54e..6063e807c 100644 --- a/client/src/cmdhftexkom.c +++ b/client/src/cmdhftexkom.c @@ -429,7 +429,7 @@ static void TexcomReverseCode(const uint8_t *code, int length, uint8_t *reverse_ for (int i = 0; i < length; i++) { reverse_code[i] = code[(length - 1) - i]; } -}; +} static int texkom_get_type(texkom_card_select_t *card, bool verbose) { @@ -493,7 +493,7 @@ static int texkom_get_type(texkom_card_select_t *card, bool verbose) { noiselvl = TEXKOM_NOISE_THRESHOLD; } - uint32_t implengths[256] = {}; + uint32_t implengths[256] = { 0 }; uint32_t implengthslen = 0; uint32_t impulseindx = 0; uint32_t impulsecnt = 0; @@ -707,7 +707,7 @@ static int CmdHFTexkomReader(const char *Cmd) { //PrintAndLogEx(WARNING, "--- indx: %d, len: %d, max: %d, noise: %d", sindx, slen, maxlvl, noiselvl); - uint32_t implengths[256] = {}; + uint32_t implengths[256] = { 0 }; uint32_t implengthslen = 0; uint32_t impulseindx = 0; uint32_t impulsecnt = 0; @@ -872,7 +872,7 @@ static int CmdHFTexkomSim(const char *Cmd) { uint8_t data[8]; uint8_t modulation; uint32_t timeout; - } PACKED payload = {}; + } PACKED payload = {0}; bool verbose = arg_get_lit(ctx, 1); payload.modulation = 0; // tk-13 diff --git a/client/src/cmdhfvas.c b/client/src/cmdhfvas.c index fa621e853..0c6cc5df8 100644 --- a/client/src/cmdhfvas.c +++ b/client/src/cmdhfvas.c @@ -586,10 +586,10 @@ static command_t CommandTable[] = { int CmdHFVAS(const char *Cmd) { clearCommandBuffer(); return CmdsParse(CommandTable, Cmd); -}; +} static int CmdHelp(const char *Cmd) { (void)Cmd; // Cmd is not used so far CmdsHelp(CommandTable); return PM3_SUCCESS; -}; +} diff --git a/client/src/ksx6924/ksx6924core.c b/client/src/ksx6924/ksx6924core.c index 307573f74..4f4ab676e 100644 --- a/client/src/ksx6924/ksx6924core.c +++ b/client/src/ksx6924/ksx6924core.c @@ -108,86 +108,83 @@ typedef struct { return r->value; \ } -MAKE_ENUM_TYPE(uint8_t); +MAKE_ENUM_TYPE(uint8_t) // KSX6924LookupCardType MAKE_ENUM_CONST(CardType, uint8_t, -{ 0x00, "Pre-paid" }, -{ 0x10, "Post-pay" }, -{ 0x20, "Mobile post-pay" }, - ); + { 0x00, "Pre-paid" }, + { 0x10, "Post-pay" }, + { 0x20, "Mobile post-pay" }, +) // KSX6924LookupAlg MAKE_ENUM_CONST(Alg, uint8_t, -{ 0x00, "SEED" }, -{ 0x10, "3DES" }, - ); + { 0x00, "SEED" }, + { 0x10, "3DES" }, +) // KSX6924LookupTMoneyIDCenter MAKE_ENUM_CONST(TMoneyIDCenter, uint8_t, -{ 0x00, "Reserved" }, -{ 0x01, "Korea Financial Telecommunications and Clearings Institute" }, -{ 0x02, "A-Cash" }, -{ 0x03, "Mybi" }, -{ 0x04, "Reserved" }, -{ 0x05, "V-Cash" }, -{ 0x06, "Mondex Korea" }, -{ 0x07, "Korea Expressway Corporation" }, -{ 0x08, "Tmoney Co., Ltd." }, -{ 0x09, "KORAIL Networks" }, -{ 0x0a, "Reserved" }, -{ 0x0b, "EB Card Corporation" }, -{ 0x0c, "Seoul Bus Transport Association" }, -{ 0x0d, "Cardnet" }, - ); + { 0x00, "Reserved" }, + { 0x01, "Korea Financial Telecommunications and Clearings Institute" }, + { 0x02, "A-Cash" }, + { 0x03, "Mybi" }, + { 0x04, "Reserved" }, + { 0x05, "V-Cash" }, + { 0x06, "Mondex Korea" }, + { 0x07, "Korea Expressway Corporation" }, + { 0x08, "Tmoney Co., Ltd." }, + { 0x09, "KORAIL Networks" }, + { 0x0a, "Reserved" }, + { 0x0b, "EB Card Corporation" }, + { 0x0c, "Seoul Bus Transport Association" }, + { 0x0d, "Cardnet" }, +) // KSX6924LookupTMoneyUserCode MAKE_ENUM_CONST(TMoneyUserCode, uint8_t, -{ 0x01, "Regular/normal" }, -{ 0x02, "Child" }, - -{ 0x04, "Youth" }, - -{ 0x06, "elderly" }, - -{ 0x0f, "Test" }, -{ 0xff, "Inactive" }, - ); + { 0x01, "Regular/normal" }, + { 0x02, "Child" }, + { 0x04, "Youth" }, + { 0x06, "elderly" }, + { 0x0f, "Test" }, + { 0xff, "Inactive" }, +) // KSX6924LookupTMoneyDisRate MAKE_ENUM_CONST(TMoneyDisRate, uint8_t, -{ 0x00, "No discount" }, + { 0x00, "No discount" }, -{ 0x10, "Disabled, basic" }, -{ 0x11, "Disabled, companion" }, + { 0x10, "Disabled, basic" }, + { 0x11, "Disabled, companion" }, -{ 0x20, "Merit, basic" }, -{ 0x21, "Merit, companion" }, - ); + { 0x20, "Merit, basic" }, + { 0x21, "Merit, companion" }, +) // KSX6924LookupTMoneyTCode MAKE_ENUM_CONST(TMoneyTCode, uint8_t, -{ 0x00, "None" }, -{ 0x01, "SK Telecom" }, -{ 0x02, "Korea Telecom" }, -{ 0x03, "LG Uplus" }, - ); + { 0x00, "None" }, + { 0x01, "SK Telecom" }, + { 0x02, "Korea Telecom" }, + { 0x03, "LG Uplus" }, +) // KSX6924LookupTMoneyCCode MAKE_ENUM_CONST(TMoneyCCode, uint8_t, -{ 0x00, "None" }, -{ 0x01, "KB Card" }, -{ 0x02, "NH Card" }, -{ 0x03, "Lotte Card" }, -{ 0x04, "BC Card" }, -{ 0x05, "Samsung Card" }, -{ 0x06, "Shinhan Card" }, -{ 0x07, "Citibank Korea" }, -{ 0x08, "Korea Exchange Bank" }, -{ 0x09, "Woori Card" }, -{ 0x0a, "Hana SK Card" }, -{ 0x0b, "Hyundai Card" }, - ); + { 0x00, "None" }, + { 0x01, "KB Card" }, + { 0x02, "NH Card" }, + { 0x03, "Lotte Card" }, + { 0x04, "BC Card" }, + { 0x05, "Samsung Card" }, + { 0x06, "Shinhan Card" }, + { 0x07, "Citibank Korea" }, + { 0x08, "Korea Exchange Bank" }, + { 0x09, "Woori Card" }, + { 0x0a, "Hana SK Card" }, + { 0x0b, "Hyundai Card" }, +) static const char *KSX6924_UNKNOWN = "Unknown"; diff --git a/client/src/mifare/desfirecrypto.c b/client/src/mifare/desfirecrypto.c index 48126ae50..750723dab 100644 --- a/client/src/mifare/desfirecrypto.c +++ b/client/src/mifare/desfirecrypto.c @@ -788,11 +788,11 @@ bool desfire_crc32_check(uint8_t *data, const size_t len, uint8_t *crc) { } void iso14443a_crc_append(uint8_t *data, size_t len) { - return compute_crc(CRC_14443_A, data, len, data + len, data + len + 1); + compute_crc(CRC_14443_A, data, len, data + len, data + len + 1); } void iso14443a_crc(uint8_t *data, size_t len, uint8_t *pbtCrc) { - return compute_crc(CRC_14443_A, data, len, pbtCrc, pbtCrc + 1); + compute_crc(CRC_14443_A, data, len, pbtCrc, pbtCrc + 1); } bool iso14443a_crc_check(uint8_t *data, const size_t len, uint8_t *crc) { diff --git a/client/src/uart/uart_posix.c b/client/src/uart/uart_posix.c index bc0fb37c4..588e9ae90 100644 --- a/client/src/uart/uart_posix.c +++ b/client/src/uart/uart_posix.c @@ -94,7 +94,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { g_conn.send_via_local_ip = false; g_conn.send_via_ip = PM3_NONE; - char *prefix = strdup(pcPortName); + char *prefix = str_dup(pcPortName); if (prefix == NULL) { PrintAndLogEx(ERR, "error: string duplication"); free(sp); @@ -112,7 +112,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrPortStr = strdup(pcPortName + 4); + char *addrPortStr = str_dup(pcPortName + 4); char *addrstr = addrPortStr; const char *portstr; if (addrPortStr == NULL) { @@ -303,7 +303,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrPortStr = strdup(pcPortName + 4); + char *addrPortStr = str_dup(pcPortName + 4); char *addrstr = addrPortStr; const char *portstr; if (addrPortStr == NULL) { diff --git a/client/src/uart/uart_win32.c b/client/src/uart/uart_win32.c index ba3374494..43299ca5a 100644 --- a/client/src/uart/uart_win32.c +++ b/client/src/uart/uart_win32.c @@ -95,7 +95,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { g_conn.send_via_local_ip = false; g_conn.send_via_ip = PM3_NONE; - char *prefix = strdup(pcPortName); + char *prefix = str_dup(pcPortName); if (prefix == NULL) { PrintAndLogEx(ERR, "error: string duplication"); free(sp); @@ -114,7 +114,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrPortStr = strdup(pcPortName + 4); + char *addrPortStr = str_dup(pcPortName + 4); char *addrstr = addrPortStr; const char *portstr; if (addrPortStr == NULL) { @@ -321,7 +321,7 @@ serial_port uart_open(const char *pcPortName, uint32_t speed) { struct addrinfo *addr = NULL, *rp; - char *addrPortStr = strdup(pcPortName + 4); + char *addrPortStr = str_dup(pcPortName + 4); char *addrstr = addrPortStr; const char *portstr; if (addrPortStr == NULL) { From b7028bb7986d31a58143eb552dd009dfc399cabc Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 12:55:23 +0100 Subject: [PATCH 199/278] init fixes --- client/src/cmdhf15.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/client/src/cmdhf15.c b/client/src/cmdhf15.c index 7059bdd2c..e9468943a 100644 --- a/client/src/cmdhf15.c +++ b/client/src/cmdhf15.c @@ -849,7 +849,7 @@ static int CmdHF15Info(const char *Cmd) { "hf 15 info -u E011223344556677" ); - void *argtable[6 + 1] = {}; + void *argtable[6 + 1] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_param_end; @@ -1365,12 +1365,13 @@ static int CmdHF15WriteAfi(const char *Cmd) { "hf 15 writeafi -u E011223344556677 --afi 12 -p 0F0F0F0F" ); - void *argtable[5] = {}; - argtable[0] = arg_param_begin; - argtable[1] = arg_str0("u", "uid", "", "full UID, 8 bytes"); - argtable[2] = arg_int1(NULL, "afi", "", "AFI number (0-255)"); - argtable[3] = arg_str0("p", "pwd", "", "optional AFI/EAS password"); - argtable[4] = arg_param_end; + void *argtable[] = { + arg_param_begin, + arg_str0("u", "uid", "", "full UID, 8 bytes"), + arg_int1(NULL, "afi", "", "AFI number (0-255)"), + arg_str0("p", "pwd", "", "optional AFI/EAS password"), + arg_param_end + }; CLIExecWithReturn(ctx, Cmd, argtable, true); @@ -1448,7 +1449,7 @@ static int CmdHF15WriteDsfid(const char *Cmd) { "hf 15 writedsfid -u E011223344556677 --dsfid 12" ); - void *argtable[6 + 2] = {}; + void *argtable[6 + 2] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_int1(NULL, "dsfid", "", "DSFID number (0-255)"); argtable[arglen++] = arg_param_end; @@ -1548,7 +1549,7 @@ static int CmdHF15Dump(const char *Cmd) { "hf 15 dump -u E011223344556677 -f hf-15-my-dump.bin" ); - void *argtable[6 + 2] = {}; + void *argtable[6 + 2] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_str0("f", "file", "", "Specify a filename for dump file"), argtable[arglen++] = arg_param_end; @@ -1792,7 +1793,7 @@ static int CmdHF15Readmulti(const char *Cmd) { "hf 15 rdmulti -u E011223344556677 -b 12 --cnt 3 -> read three blocks" ); - void *argtable[6 + 3] = {}; + void *argtable[6 + 3] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_int1("b", NULL, "", "first page number (0-255)"); argtable[arglen++] = arg_int1(NULL, "cnt", "", "number of pages (1-6)"); @@ -1928,7 +1929,7 @@ static int CmdHF15Readblock(const char *Cmd) { "hf 15 rdbl -u E011223344556677 -b 12" ); - void *argtable[6 + 2] = {}; + void *argtable[6 + 2] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_int1("b", "blk", "", "page number (0-255)"); argtable[arglen++] = arg_param_end; @@ -2090,7 +2091,7 @@ static int CmdHF15Write(const char *Cmd) { "hf 15 wrbl -u E011223344556677 -b 12 -d AABBCCDD" ); - void *argtable[6 + 4] = {}; + void *argtable[6 + 4] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_int1("b", "blk", "", "page number (0-255)"); argtable[arglen++] = arg_str1("d", "data", "", "data, 4 bytes"); @@ -2181,7 +2182,7 @@ static int CmdHF15Restore(const char *Cmd) { "hf 15 restore -u E011223344556677 -f hf-15-my-dump.bin" ); - void *argtable[6 + 5] = {}; + void *argtable[6 + 5] = {0}; uint8_t arglen = arg_add_default(argtable); argtable[arglen++] = arg_str0("f", "file", "", "Specify a filename for dump file"), argtable[arglen++] = arg_int0("r", "retry", "", "number of retries (def 3)"), From b09c3ac67c063107ca18a087e3ed4d2859a46d81 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 15:39:28 +0100 Subject: [PATCH 200/278] default type of ENUM in C is INT. the tagtype enum broke it. Converted to DEFINES since you cant change type of an ENUM --- client/src/cmdhf14a.c | 4 +- client/src/cmdhfmf.c | 4 +- client/src/cmdhfmfu.c | 289 ++++++++++++++++++++++-------------------- client/src/cmdhfmfu.h | 79 ++++++------ 4 files changed, 193 insertions(+), 183 deletions(-) diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index 7bfecea55..b86001f32 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -2010,8 +2010,8 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { // ******** is card of the MFU type (UL/ULC/NTAG/ etc etc) DropField(); - uint32_t tagT = GetHF14AMfU_Type(); - if (tagT != UL_ERROR) { + uint64_t tagT = GetHF14AMfU_Type(); + if (tagT != MFU_TT_UL_ERROR) { ul_print_type(tagT, 0); isMifareUltralight = true; printTag("MIFARE Ultralight/C/NTAG Compatible"); diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 852d50712..da94e1205 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -2485,8 +2485,8 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { // ------------------------------ - uint32_t tagT = GetHF14AMfU_Type(); - if (tagT != UL_ERROR) { + uint64_t tagT = GetHF14AMfU_Type(); + if (tagT != MFU_TT_UL_ERROR) { PrintAndLogEx(ERR, "Detected a MIFARE Ultralight/C/NTAG Compatible card."); PrintAndLogEx(ERR, "This command targets " _YELLOW_("MIFARE Classic")); return PM3_ESOFT; diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 41b93f3f2..860744220 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -69,16 +69,24 @@ static uint8_t default_pwd_pack[][4] = { {0x4E, 0x45, 0x78, 0x54}, // NExT }; -static uint32_t UL_TYPES_ARRAY[] = { - UNKNOWN, UL, UL_C, UL_EV1_48, UL_EV1_128, - NTAG, NTAG_203, NTAG_210, NTAG_212, - NTAG_213, NTAG_215, NTAG_216, - MY_D, MY_D_NFC, MY_D_MOVE, MY_D_MOVE_NFC, MY_D_MOVE_LEAN, - NTAG_I2C_1K, NTAG_I2C_2K, NTAG_I2C_1K_PLUS, NTAG_I2C_2K_PLUS, - FUDAN_UL, NTAG_213_F, NTAG_216_F, UL_EV1, UL_NANO_40, - NTAG_213_TT, NTAG_213_C, - MAGIC_1A, MAGIC_1B, MAGIC_NTAG, - NTAG_210u, UL_MAGIC, UL_C_MAGIC +static uint64_t UL_TYPES_ARRAY[] = { + MFU_TT_UNKNOWN, MFU_TT_UL, + MFU_TT_UL_C, MFU_TT_UL_EV1_48, + MFU_TT_UL_EV1_128, MFU_TT_NTAG, + MFU_TT_NTAG_203, MFU_TT_NTAG_210, + MFU_TT_NTAG_212, MFU_TT_NTAG_213, + MFU_TT_NTAG_215, MFU_TT_NTAG_216, + MFU_TT_MY_D, MFU_TT_MY_D_NFC, + MFU_TT_MY_D_MOVE, MFU_TT_MY_D_MOVE_NFC, + MFU_TT_MY_D_MOVE_LEAN, MFU_TT_NTAG_I2C_1K, + MFU_TT_NTAG_I2C_2K, MFU_TT_NTAG_I2C_1K_PLUS, + MFU_TT_NTAG_I2C_2K_PLUS, MFU_TT_FUDAN_UL, + MFU_TT_NTAG_213_F, MFU_TT_NTAG_216_F, + MFU_TT_UL_EV1, MFU_TT_UL_NANO_40, + MFU_TT_NTAG_213_TT, MFU_TT_NTAG_213_C, + MFU_TT_MAGIC_1A, MFU_TT_MAGIC_1B, + MFU_TT_MAGIC_NTAG, MFU_TT_NTAG_210u, + MFU_TT_UL_MAGIC, MFU_TT_UL_C_MAGIC }; static uint8_t UL_MEMORY_ARRAY[ARRAYLEN(UL_TYPES_ARRAY)] = { @@ -372,8 +380,8 @@ static int ulev1_requestAuthentication(uint8_t *pwd, uint8_t *pack, uint16_t pac return len; } -static int ul_auth_select(iso14a_card_select_t *card, TagTypeUL_t tagtype, bool hasAuthKey, uint8_t *authkey, uint8_t *pack, uint8_t packSize) { - if (hasAuthKey && (tagtype & UL_C)) { +static int ul_auth_select(iso14a_card_select_t *card, uint64_t tagtype, bool hasAuthKey, uint8_t *authkey, uint8_t *pack, uint8_t packSize) { + if (hasAuthKey && (tagtype & MFU_TT_UL_C)) { //will select card automatically and close connection on error if (!ulc_authentication(authkey, false)) { PrintAndLogEx(WARNING, "Authentication Failed UL-C"); @@ -442,16 +450,16 @@ static int ulev1_readSignature(uint8_t *response, uint16_t responseLength) { static int ul_fudan_check(void) { iso14a_card_select_t card; if (!ul_select(&card)) - return UL_ERROR; + return MFU_TT_UL_ERROR; uint8_t cmd[4] = {ISO14443A_CMD_READBLOCK, 0x00, 0x02, 0xa7}; //wrong crc on purpose should be 0xa8 clearCommandBuffer(); SendCommandMIX(CMD_HF_ISO14443A_READER, ISO14A_RAW | ISO14A_NO_DISCONNECT | ISO14A_NO_RATS, 4, 0, cmd, sizeof(cmd)); PacketResponseNG resp; - if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500)) return UL_ERROR; - if (resp.oldarg[0] != 1) return UL_ERROR; + if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500)) return MFU_TT_UL_ERROR; + if (resp.oldarg[0] != 1) return MFU_TT_UL_ERROR; - return (!resp.data.asBytes[0]) ? FUDAN_UL : UL; //if response == 0x00 then Fudan, else Genuine NXP + return (!resp.data.asBytes[0]) ? MFU_TT_FUDAN_UL : MFU_TT_UL; //if response == 0x00 then Fudan, else Genuine NXP } static int ul_print_default(uint8_t *data, uint8_t *real_uid) { @@ -623,7 +631,7 @@ static int ndef_print_CC(uint8_t *data) { return PM3_SUCCESS; } -int ul_print_type(uint32_t tagtype, uint8_t spaces) { +int ul_print_type(uint64_t tagtype, uint8_t spaces) { if (spaces > 10) spaces = 10; @@ -631,73 +639,73 @@ int ul_print_type(uint32_t tagtype, uint8_t spaces) { char typestr[100]; memset(typestr, 0x00, sizeof(typestr)); - if (tagtype & UL) + if (tagtype & MFU_TT_UL) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight (MF0ICU1)"), spaces, ""); - else if (tagtype & UL_C) + else if (tagtype & MFU_TT_UL_C) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight C (MF0ULC)"), spaces, ""); - else if (tagtype & UL_NANO_40) + else if (tagtype & MFU_TT_UL_NANO_40) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight Nano 40bytes (MF0UNH00)"), spaces, ""); - else if (tagtype & UL_EV1_48) + else if (tagtype & MFU_TT_UL_EV1_48) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight EV1 48bytes (MF0UL1101)"), spaces, ""); - else if (tagtype & UL_EV1_128) + else if (tagtype & MFU_TT_UL_EV1_128) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight EV1 128bytes (MF0UL2101)"), spaces, ""); - else if (tagtype & UL_EV1) + else if (tagtype & MFU_TT_UL_EV1) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("MIFARE Ultralight EV1 UNKNOWN"), spaces, ""); - else if (tagtype & NTAG) + else if (tagtype & MFU_TT_NTAG) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG UNKNOWN"), spaces, ""); - else if (tagtype & NTAG_203) + else if (tagtype & MFU_TT_NTAG_203) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 203 144bytes (NT2H0301F0DT)"), spaces, ""); - else if (tagtype & NTAG_210u) + else if (tagtype & MFU_TT_NTAG_210u) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 210u (micro) 48bytes (NT2L1001G0DU)"), spaces, ""); - else if (tagtype & NTAG_210) + else if (tagtype & MFU_TT_NTAG_210) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 210 48bytes (NT2L1011G0DU)"), spaces, ""); - else if (tagtype & NTAG_212) + else if (tagtype & MFU_TT_NTAG_212) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 212 128bytes (NT2L1211G0DU)"), spaces, ""); - else if (tagtype & NTAG_213) + else if (tagtype & MFU_TT_NTAG_213) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 213 144bytes (NT2H1311G0DU)"), spaces, ""); - else if (tagtype & NTAG_213_F) + else if (tagtype & MFU_TT_NTAG_213_F) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 213F 144bytes (NT2H1311F0DTL)"), spaces, ""); - else if (tagtype & NTAG_213_C) + else if (tagtype & MFU_TT_NTAG_213_C) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 213C 144bytes (NT2H1311C1DTL)"), spaces, ""); - else if (tagtype & NTAG_213_TT) + else if (tagtype & MFU_TT_NTAG_213_TT) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 213TT 144bytes (NT2H1311TTDU)"), spaces, ""); - else if (tagtype & NTAG_215) + else if (tagtype & MFU_TT_NTAG_215) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 215 504bytes (NT2H1511G0DU)"), spaces, ""); - else if (tagtype & NTAG_216) + else if (tagtype & MFU_TT_NTAG_216) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 216 888bytes (NT2H1611G0DU)"), spaces, ""); - else if (tagtype & NTAG_216_F) + else if (tagtype & MFU_TT_NTAG_216_F) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG 216F 888bytes (NT2H1611F0DTL)"), spaces, ""); - else if (tagtype & NTAG_I2C_1K) + else if (tagtype & MFU_TT_NTAG_I2C_1K) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG I2C 888bytes (NT3H1101FHK)"), spaces, ""); - else if (tagtype & NTAG_I2C_2K) + else if (tagtype & MFU_TT_NTAG_I2C_2K) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG I2C 1904bytes (NT3H1201FHK)"), spaces, ""); - else if (tagtype & NTAG_I2C_1K_PLUS) + else if (tagtype & MFU_TT_NTAG_I2C_1K_PLUS) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG I2C plus 888bytes (NT3H2111FHK)"), spaces, ""); - else if (tagtype & NTAG_I2C_2K_PLUS) + else if (tagtype & MFU_TT_NTAG_I2C_2K_PLUS) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("NTAG I2C plus 1912bytes (NT3H2211FHK)"), spaces, ""); - else if (tagtype & MY_D) + else if (tagtype & MFU_TT_MY_D) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("INFINEON my-d\x99 (SLE 66RxxS)"), spaces, ""); - else if (tagtype & MY_D_NFC) + else if (tagtype & MFU_TT_MY_D_NFC) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("INFINEON my-d\x99 NFC (SLE 66RxxP)"), spaces, ""); - else if (tagtype & MY_D_MOVE) + else if (tagtype & MFU_TT_MY_D_MOVE) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("INFINEON my-d\x99 move (SLE 66R01P)"), spaces, ""); - else if (tagtype & MY_D_MOVE_NFC) + else if (tagtype & MFU_TT_MY_D_MOVE_NFC) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("INFINEON my-d\x99 move NFC (SLE 66R01P)"), spaces, ""); - else if (tagtype & MY_D_MOVE_LEAN) + else if (tagtype & MFU_TT_MY_D_MOVE_LEAN) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("INFINEON my-d\x99 move lean (SLE 66R01L)"), spaces, ""); - else if (tagtype & FUDAN_UL) + else if (tagtype & MFU_TT_FUDAN_UL) snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("FUDAN Ultralight Compatible (or other compatible)"), spaces, ""); else - snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("Unknown %06x"), spaces, "", tagtype); + snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("Unknown %06" PRIx64), spaces, "", tagtype); - bool ismagic = ((tagtype & MAGIC) == MAGIC); + bool ismagic = ((tagtype & MFU_TT_MAGIC) == MFU_TT_MAGIC); if (ismagic) snprintf(typestr + strlen(typestr), 4, " ("); - snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), " %s ", (tagtype & MAGIC) ? _GREEN_("magic") : ""); - tagtype &= ~(MAGIC); - snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MAGIC_1A) ? _GREEN_("Gen 1a") : ""); - snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MAGIC_1B) ? _GREEN_("Gen 1b") : ""); + snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), " %s ", (tagtype & MFU_TT_MAGIC) ? _GREEN_("magic") : ""); + tagtype &= ~(MFU_TT_MAGIC); + snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1A) ? _GREEN_("Gen 1a") : ""); + snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1B) ? _GREEN_("Gen 1b") : ""); if (ismagic) snprintf(typestr + strlen(typestr), 4, " )"); @@ -738,7 +746,7 @@ static int ulc_print_configuration(uint8_t *data) { return PM3_SUCCESS; } -static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t startPage) { +static int ulev1_print_configuration(uint64_t tagtype, uint8_t *data, uint8_t startPage) { PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "--- " _CYAN_("Tag Configuration")); @@ -756,7 +764,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st PrintAndLogEx(INFO, " cfg0 [%u/0x%02X]: %s", startPage, startPage, sprint_hex(data, 4)); //NTAG213TT has different ASCII mirroring options and config bytes interpretation from other ulev1 class tags - if (tagtype & NTAG_213_TT) { + if (tagtype & MFU_TT_NTAG_213_TT) { uint8_t mirror_conf = ((data[0] & 0xE0) >> 5); uint8_t mirror_byte = ((data[0] & 0x18) >> 3); uint8_t mirror_page = data[2]; @@ -822,7 +830,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st PrintAndLogEx(INFO, " mirror start page %02X | byte pos %02X - %s", mirror_page, mirror_byte, (mirror_page >= 0x4 && ((mirror_user_mem_start_byte + bytes_required_for_mirror_data) <= 144)) ? _GREEN_("OK") : _YELLOW_("Invalid value")); } - } else if (tagtype & (NTAG_213_F | NTAG_216_F)) { + } else if (tagtype & (MFU_TT_NTAG_213_F | MFU_TT_NTAG_216_F)) { uint8_t mirror_conf = ((data[0] & 0xC0) >> 6); uint8_t mirror_byte = (data[0] & 0x30); bool sleep_en = (data[0] & 0x08); @@ -865,7 +873,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st break; } // valid mirror start page and byte position within start page. - if (tagtype & NTAG_213_F) { + if (tagtype & MFU_TT_NTAG_213_F) { switch (mirror_conf) { case 1: { PrintAndLogEx(INFO, " mirror start block %02X | byte pos %02X - %s", data[2], mirror_byte, (data[2] >= 0x4 && data[2] <= 0x24) ? "OK" : "Invalid value"); break;} @@ -876,7 +884,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st default: break; } - } else if (tagtype & NTAG_216_F) { + } else if (tagtype & MFU_TT_NTAG_216_F) { switch (mirror_conf) { case 1: { PrintAndLogEx(INFO, " mirror start block %02X | byte pos %02X - %s", data[2], mirror_byte, (data[2] >= 0x4 && data[2] <= 0xDE) ? "OK" : "Invalid value"); break;} @@ -901,7 +909,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st uint8_t tt_msg_resp_len = 0; uint8_t tt_status_resp[5] = {0x00}; - if (tagtype & NTAG_213_TT) { + if (tagtype & MFU_TT_NTAG_213_TT) { tt_enabled = (data[1] & 0x02); tt_msg_resp_len = ul_read(45, tt_message, 4); @@ -941,7 +949,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st PrintAndLogEx(INFO, " PACK [%u/0x%02X]: %s - (cannot be read)", startPage + 3, startPage + 3, sprint_hex(data + 12, 2)); PrintAndLogEx(INFO, " RFU [%u/0x%02X]: %s- (cannot be read)", startPage + 3, startPage + 3, sprint_hex(data + 14, 2)); - if (tagtype & NTAG_213_TT) { + if (tagtype & MFU_TT_NTAG_213_TT) { if (data[1] & 0x06) { PrintAndLogEx(INFO, "TT_MSG [45/0x2D]: %s- (cannot be read)", sprint_hex(tt_message, tt_msg_resp_len)); PrintAndLogEx(INFO, " - tamper message is masked in memory"); @@ -952,7 +960,7 @@ static int ulev1_print_configuration(uint32_t tagtype, uint8_t *data, uint8_t st } //The NTAG213TT only returns meaningful information for the fields below if the tamper feature is enabled - if ((tagtype & NTAG_213_TT) && tt_enabled) { + if ((tagtype & MFU_TT_NTAG_213_TT) && tt_enabled) { uint8_t tt_status_len = ntagtt_getTamperStatus(tt_status_resp, 5); @@ -1012,7 +1020,7 @@ static int ulev1_print_counters(void) { return len; } -static int ulev1_print_signature(TagTypeUL_t tagtype, uint8_t *uid, uint8_t *signature, size_t signature_len) { +static int ulev1_print_signature(uint64_t tagtype, uint8_t *uid, uint8_t *signature, size_t signature_len) { #define PUBLIC_ECDA_KEYLEN 33 // known public keys for the originality check (source: https://github.com/alexbatalov/node-nxp-originality-verifier) @@ -1152,14 +1160,14 @@ static int ulc_magic_test(){ uint8_t nonce1[11] = {0x00}; uint8_t nonce2[11] = {0x00}; if ( !ul_select(&card) ){ - return UL_ERROR; + return MFU_TT_UL_ERROR; } int status = ulc_requestAuthentication(nonce1, sizeof(nonce1)); if ( status > 0 ) { status = ulc_requestAuthentication(nonce2, sizeof(nonce2)); - returnValue = ( !memcmp(nonce1, nonce2, 11) ) ? UL_C_MAGIC : UL_C; + returnValue = ( !memcmp(nonce1, nonce2, 11) ) ? MFU_TT_UL_C_MAGIC : MFU_TT_UL_C; } else { - returnValue = UL; + returnValue = MFU_TT_UL; } DropField(); return returnValue; @@ -1172,12 +1180,12 @@ static int ul_magic_test(void) { iso14a_card_select_t card; if (ul_select(&card) == false) - return UL_ERROR; + return MFU_TT_UL_ERROR; int status = ul_comp_write(0, NULL, 0); DropField(); if (status == 0) - return MAGIC; + return MFU_TT_MAGIC; // check for GEN1A, GEN1B and NTAG21x uint8_t is_generation = 0; @@ -1191,11 +1199,11 @@ static int ul_magic_test(void) { } switch (is_generation) { case MAGIC_GEN_1A: - return MAGIC_1A; + return MFU_TT_MAGIC_1A; case MAGIC_GEN_1B: - return MAGIC_1B; + return MFU_TT_MAGIC_1B; case MAGIC_NTAG21X: - return MAGIC_NTAG; + return MFU_TT_MAGIC_NTAG; default: break; } @@ -1461,7 +1469,7 @@ static int mfu_get_version_uid(uint8_t *version, uint8_t *uid) { return PM3_SUCCESS; } -static int mfu_fingerprint(TagTypeUL_t tagtype, bool hasAuthKey, uint8_t *authkey, int ak_len) { +static int mfu_fingerprint(uint64_t tagtype, bool hasAuthKey, uint8_t *authkey, int ak_len) { uint8_t *data = NULL; int res = PM3_SUCCESS; @@ -1486,7 +1494,7 @@ static int mfu_fingerprint(TagTypeUL_t tagtype, bool hasAuthKey, uint8_t *authke uint8_t keytype = 0; if (hasAuthKey) { - if (tagtype & UL_C) + if (tagtype & MFU_TT_UL_C) keytype = 1; //UL_C auth else keytype = 2; //UL_EV1/NTAG auth @@ -1567,17 +1575,17 @@ out: uint32_t GetHF14AMfU_Type(void) { - TagTypeUL_t tagtype = UNKNOWN; + uint64_t tagtype = MFU_TT_UNKNOWN; iso14a_card_select_t card; if (ul_select(&card) == false) - return UL_ERROR; + return MFU_TT_UL_ERROR; // Ultralight - ATQA / SAK if (card.atqa[1] != 0x00 || card.atqa[0] != 0x44 || card.sak != 0x00) { //PrintAndLogEx(NORMAL, "Tag is not Ultralight | NTAG | MY-D [ATQA: %02X %02X SAK: %02X]\n", card.atqa[1], card.atqa[0], card.sak); DropField(); - return UL_ERROR; + return MFU_TT_UL_ERROR; } if (card.uid[0] != 0x05) { @@ -1628,79 +1636,79 @@ uint32_t GetHF14AMfU_Type(void) { Feiju NTAG 0053040201000F03 */ - if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0B", 7) == 0) { tagtype = UL_EV1_48; break; } - else if (memcmp(version, "\x00\x04\x03\x01\x02\x00\x0B", 7) == 0) { tagtype = UL_NANO_40; break; } - else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0B", 7) == 0) { tagtype = UL_EV1_48; break; } - else if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0E", 7) == 0) { tagtype = UL_EV1_128; break; } - else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0E", 7) == 0) { tagtype = UL_EV1_128; break; } - else if (memcmp(version, "\x00\x34\x21\x01\x01\x00\x0E", 7) == 0) { tagtype = UL_EV1_128; break; } // Mikron JSC Russia EV1 41 pages tag - else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0B", 7) == 0) { tagtype = NTAG_210; break; } - else if (memcmp(version, "\x00\x04\x04\x01\x02\x00\x0B", 7) == 0) { tagtype = NTAG_210u; break; } - else if (memcmp(version, "\x00\x04\x04\x02\x02\x00\x0B", 7) == 0) { tagtype = NTAG_210u; break; } - else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0E", 7) == 0) { tagtype = NTAG_212; break; } - else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = NTAG_213; break; } - else if (memcmp(version, "\x00\x53\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = NTAG_213; break; } //Shanghai Feiju Microelectronics Co. Ltd. China (Xiaomi Air Purifier filter) - else if (memcmp(version, "\x00\x04\x04\x02\x01\x01\x0F", 7) == 0) { tagtype = NTAG_213_C; break; } - else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x11", 7) == 0) { tagtype = NTAG_215; break; } - else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x13", 7) == 0) { tagtype = NTAG_216; break; } - else if (memcmp(version, "\x00\x04\x04\x04\x01\x00\x0F", 7) == 0) { tagtype = NTAG_213_F; break; } - else if (memcmp(version, "\x00\x04\x04\x04\x01\x00\x13", 7) == 0) { tagtype = NTAG_216_F; break; } - else if (memcmp(version, "\x00\x04\x04\x02\x03\x00\x0F", 7) == 0) { tagtype = NTAG_213_TT; break; } - else if (memcmp(version, "\x00\x04\x04\x05\x02\x01\x13", 7) == 0) { tagtype = NTAG_I2C_1K; break; } - else if (memcmp(version, "\x00\x04\x04\x05\x02\x01\x15", 7) == 0) { tagtype = NTAG_I2C_2K; break; } - else if (memcmp(version, "\x00\x04\x04\x05\x02\x02\x13", 7) == 0) { tagtype = NTAG_I2C_1K_PLUS; break; } - else if (memcmp(version, "\x00\x04\x04\x05\x02\x02\x15", 7) == 0) { tagtype = NTAG_I2C_2K_PLUS; break; } - else if (version[2] == 0x04) { tagtype = NTAG; break; } - else if (version[2] == 0x03) { tagtype = UL_EV1; } + if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_EV1_48; break; } + else if (memcmp(version, "\x00\x04\x03\x01\x02\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_NANO_40; break; } + else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_EV1_48; break; } + else if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } + else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } + else if (memcmp(version, "\x00\x34\x21\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } // Mikron JSC Russia EV1 41 pages tag + else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210; break; } + else if (memcmp(version, "\x00\x04\x04\x01\x02\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210u; break; } + else if (memcmp(version, "\x00\x04\x04\x02\x02\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210u; break; } + else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_NTAG_212; break; } + else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213; break; } + else if (memcmp(version, "\x00\x53\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213; break; } //Shanghai Feiju Microelectronics Co. Ltd. China (Xiaomi Air Purifier filter) + else if (memcmp(version, "\x00\x04\x04\x02\x01\x01\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213_C; break; } + else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x11", 7) == 0) { tagtype = MFU_TT_NTAG_215; break; } + else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x13", 7) == 0) { tagtype = MFU_TT_NTAG_216; break; } + else if (memcmp(version, "\x00\x04\x04\x04\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213_F; break; } + else if (memcmp(version, "\x00\x04\x04\x04\x01\x00\x13", 7) == 0) { tagtype = MFU_TT_NTAG_216_F; break; } + else if (memcmp(version, "\x00\x04\x04\x02\x03\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213_TT; break; } + else if (memcmp(version, "\x00\x04\x04\x05\x02\x01\x13", 7) == 0) { tagtype = MFU_TT_NTAG_I2C_1K; break; } + else if (memcmp(version, "\x00\x04\x04\x05\x02\x01\x15", 7) == 0) { tagtype = MFU_TT_NTAG_I2C_2K; break; } + else if (memcmp(version, "\x00\x04\x04\x05\x02\x02\x13", 7) == 0) { tagtype = MFU_TT_NTAG_I2C_1K_PLUS; break; } + else if (memcmp(version, "\x00\x04\x04\x05\x02\x02\x15", 7) == 0) { tagtype = MFU_TT_NTAG_I2C_2K_PLUS; break; } + else if (version[2] == 0x04) { tagtype = MFU_TT_NTAG; break; } + else if (version[2] == 0x03) { tagtype = MFU_TT_UL_EV1; } break; } case 0x01: - tagtype = UL_C; + tagtype = MFU_TT_UL_C; break; case 0x00: - tagtype = UL; + tagtype = MFU_TT_UL; break; case -1 : - tagtype = (UL | UL_C | NTAG_203); + tagtype = (MFU_TT_UL | MFU_TT_UL_C | MFU_TT_NTAG_203); break; // could be UL | UL_C magic tags default : - tagtype = UNKNOWN; + tagtype = MFU_TT_UNKNOWN; break; } // UL vs UL-C vs ntag203 test - if (tagtype & (UL | UL_C | NTAG_203)) { - if (!ul_select(&card)) return UL_ERROR; + if (tagtype & (MFU_TT_UL | MFU_TT_UL_C | MFU_TT_NTAG_203)) { + if (!ul_select(&card)) return MFU_TT_UL_ERROR; // do UL_C check first... uint8_t nonce[11] = {0x00}; int status = ulc_requestAuthentication(nonce, sizeof(nonce)); DropField(); if (status > 1) { - tagtype = UL_C; + tagtype = MFU_TT_UL_C; } else { // need to re-select after authentication error if (ul_select(&card) == false) - return UL_ERROR; + return MFU_TT_UL_ERROR; uint8_t data[16] = {0x00}; // read page 0x26-0x29 (last valid ntag203 page) status = ul_read(0x26, data, sizeof(data)); if (status <= 1) { - tagtype = UL; + tagtype = MFU_TT_UL; } else { // read page 0x30 (should error if it is a ntag203) status = ul_read(0x30, data, sizeof(data)); if (status <= 1) { - tagtype = NTAG_203; + tagtype = MFU_TT_NTAG_203; } else { - tagtype = UNKNOWN; + tagtype = MFU_TT_UNKNOWN; } } DropField(); } } - if (tagtype & UL) { + if (tagtype & MFU_TT_UL) { tagtype = ul_fudan_check(); DropField(); } @@ -1711,23 +1719,23 @@ uint32_t GetHF14AMfU_Type(void) { switch (nib) { // case 0: tagtype = SLE66R35E7; break; //or SLE 66R35E7 - mifare compat... should have different sak/atqa for mf 1k case 1: - tagtype = MY_D; + tagtype = MFU_TT_MY_D; break; // or SLE 66RxxS ... up to 512 pages of 8 user bytes... case 2: - tagtype = (MY_D_NFC); + tagtype = MFU_TT_MY_D_NFC; break; // or SLE 66RxxP ... up to 512 pages of 8 user bytes... (or in nfc mode FF pages of 4 bytes) case 3: - tagtype = (MY_D_MOVE | MY_D_MOVE_NFC); + tagtype = (MFU_TT_MY_D_MOVE | MFU_TT_MY_D_MOVE_NFC); break; // or SLE 66R01P // 38 pages of 4 bytes //notice: we can not currently distinguish between these two case 7: - tagtype = MY_D_MOVE_LEAN; + tagtype = MFU_TT_MY_D_MOVE_LEAN; break; // or SLE 66R01L // 16 pages of 4 bytes } } tagtype |= ul_magic_test(); - if (tagtype == (UNKNOWN | MAGIC)) { - tagtype = (UL_MAGIC); + if (tagtype == (MFU_TT_UNKNOWN | MFU_TT_MAGIC)) { + tagtype = (MFU_TT_UL_MAGIC); } return tagtype; } @@ -1780,8 +1788,8 @@ static int CmdHF14AMfUInfo(const char *Cmd) { uint8_t pack[4] = {0, 0, 0, 0}; int len; - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) return PM3_ESOFT; PrintAndLogEx(NORMAL, ""); @@ -1812,7 +1820,7 @@ static int CmdHF14AMfUInfo(const char *Cmd) { } // UL_C Specific - if ((tagtype & UL_C)) { + if ((tagtype & MFU_TT_UL_C)) { // read pages 0x28, 0x29, 0x2A, 0x2B uint8_t ulc_conf[16] = {0x00}; @@ -1829,7 +1837,7 @@ static int CmdHF14AMfUInfo(const char *Cmd) { mfu_fingerprint(tagtype, has_auth_key, authkeyptr, ak_len); - if ((tagtype & MAGIC)) { + if ((tagtype & MFU_TT_MAGIC)) { //just read key uint8_t ulc_deskey[16] = {0x00}; status = ul_read(0x2C, ulc_deskey, sizeof(ulc_deskey)); @@ -1863,7 +1871,7 @@ static int CmdHF14AMfUInfo(const char *Cmd) { // do counters and signature first (don't neet auth) // ul counters are different than ntag counters - if ((tagtype & (UL_EV1_48 | UL_EV1_128 | UL_EV1))) { + if ((tagtype & (MFU_TT_UL_EV1_48 | MFU_TT_UL_EV1_128 | MFU_TT_UL_EV1))) { if (ulev1_print_counters() != 3) { // failed - re-select if (ul_auth_select(&card, tagtype, has_auth_key, authkeyptr, pack, sizeof(pack)) == PM3_ESOFT) { @@ -1873,7 +1881,7 @@ static int CmdHF14AMfUInfo(const char *Cmd) { } // NTAG counters? - if ((tagtype & (NTAG_213 | NTAG_213_F | NTAG_213_C | NTAG_213_TT | NTAG_215 | NTAG_216))) { + if ((tagtype & (MFU_TT_NTAG_213 | MFU_TT_NTAG_213_F | MFU_TT_NTAG_213_C | MFU_TT_NTAG_213_TT | MFU_TT_NTAG_215 | MFU_TT_NTAG_216))) { if (ntag_print_counter()) { // failed - re-select if (ul_auth_select(&card, tagtype, has_auth_key, authkeyptr, pack, sizeof(pack)) == PM3_ESOFT) { @@ -1883,7 +1891,10 @@ static int CmdHF14AMfUInfo(const char *Cmd) { } // Read signature - if ((tagtype & (UL_EV1_48 | UL_EV1_128 | UL_EV1 | UL_NANO_40 | NTAG_210u | NTAG_213 | NTAG_213_F | NTAG_213_C | NTAG_213_TT | NTAG_215 | NTAG_216 | NTAG_216_F | NTAG_I2C_1K | NTAG_I2C_2K | NTAG_I2C_1K_PLUS | NTAG_I2C_2K_PLUS))) { + if ((tagtype & (MFU_TT_UL_EV1_48 | MFU_TT_UL_EV1_128 | MFU_TT_UL_EV1 | MFU_TT_UL_NANO_40 | + MFU_TT_NTAG_210u | MFU_TT_NTAG_213 | MFU_TT_NTAG_213_F | MFU_TT_NTAG_213_C | + MFU_TT_NTAG_213_TT | MFU_TT_NTAG_215 | MFU_TT_NTAG_216 | MFU_TT_NTAG_216_F | + MFU_TT_NTAG_I2C_1K | MFU_TT_NTAG_I2C_2K | MFU_TT_NTAG_I2C_1K_PLUS | MFU_TT_NTAG_I2C_2K_PLUS))) { uint8_t ulev1_signature[32] = {0x00}; status = ulev1_readSignature(ulev1_signature, sizeof(ulev1_signature)); if (status == -1) { @@ -2096,8 +2107,8 @@ static int CmdHF14AMfUWrBl(const char *Cmd) { uint8_t *authKeyPtr = authenticationkey; // starting with getting tagtype - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) return PM3_ESOFT; uint8_t maxblockno = 0; @@ -2217,8 +2228,8 @@ static int CmdHF14AMfURdBl(const char *Cmd) { uint8_t *authKeyPtr = authenticationkey; // start with getting tagtype - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) return PM3_ESOFT; uint8_t maxblockno = 0; @@ -2506,8 +2517,8 @@ static int CmdHF14AMfUDump(const char *Cmd) { authKeyPtr = SwapEndian64(authenticationkey, ak_len, 4); } - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) return PM3_ESOFT; //get number of pages to read @@ -2524,7 +2535,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { PrintAndLogEx(SUCCESS, "Reading tag memory..."); uint8_t keytype = 0; if (has_auth_key || has_pwd) { - if (tagtype & UL_C) + if (tagtype & MFU_TT_UL_C) keytype = 1; //UL_C auth else keytype = 2; //UL_EV1/NTAG auth @@ -2574,7 +2585,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { // not ul_c and not std ul then attempt to collect info like // VERSION, SIGNATURE, COUNTERS, TEARING, PACK, - if (!(tagtype & UL_C || tagtype & UL || tagtype & MY_D_MOVE || tagtype & MY_D_MOVE_LEAN)) { + if (!(tagtype & MFU_TT_UL_C || tagtype & MFU_TT_UL || tagtype & MFU_TT_MY_D_MOVE || tagtype & MFU_TT_MY_D_MOVE_LEAN)) { //attempt to read pack uint8_t get_pack[] = {0, 0}; if (ul_auth_select(&card, tagtype, true, authKeyPtr, get_pack, sizeof(get_pack)) != PM3_SUCCESS) { @@ -2604,7 +2615,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { uint8_t n = 0; // NTAG has 1 counter, at 0x02 - if ((tagtype & (NTAG_213 | NTAG_213_F | NTAG_213_C | NTAG_213_TT | NTAG_215 | NTAG_216))) { + if ((tagtype & (MFU_TT_NTAG_213 | MFU_TT_NTAG_213_F | MFU_TT_NTAG_213_C | MFU_TT_NTAG_213_TT | MFU_TT_NTAG_215 | MFU_TT_NTAG_216))) { n = 2; } @@ -2652,7 +2663,7 @@ static int CmdHF14AMfUDump(const char *Cmd) { authKeyPtr = authenticationkey; } - if (tagtype & UL_C) { //add 4 pages + if (tagtype & MFU_TT_UL_C) { //add 4 pages memcpy(data + pages * 4, authKeyPtr, ak_len); pages += ak_len / 4; } else { // 2nd page from end @@ -2751,13 +2762,13 @@ int CmdHF14MfUTamper(const char *Cmd) { bool disable = arg_get_lit(ctx, 2); CLIParserFree(ctx); - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) { + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) { PrintAndLogEx(WARNING, "Tag type not detected"); DropField(); return PM3_ESOFT; } - if (tagtype != NTAG_213_TT) { + if (tagtype != MFU_TT_NTAG_213_TT) { PrintAndLogEx(WARNING, "Tag type not NTAG 213TT"); DropField(); return PM3_ESOFT; @@ -2775,7 +2786,7 @@ int CmdHF14MfUTamper(const char *Cmd) { if (use_msg) { if (ul_select(&card) == false) { DropField(); - return UL_ERROR; + return MFU_TT_UL_ERROR; } PrintAndLogEx(INFO, "Trying to write tamper message\n"); SendCommandMIX(CMD_HF_MIFAREU_WRITEBL, tt_msg_page, 0, 0, msg_data, 4); @@ -2798,7 +2809,7 @@ int CmdHF14MfUTamper(const char *Cmd) { if (ul_select(&card) == false) { PrintAndLogEx(ERR, "Unable to select tag"); DropField(); - return UL_ERROR; + return MFU_TT_UL_ERROR; } uint8_t cfg_page[4] = {0x00}; @@ -4384,8 +4395,8 @@ int CmdHF14MfuNDEFRead(const char *Cmd) { } // Get tag type - TagTypeUL_t tagtype = GetHF14AMfU_Type(); - if (tagtype == UL_ERROR) { + uint64_t tagtype = GetHF14AMfU_Type(); + if (tagtype == MFU_TT_UL_ERROR) { PrintAndLogEx(WARNING, "No Ultralight / NTAG based tag found"); return PM3_ESOFT; } diff --git a/client/src/cmdhfmfu.h b/client/src/cmdhfmfu.h index 1ed652e79..f0057298d 100644 --- a/client/src/cmdhfmfu.h +++ b/client/src/cmdhfmfu.h @@ -43,7 +43,7 @@ typedef struct { } PACKED old_mfu_dump_t; uint32_t GetHF14AMfU_Type(void); -int ul_print_type(uint32_t tagtype, uint8_t spaces); +int ul_print_type(uint64_t tagtype, uint8_t spaces); void printMFUdumpEx(mfu_dump_t *card, uint16_t pages, uint8_t startpage); int ul_read_uid(uint8_t *uid); int trace_mfuc_try_default_3des_keys(uint8_t **correct_key, int state, uint8_t (*authdata)[16]); @@ -55,44 +55,43 @@ int CmdHF14MfUTamper(const char *Cmd); uint16_t ul_ev1_packgen_VCNEW(uint8_t *uid, uint32_t pwd); uint32_t ul_ev1_otpgenA(uint8_t *uid); -typedef enum TAGTYPE_UL { - UNKNOWN = 0x000000, - UL = 0x1, - UL_C = 0x2, - UL_EV1_48 = 0x4, - UL_EV1_128 = 0x8, - NTAG = 0x10, - NTAG_203 = 0x20, - NTAG_210 = 0x40, - NTAG_212 = 0x80, - NTAG_213 = 0x100, - NTAG_215 = 0x200, - NTAG_216 = 0x400, - MY_D = 0x800, - MY_D_NFC = 0x1000, - MY_D_MOVE = 0x2000, - MY_D_MOVE_NFC = 0x4000, - MY_D_MOVE_LEAN = 0x8000, - NTAG_I2C_1K = 0x10000, - NTAG_I2C_2K = 0x20000, - NTAG_I2C_1K_PLUS = 0x40000, - NTAG_I2C_2K_PLUS = 0x80000, - FUDAN_UL = 0x100000, - MAGIC = 0x200000, - NTAG_213_F = 0x400000, - NTAG_216_F = 0x800000, - UL_EV1 = 0x1000000, - UL_NANO_40 = 0x2000000, - NTAG_213_TT = 0x4000000, - NTAG_213_C = 0x8000000, - MAGIC_1A = 0x10000000 | MAGIC, - MAGIC_1B = 0x20000000 | MAGIC, - MAGIC_NTAG = 0x40000000 | MAGIC, - NTAG_210u = 0x80000000, - UL_MAGIC = UL | MAGIC, - UL_C_MAGIC = UL_C | MAGIC, - // Don't forget to fill UL_TYPES_ARRAY and UL_MEMORY_ARRAY if new types are added - UL_ERROR = 0xFFFFFF, -} TagTypeUL_t; +#define MFU_TT_UNKNOWN 0x0ULL +#define MFU_TT_UL 0x1ULL +#define MFU_TT_UL_C 0x2ULL +#define MFU_TT_UL_EV1_48 0x4ULL +#define MFU_TT_UL_EV1_128 0x8ULL +#define MFU_TT_NTAG 0x10ULL +#define MFU_TT_NTAG_203 0x20ULL +#define MFU_TT_NTAG_210 0x40ULL +#define MFU_TT_NTAG_212 0x80ULL +#define MFU_TT_NTAG_213 0x100ULL +#define MFU_TT_NTAG_215 0x200ULL +#define MFU_TT_NTAG_216 0x400ULL +#define MFU_TT_MY_D 0x800ULL +#define MFU_TT_MY_D_NFC 0x1000ULL +#define MFU_TT_MY_D_MOVE 0x2000ULL +#define MFU_TT_MY_D_MOVE_NFC 0x4000ULL +#define MFU_TT_MY_D_MOVE_LEAN 0x8000ULL +#define MFU_TT_NTAG_I2C_1K 0x10000ULL +#define MFU_TT_NTAG_I2C_2K 0x20000ULL +#define MFU_TT_NTAG_I2C_1K_PLUS 0x40000ULL +#define MFU_TT_NTAG_I2C_2K_PLUS 0x80000ULL +#define MFU_TT_FUDAN_UL 0x100000ULL +#define MFU_TT_MAGIC 0x200000ULL +#define MFU_TT_NTAG_213_F 0x400000ULL +#define MFU_TT_NTAG_216_F 0x800000ULL +#define MFU_TT_UL_EV1 0x1000000ULL +#define MFU_TT_UL_NANO_40 0x2000000ULL +#define MFU_TT_NTAG_213_TT 0x4000000ULL +#define MFU_TT_NTAG_213_C 0x8000000ULL +#define MFU_TT_MAGIC_1A (0x10000000ULL | MFU_TT_MAGIC) +#define MFU_TT_MAGIC_1B (0x20000000ULL | MFU_TT_MAGIC) +#define MFU_TT_MAGIC_NTAG (0x40000000ULL | MFU_TT_MAGIC) +#define MFU_TT_NTAG_210u 0x80000000ULL +#define MFU_TT_UL_MAGIC (MFU_TT_UL | MFU_TT_MAGIC) +#define MFU_TT_UL_C_MAGIC (MFU_TT_UL_C | MFU_TT_MAGIC) +// Don't forget to fill UL_TYPES_ARRAY and UL_MEMORY_ARRAY if new types are added +#define MFU_TT_UL_ERROR 0x7FFFFFFFULL + #endif From dfdaa4198764ed45a54b54cca7b510bda0f21414 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 15:41:07 +0100 Subject: [PATCH 201/278] wrong string formatter --- client/src/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/util.c b/client/src/util.c index 51dbc0a19..640178959 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -860,7 +860,7 @@ int param_getbin_to_eol(const char *line, int paramnum, uint8_t *data, int maxda if (strlen(buf) > 0) { uint32_t temp = 0; - sscanf(buf, "%d", &temp); + sscanf(buf, "%u", &temp); data[*datalen] = (uint8_t)(temp & 0xff); *buf = 0; (*datalen)++; From f58b4603ba1d22280ac49670a2e3f844e9b127eb Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 15:42:13 +0100 Subject: [PATCH 202/278] fix --- client/src/cmdhffelica.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhffelica.c b/client/src/cmdhffelica.c index 191a481de..230628c51 100644 --- a/client/src/cmdhffelica.c +++ b/client/src/cmdhffelica.c @@ -566,7 +566,7 @@ static void reverse_3des_key(const uint8_t *master_key, int length, uint8_t *rev for (int i = 0; i < length; i++) { reverse_master_key[i] = master_key[(length - 1) - i]; } -}; +} /** * Command parser for auth1 From 83b9057473c4e0e8c6cd979270130eaf14e19ab2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 15:44:28 +0100 Subject: [PATCH 203/278] fix --- client/src/cmdhfmfdes.c | 2 +- client/src/ksx6924/ksx6924core.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index d25e0dbf1..88166a8f2 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -444,7 +444,7 @@ static void swap24(uint8_t *data) { uint8_t tmp = data[0]; data[0] = data[2]; data[2] = tmp; -}; +} // default parameters static uint8_t defaultKeyNum = 0; diff --git a/client/src/ksx6924/ksx6924core.c b/client/src/ksx6924/ksx6924core.c index 4f4ab676e..a46d1a055 100644 --- a/client/src/ksx6924/ksx6924core.c +++ b/client/src/ksx6924/ksx6924core.c @@ -317,7 +317,7 @@ bool KSX6924ParsePurseInfo(const uint8_t *purseInfo, size_t purseLen, struct ksx // TODO return true; -}; +} /** * Prints out a ksx6924_purse_info @@ -520,7 +520,7 @@ bool KSX6924ParseInitializeCardResponse(const uint8_t *initCardResponse, size_t // TODO return true; -}; +} /** * Prints out a Initialize Card response From 4df28b88d3b90978cca79277a3e0c28e548a103f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Nov 2023 15:47:45 +0100 Subject: [PATCH 204/278] fix --- client/src/fileutils.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 9d97b9831..52c0a28bf 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1114,8 +1114,9 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s if (str_startswith(line, "tearing 0:")) { if (ft == NFC_DF_MFC) { } else if (ft == NFC_DF_MFU) { - sscanf(line, "tearing 0: %02x", &n); - udata.mfu->counter_tearing[0][3] = n & 0xFF; + uint32_t b = 0; + sscanf(line, "tearing 0: %02x", &b); + udata.mfu->counter_tearing[0][3] = b & 0xFF; } continue; } @@ -1135,8 +1136,9 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s if (str_startswith(line, "tearing 1:")) { if (ft == NFC_DF_MFC) { } else if (ft == NFC_DF_MFU) { - sscanf(line, "tearing 1: %02x", &n); - udata.mfu->counter_tearing[1][3] = n & 0xFF; + uint32_t b = 0; + sscanf(line, "tearing 1: %02x", &b); + udata.mfu->counter_tearing[1][3] = b & 0xFF; } continue; } @@ -1156,8 +1158,9 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s if (str_startswith(line, "tearing 2:")) { if (ft == NFC_DF_MFC) { } else if (ft == NFC_DF_MFU) { - sscanf(line, "tearing 2: %02x", &n); - udata.mfu->counter_tearing[2][3] = n & 0xFF; + uint32_t b = 0; + sscanf(line, "tearing 2: %02x", &b); + udata.mfu->counter_tearing[2][3] = b & 0xFF; } continue; } From 9c1644cd739ae8b9b2458cef4d62a5fef7dc3825 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 01:50:32 +0100 Subject: [PATCH 205/278] support loading of flipper zero .picopass files. Also adapted to naive detect if PACS w variable length encoded is present --- client/src/cmdhficlass.c | 99 +++++++++++++++++++++++++++++++++------- client/src/fileutils.c | 29 +++++++++--- client/src/fileutils.h | 5 +- 3 files changed, 107 insertions(+), 26 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 17c8f68aa..0071601a5 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1321,36 +1321,101 @@ static int CmdHFiClassESetBlk(const char *Cmd) { return PM3_SUCCESS; } +static bool iclass_detect_new_pacs(uint8_t *d) { + uint8_t n = 0; + while (n++ < (PICOPASS_BLOCK_SIZE / 2)) { + if (d[n] && + d[n + 1] == 0xA6) { + return true; + } + } + return false; +} + +// block 7 decoder for PACS +static int iclass_decode_credentials_new_pacs(uint8_t *d) { + + uint8_t offset = 0; + while(d[offset] == 0 && (offset < PICOPASS_BLOCK_SIZE / 2)) { + offset++; + } + + uint8_t pad = d[offset]; + + PrintAndLogEx(INFO, "%u , %u", offset, pad); + + char *binstr = (char *)calloc((PICOPASS_BLOCK_SIZE * 8) + 1, sizeof(uint8_t)); + if (binstr == NULL) { + return PM3_EMALLOC; + } + + uint8_t n = PICOPASS_BLOCK_SIZE - offset - 2; + byte_2_binstr(binstr, d + offset + 2, n); + + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(SUCCESS, "PACS......... " _GREEN_("%s"), sprint_hex_inrow(d + offset + 2, n)); + PrintAndLogEx(SUCCESS, "padded bin... " _GREEN_("%s") " ( %zu )", binstr, strlen(binstr)); + + binstr[strlen(binstr) - pad] = '\0'; + PrintAndLogEx(SUCCESS, "bin.......... " _GREEN_("%s") " ( %zu )", binstr, strlen(binstr)); + + size_t hexlen = 0; + uint8_t hex[16] = {0}; + binstr_2_bytes(hex, &hexlen, binstr); + PrintAndLogEx(SUCCESS, "hex.......... " _GREEN_("%s"), sprint_hex_inrow(hex, hexlen)); + + uint32_t top = 0, mid = 0, bot = 0; + if (binstring_to_u96(&top, &mid, &bot, binstr) != strlen(binstr)) { + PrintAndLogEx(ERR, "Binary string contains none <0|1> chars"); + free(binstr); + return PM3_EINVARG; + } + + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, "Wiegand decode"); + wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); + HIDTryUnpack(&packed); +} + static void iclass_decode_credentials(uint8_t *data) { picopass_hdr_t *hdr = (picopass_hdr_t *)data; - if (memcmp(hdr->app_issuer_area, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", PICOPASS_BLOCK_SIZE)) { + if (memcmp(hdr->app_issuer_area, empty, PICOPASS_BLOCK_SIZE)) { // Not a Legacy or SR card, nothing to do here. return; } - BLOCK79ENCRYPTION encryption = (data[(6 * 8) + 7] & 0x03); - bool has_values = (memcmp(data + (8 * 7), empty, 8) != 0) && (memcmp(data + (8 * 7), zeros, 8) != 0); + BLOCK79ENCRYPTION encryption = (data[(6 * PICOPASS_BLOCK_SIZE) + 7] & 0x03); + + uint8_t *b7 = data + (PICOPASS_BLOCK_SIZE * 7); + + bool has_new_pacs = iclass_detect_new_pacs(b7); + bool has_values = (memcmp(b7, empty, PICOPASS_BLOCK_SIZE) != 0) && (memcmp(b7, zeros, PICOPASS_BLOCK_SIZE) != 0); if (has_values && encryption == None) { - //todo: remove preamble/sentinel - uint32_t top = 0, mid = 0, bot = 0; - + // todo: remove preamble/sentinel PrintAndLogEx(INFO, "Block 7 decoder"); - char hexstr[16 + 1] = {0}; - hex_to_buffer((uint8_t *)hexstr, data + (8 * 7), 8, sizeof(hexstr) - 1, 0, 0, true); - hexstring_to_u96(&top, &mid, &bot, hexstr); + if (has_new_pacs) { + iclass_decode_credentials_new_pacs(b7); + } else { + char hexstr[16 + 1] = {0}; + hex_to_buffer((uint8_t *)hexstr, b7, PICOPASS_BLOCK_SIZE, sizeof(hexstr) - 1, 0, 0, true); - char binstr[64 + 1]; - hextobinstring(binstr, hexstr); - char *pbin = binstr; - while (strlen(pbin) && *(++pbin) == '0'); + uint32_t top = 0, mid = 0, bot = 0; + hexstring_to_u96(&top, &mid, &bot, hexstr); - PrintAndLogEx(SUCCESS, "Binary..................... " _GREEN_("%s"), pbin); + char binstr[64 + 1]; + hextobinstring(binstr, hexstr); + char *pbin = binstr; + while (strlen(pbin) && *(++pbin) == '0'); + + PrintAndLogEx(SUCCESS, "Binary..................... " _GREEN_("%s"), pbin); + + PrintAndLogEx(INFO, "Wiegand decode"); + wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); + HIDTryUnpack(&packed); + } - PrintAndLogEx(INFO, "Wiegand decode"); - wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); - HIDTryUnpack(&packed); } else { PrintAndLogEx(INFO, "No unencrypted legacy credential found"); } diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 52c0a28bf..1ddb66d74 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -87,7 +87,9 @@ DumpFileType_t getfiletype(const char *filename) { } else if (str_endswith(s, "mct")) { o = MCT; } else if (str_endswith(s, "nfc")) { - o = NFC; + o = FLIPPER; + } else if (str_endswith(s, "picopass")) { + o = FLIPPER; } else { // mfd, trc, trace is binary o = BIN; @@ -1020,7 +1022,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s int retval = PM3_SUCCESS; char *path; - int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, ".nfc", false); + int res = searchFile(&path, RESOURCES_SUBDIR, preferredName, "", false); if (res != PM3_SUCCESS) { return PM3_EFILE; } @@ -1221,14 +1223,18 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s uint8_t block[MFBLOCK_SIZE] = {0}; param_gethex_to_eol(p, 0, block, MFBLOCK_SIZE, &n); memcpy(&udata.bytes[(blockno * MFBLOCK_SIZE)], block, MFBLOCK_SIZE); + } else if (ft == NFC_DF_PICOPASS) { + uint8_t block[PICOPASS_BLOCK_SIZE] = {0}; + param_gethex_to_eol(p, 0, block, PICOPASS_BLOCK_SIZE, &n); + memcpy(&udata.bytes[(blockno * PICOPASS_BLOCK_SIZE)], block, PICOPASS_BLOCK_SIZE); } - counter += MFBLOCK_SIZE; + counter += PICOPASS_BLOCK_SIZE; continue; } } // add header length - if (ft == NFC_DF_MFC) { + if (ft == NFC_DF_MFC || ft == NFC_DF_PICOPASS) { *datalen = counter; } else if (ft == NFC_DF_MFU) { *datalen += MFU_DUMP_PREFIX_LENGTH; @@ -1382,6 +1388,7 @@ int loadFileJSONex(const char *preferredName, void *data, size_t maxdatalen, siz } udata_t udata = (udata_t)data; + size_t len = 0; char blocks[PATH_MAX_LENGTH] = {0}; @@ -2278,7 +2285,12 @@ nfc_df_e detect_nfc_dump_format(const char *preferredName, bool verbose) { if (str_startswith(line, "device type: iso14443-4a")) { retval = NFC_DF_14_4A; break; - } + } + if (str_startswith(line, "filetype: flipper picopass device")) { + retval = NFC_DF_PICOPASS; + break; + } + } fclose(f); @@ -2302,6 +2314,9 @@ nfc_df_e detect_nfc_dump_format(const char *preferredName, bool verbose) { case NFC_DF_14_4A: PrintAndLogEx(INFO, "detected ISO14443-4A based dump format. No data available"); break; + case NFC_DF_PICOPASS: + PrintAndLogEx(INFO, "detected PICOPASS based dump format"); + break; case NFC_DF_UNKNOWN: PrintAndLogEx(WARNING, "failed to detected dump format"); break; @@ -2757,9 +2772,9 @@ int pm3_load_dump(const char *fn, void **pdump, size_t *dumplen, size_t maxdumpl res = loadFileMCT_safe(fn, pdump, dumplen); break; } - case NFC: { + case FLIPPER: { nfc_df_e foo = detect_nfc_dump_format(fn, true); - if (foo == NFC_DF_MFC || foo == NFC_DF_MFU) { + if (foo == NFC_DF_MFC || foo == NFC_DF_MFU || foo == NFC_DF_PICOPASS) { if (foo == NFC_DF_MFC) { *pdump = calloc(maxdumplen, sizeof(uint8_t)); diff --git a/client/src/fileutils.h b/client/src/fileutils.h index 4e679be5a..1af72f28d 100644 --- a/client/src/fileutils.h +++ b/client/src/fileutils.h @@ -79,7 +79,7 @@ typedef enum { JSON, DICTIONARY, MCT, - NFC, + FLIPPER, } DumpFileType_t; typedef enum { @@ -96,7 +96,8 @@ typedef enum { NFC_DF_MFDES, NFC_DF_14_3A, NFC_DF_14_3B, - NFC_DF_14_4A + NFC_DF_14_4A, + NFC_DF_PICOPASS, } nfc_df_e; int fileExists(const char *filename); From a3415da519a6385cabc3c39d72fe032fd4ef1a57 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 01:51:09 +0100 Subject: [PATCH 206/278] text --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17f7a1583..1ea6c9159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added support for loading Flipper PICOPASS dump files (@iceman1001) - Fixed `nfc decode` - now properly handles MFU dump files (@iceman1001) - Added support for loading Flipper MCT/MFU dump files (@iceman1001) - Changed `data bmap` - now default `-m` is 8 (@iceman1001) From 2ccf84f40aaa49457f8110d8ce3d6823b4cf2745 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 02:08:30 +0100 Subject: [PATCH 207/278] use a local str_nlen fct instead of hinting to POSIX --- client/src/crypto/asn1dump.c | 8 ++++---- client/src/mifare/desfirecore.c | 5 +++-- client/src/util.c | 10 ++++++++++ client/src/util.h | 1 + 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/client/src/crypto/asn1dump.c b/client/src/crypto/asn1dump.c index 025e200ca..32dc8f051 100644 --- a/client/src/crypto/asn1dump.c +++ b/client/src/crypto/asn1dump.c @@ -15,7 +15,7 @@ //----------------------------------------------------------------------------- // asn.1 dumping //----------------------------------------------------------------------------- -#define _POSIX_C_SOURCE 200809L // need for strnlen() + #include "asn1dump.h" #include "commonutil.h" // ARRAYLEN @@ -344,17 +344,17 @@ static void asn1_tag_dump_object_id(const struct tlv *tlv, const struct asn1_tag } else { const char *ppstr = NULL; mbedtls_oid_get_attr_short_name(&asn1_buf, &ppstr); - if (ppstr && strnlen(ppstr, 1)) { + if (ppstr && str_nlen(ppstr, 1)) { PrintAndLogEx(NORMAL, " (%s)", ppstr); return; } mbedtls_oid_get_sig_alg_desc(&asn1_buf, &ppstr); - if (ppstr && strnlen(ppstr, 1)) { + if (ppstr && str_nlen(ppstr, 1)) { PrintAndLogEx(NORMAL, " (%s)", ppstr); return; } mbedtls_oid_get_extended_key_usage(&asn1_buf, &ppstr); - if (ppstr && strnlen(ppstr, 1)) { + if (ppstr && str_nlen(ppstr, 1)) { PrintAndLogEx(NORMAL, " (%s)", ppstr); return; } diff --git a/client/src/mifare/desfirecore.c b/client/src/mifare/desfirecore.c index 9c3326f83..077414c86 100644 --- a/client/src/mifare/desfirecore.c +++ b/client/src/mifare/desfirecore.c @@ -43,6 +43,7 @@ #include "mifare/mad.h" #include "mifare/aiddesfire.h" + const CLIParserOption DesfireAlgoOpts[] = { {T_DES, "des"}, {T_3DES, "2tdea"}, @@ -1749,7 +1750,7 @@ int DesfireFillAppList(DesfireContext_t *dctx, PICCInfo_t *PICCInfo, AppListS ap memcpy( appList[indx].appDFName, &buf[i * 24 + 1 + 5], - // strnlen((char *)&buf[i * 24 + 1 + 5], 16) + // str_nlen((char *)&buf[i * 24 + 1 + 5], 16) 16 ); } @@ -2879,7 +2880,7 @@ int DesfireISOSelect(DesfireContext_t *dctx, DesfireISOSelectControl cntr, uint8 } int DesfireISOSelectDF(DesfireContext_t *dctx, char *dfname, uint8_t *resp, size_t *resplen) { - return DesfireISOSelect(dctx, ISSDFName, (uint8_t *)dfname, strnlen(dfname, 16), resp, resplen); + return DesfireISOSelect(dctx, ISSDFName, (uint8_t *)dfname, str_nlen(dfname, 16), resp, resplen); } int DesfireISOGetChallenge(DesfireContext_t *dctx, DesfireCryptoAlgorithm keytype, uint8_t *resp, size_t *resplen) { diff --git a/client/src/util.c b/client/src/util.c index 640178959..79d3c312b 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -1198,6 +1198,16 @@ char *str_ndup(const char *src, size_t len) { return dest; } +size_t str_nlen(const char *src, size_t maxlen) { + size_t len = 0; + if(src { + for(char c = *src; (len < maxlen && c != '\0'); c = *++src) { + len++; + } + } + return len; +} + /** * Converts a hex string to component "hi2", "hi" and "lo" 32-bit integers * one nibble at a time. diff --git a/client/src/util.h b/client/src/util.h index 3b9a70183..1d6df987d 100644 --- a/client/src/util.h +++ b/client/src/util.h @@ -147,6 +147,7 @@ void strcleanrn(char *buf, size_t len); void strcreplace(char *buf, size_t len, char from, char to); char *str_dup(const char *src); char *str_ndup(const char *src, size_t len); +size_t str_nlen(const char *src, size_t maxlen); int hexstring_to_u96(uint32_t *hi2, uint32_t *hi, uint32_t *lo, const char *str); int binstring_to_u96(uint32_t *hi2, uint32_t *hi, uint32_t *lo, const char *str); int binarray_to_u96(uint32_t *hi2, uint32_t *hi, uint32_t *lo, const uint8_t *arr, int arrlen); From a69eed79501f2e5aba1893574f405e76b7bbe2e4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 02:11:24 +0100 Subject: [PATCH 208/278] fix missing loaded counter --- client/src/fileutils.c | 3 ++- client/src/util.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 1ddb66d74..72850b7fe 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -1223,12 +1223,13 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s uint8_t block[MFBLOCK_SIZE] = {0}; param_gethex_to_eol(p, 0, block, MFBLOCK_SIZE, &n); memcpy(&udata.bytes[(blockno * MFBLOCK_SIZE)], block, MFBLOCK_SIZE); + counter += MFBLOCK_SIZE; } else if (ft == NFC_DF_PICOPASS) { uint8_t block[PICOPASS_BLOCK_SIZE] = {0}; param_gethex_to_eol(p, 0, block, PICOPASS_BLOCK_SIZE, &n); memcpy(&udata.bytes[(blockno * PICOPASS_BLOCK_SIZE)], block, PICOPASS_BLOCK_SIZE); + counter += PICOPASS_BLOCK_SIZE; } - counter += PICOPASS_BLOCK_SIZE; continue; } } diff --git a/client/src/util.c b/client/src/util.c index 79d3c312b..65e8349da 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -1200,7 +1200,7 @@ char *str_ndup(const char *src, size_t len) { size_t str_nlen(const char *src, size_t maxlen) { size_t len = 0; - if(src { + if(src) { for(char c = *src; (len < maxlen && c != '\0'); c = *++src) { len++; } From 9dba9f275c9c966e70940eb21532d1e9ad1dbe60 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 02:17:52 +0100 Subject: [PATCH 209/278] fix missing return --- client/src/cmdhficlass.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 0071601a5..5d5380233 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1375,6 +1375,8 @@ static int iclass_decode_credentials_new_pacs(uint8_t *d) { PrintAndLogEx(INFO, "Wiegand decode"); wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); HIDTryUnpack(&packed); + + return PM3_SUCCESS; } static void iclass_decode_credentials(uint8_t *data) { From fdacd67626f0ca89dd6345da5ce2b1d61a2349db Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 11:26:39 +0100 Subject: [PATCH 210/278] pedantic fix --- client/src/cmdhflegic.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/client/src/cmdhflegic.c b/client/src/cmdhflegic.c index 33aad2518..2b9101516 100644 --- a/client/src/cmdhflegic.c +++ b/client/src/cmdhflegic.c @@ -112,27 +112,25 @@ static int decode_and_print_memory(uint16_t card_size, const uint8_t *input_buff int fl = 0; - if (data[6] == 0xec) { + if (data[6] == 0xEC) { strncpy(token_type, "XAM", sizeof(token_type) - 1); fl = 1; stamp_len = 0x0c - (data[5] >> 4); } else { - switch (data[5] & 0x7f) { - case 0x00 ... 0x2f: - strncpy(token_type, "IAM", sizeof(token_type) - 1); - fl = (0x2f - (data[5] & 0x7f)) + 1; - break; - case 0x30 ... 0x6f: - strncpy(token_type, "SAM", sizeof(token_type) - 1); - fl = (0x6f - (data[5] & 0x7f)) + 1; - break; - case 0x70 ... 0x7f: - strncpy(token_type, "GAM", sizeof(token_type) - 1); - fl = (0x7f - (data[5] & 0x7f)) + 1; - break; + + uint8_t tmp = data[5] & 0x7F; + if (tmp <= 0x2F) { + strncpy(token_type, "IAM", sizeof(token_type) - 1); + fl = (0x2F - tmp) + 1; + } else if (tmp >= 0x30 && tmp <= 0x6F) { + strncpy(token_type, "SAM", sizeof(token_type) - 1); + fl = (0x6F - tmp) + 1; + } else if (tmp >= 0x70 && tmp <= 0x7F) { + strncpy(token_type, "GAM", sizeof(token_type) - 1); + fl = (0x7F - tmp) + 1; } - stamp_len = 0xfc - data[6]; + stamp_len = 0xFC - data[6]; } PrintAndLogEx(SUCCESS, "DCF: %d (%02x %02x) Token Type=" _YELLOW_("%s") " (OLE=%01u) OL=%02u FL=%02u", From 56e511e08b9eda3fcbe459afebe868b1719f0bba Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 11:30:33 +0100 Subject: [PATCH 211/278] text --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ea6c9159..490d96463 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,10 @@ -# Change Log + Change Log All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] - Added support for loading Flipper PICOPASS dump files (@iceman1001) + - Fixed unknown chip identification (@jmichelp) - Fixed `nfc decode` - now properly handles MFU dump files (@iceman1001) - Added support for loading Flipper MCT/MFU dump files (@iceman1001) - Changed `data bmap` - now default `-m` is 8 (@iceman1001) From eb8c2d1b6a012f87d5be8ff4cbf1e8b7d24b725a Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 11:52:12 +0100 Subject: [PATCH 212/278] move file operations to fileutils.c --- client/src/cmdhficlass.c | 44 +++++++++++++++------------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 5d5380233..227996e60 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -3403,7 +3403,7 @@ static int CmdHFiClassCalcNewKey(const char *Cmd) { return PM3_SUCCESS; } -static int loadKeys(char *filename) { +static int iclass_load_keys(char *filename) { uint8_t *dump = NULL; size_t bytes_read = 0; @@ -3412,46 +3412,30 @@ static int loadKeys(char *filename) { return PM3_EFILE; } - if (bytes_read > ICLASS_KEYS_MAX * 8) { + if (bytes_read > ICLASS_KEYS_MAX * PICOPASS_BLOCK_SIZE) { PrintAndLogEx(WARNING, "File is too long to load - bytes: %zu", bytes_read); free(dump); return PM3_EFILE; } size_t i = 0; - for (; i < bytes_read / 8; i++) - memcpy(iClass_Key_Table[i], dump + (i * 8), 8); + for (; i < bytes_read / PICOPASS_BLOCK_SIZE; i++) { + memcpy(iClass_Key_Table[i], dump + (i * PICOPASS_BLOCK_SIZE), PICOPASS_BLOCK_SIZE); + } free(dump); PrintAndLogEx(SUCCESS, "Loaded " _GREEN_("%2zd") " keys from %s", i, filename); return PM3_SUCCESS; } -static int saveKeys(char *filename) { - FILE *f; - f = fopen(filename, "wb"); - if (!f) { - PrintAndLogEx(FAILED, "File: " _YELLOW_("%s") ": not found or locked.", filename); - return PM3_EFILE; - } - for (uint8_t i = 0; i < ICLASS_KEYS_MAX; i++) { - if (fwrite(iClass_Key_Table[i], 8, 1, f) != 1) { - PrintAndLogEx(WARNING, "save key failed to write to file:" _YELLOW_("%s"), filename); - break; - } - } - fclose(f); - return PM3_SUCCESS; -} - -static int printKeys(void) { +static int iclass_print_keys(void) { PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "idx| key"); PrintAndLogEx(INFO, "---+------------------------"); for (uint8_t i = 0; i < ICLASS_KEYS_MAX; i++) { - if (memcmp(iClass_Key_Table[i], "\x00\x00\x00\x00\x00\x00\x00\x00", 8) == 0) + if (memcmp(iClass_Key_Table[i], zeros, sizeof(zeros)) == 0) PrintAndLogEx(INFO, " %u |", i); else - PrintAndLogEx(INFO, " %u | " _YELLOW_("%s"), i, sprint_hex(iClass_Key_Table[i], 8)); + PrintAndLogEx(INFO, " %u | " _YELLOW_("%s"), i, sprint_hex(iClass_Key_Table[i], PICOPASS_BLOCK_SIZE)); } PrintAndLogEx(INFO, "---+------------------------"); PrintAndLogEx(NORMAL, ""); @@ -3544,11 +3528,15 @@ static int CmdHFiClassManageKeys(const char *Cmd) { PrintAndLogEx(SUCCESS, " New key[%d] " _GREEN_("%s"), key_nr, sprint_hex_inrow(iClass_Key_Table[key_nr], 8)); return PM3_SUCCESS; case 4: - return printKeys(); + return iclass_print_keys(); case 5: - return loadKeys(filename); - case 6: - return saveKeys(filename); + return iclass_load_keys(filename); + case 6: { + bool isOK = saveFile(filename, ".bin", iClass_Key_Table, sizeof(iClass_Key_Table)); + if (isOK == false) { + return PM3_EFILE; + } + } } return PM3_SUCCESS; } From 8f7d7a2dd4409273b154c10fc826c2bd37ecb5d1 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 15:30:25 +0100 Subject: [PATCH 213/278] fix mem leak and add new pacs style decoding when reading block 7 --- client/src/cmdhficlass.c | 43 ++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 227996e60..b8e80aaa4 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1371,6 +1371,8 @@ static int iclass_decode_credentials_new_pacs(uint8_t *d) { return PM3_EINVARG; } + free(binstr); + PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "Wiegand decode"); wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); @@ -2783,9 +2785,9 @@ static int CmdHFiClass_ReadBlock(const char *Cmd) { } case 7: { - uint8_t dec_data[8]; + uint8_t dec_data[PICOPASS_BLOCK_SIZE]; - uint64_t a = bytes_to_num(data, 8); + uint64_t a = bytes_to_num(data, PICOPASS_BLOCK_SIZE); bool starts = (leadingzeros(a) < 12); bool ones = (bitcount64(a) > 16 && bitcount64(a) < 48); @@ -2798,25 +2800,32 @@ static int CmdHFiClass_ReadBlock(const char *Cmd) { PrintAndLogEx(INFO, "data looks unencrypted, trying to decode"); } - if (memcmp(dec_data, empty, 8) != 0) { + bool has_new_pacs = iclass_detect_new_pacs(dec_data); + bool has_values = (memcmp(dec_data, empty, PICOPASS_BLOCK_SIZE) != 0) && (memcmp(dec_data, zeros, PICOPASS_BLOCK_SIZE) != 0); - //todo: remove preamble/sentinel - uint32_t top = 0, mid = 0, bot = 0; + if (has_values) { - char hexstr[16 + 1] = {0}; - hex_to_buffer((uint8_t *)hexstr, dec_data, 8, sizeof(hexstr) - 1, 0, 0, true); - hexstring_to_u96(&top, &mid, &bot, hexstr); + if (has_new_pacs) { + iclass_decode_credentials_new_pacs(dec_data); + } else { + //todo: remove preamble/sentinel + uint32_t top = 0, mid = 0, bot = 0; - char binstr[64 + 1]; - hextobinstring(binstr, hexstr); - char *pbin = binstr; - while (strlen(pbin) && *(++pbin) == '0'); + char hexstr[16 + 1] = {0}; + hex_to_buffer((uint8_t *)hexstr, dec_data, PICOPASS_BLOCK_SIZE, sizeof(hexstr) - 1, 0, 0, true); + hexstring_to_u96(&top, &mid, &bot, hexstr); - PrintAndLogEx(SUCCESS, " bin : %s", pbin); - PrintAndLogEx(INFO, ""); - PrintAndLogEx(INFO, "------------------------------ " _CYAN_("Wiegand") " -------------------------------"); - wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); - HIDTryUnpack(&packed); + char binstr[64 + 1]; + hextobinstring(binstr, hexstr); + char *pbin = binstr; + while (strlen(pbin) && *(++pbin) == '0'); + + PrintAndLogEx(SUCCESS, " bin : %s", pbin); + PrintAndLogEx(INFO, ""); + PrintAndLogEx(INFO, "------------------------------ " _CYAN_("Wiegand") " -------------------------------"); + wiegand_message_t packed = initialize_message_object(top, mid, bot, 0); + HIDTryUnpack(&packed); + } } else { PrintAndLogEx(INFO, "no credential found"); } From d31385c7768a3383f03b14ae2e9f4d90746b74e3 Mon Sep 17 00:00:00 2001 From: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 16:36:01 +0200 Subject: [PATCH 214/278] Update magic_cards_notes.md add some gen4 notes Signed-off-by: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> --- doc/magic_cards_notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/magic_cards_notes.md b/doc/magic_cards_notes.md index 0477a46ae..41d818a3d 100644 --- a/doc/magic_cards_notes.md +++ b/doc/magic_cards_notes.md @@ -1289,7 +1289,7 @@ CF 69 <00-01> // (De)Activate Ultralight mode CF 6A <00-03> // Select Ultralight mode CF 6B <1b> // Set Ultralight and M1 maximum read/write sectors CF C6 // Dump configuration -CF CC // Factory test, returns 6666 +CF CC // Factory test, returns 6666 for generic card, 02AA for limited functionality card and 06A0 for broken functionality card CF CD <1b block number><16b block data> // Backdoor write 16b block CF CE <1b block number> // Backdoor read 16b block CF CF <1b param> // (De)Activate direct write to block 0 From c9bee6d3b8267261d35a3e6b79b02c8e764304a9 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 15:38:21 +0100 Subject: [PATCH 215/278] pointer to buffer. Zero sized array not allowed when pedantic --- client/src/emv/tlv.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/src/emv/tlv.h b/client/src/emv/tlv.h index 39f1bcacd..2582066a9 100644 --- a/client/src/emv/tlv.h +++ b/client/src/emv/tlv.h @@ -22,6 +22,7 @@ #define TLV_H #include "common.h" +#include typedef uint32_t tlv_tag_t; @@ -41,7 +42,7 @@ struct tlvdb { struct tlvdb_root { struct tlvdb db; size_t len; - unsigned char buf[0]; + unsigned char buf[]; }; typedef void (*tlv_cb)(void *data, const struct tlv *tlv, int level, bool is_leaf); From 7026fd69fb05d7a8a5f4b0c6d109da63d1f77aa3 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Nov 2023 15:40:36 +0100 Subject: [PATCH 216/278] pedantic fix --- client/src/emv/emv_pki.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/emv/emv_pki.c b/client/src/emv/emv_pki.c index 17eb7e0ea..8f430e290 100644 --- a/client/src/emv/emv_pki.c +++ b/client/src/emv/emv_pki.c @@ -37,7 +37,7 @@ void PKISetStrictExecution(bool se) { strictExecution = se; } -static const unsigned char empty_tlv_value[] = {}; +static const unsigned char empty_tlv_value[] = {0}; static const struct tlv empty_tlv = {.tag = 0x0, .len = 0, .value = empty_tlv_value}; static size_t emv_pki_hash_psn[256] = { 0, 0, 11, 2, 17, 2, }; From 282d22c3cc753c23fdc89393cd314aadfb5eb979 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 21:11:55 +0200 Subject: [PATCH 217/278] add ginfo comamnd --- client/src/cmdhfmf.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index da94e1205..16d56c7dd 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7431,6 +7431,35 @@ static int CmdHF14AMfView(const char *Cmd) { } free(dump); + return PM3_SUCCESS; +} + +// info about Gen4 GTU card +static int CmdHF14AGen4Info(const char *cmd) { + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf mf ginfo", + "Read info about magic gen4 GTU card.", + "hf mf ginfo --> get info with default password 00000000\n" + "hf mf ginfo --pwd 01020304 --> get info with password\n" + ); + void *argtable[] = { + arg_param_begin, + arg_lit0("v", "verbose", "verbose output"), + arg_str0("p", "pwd", "", "password 4bytes"), + arg_param_end + }; + CLIExecWithReturn(ctx, cmd, argtable, false); + //bool verbose = arg_get_lit(ctx, 1); + + int pwd_len = 0; + uint8_t pwd[4] = {0}; + CLIGetHexWithReturn(ctx, 3, pwd, &pwd_len); + CLIParserFree(ctx); + + + + + return PM3_SUCCESS; } @@ -8689,6 +8718,7 @@ static command_t CommandTable[] = { {"gen3blk", CmdHf14AGen3Block, IfPm3Iso14443a, "Overwrite manufacturer block"}, {"gen3freeze", CmdHf14AGen3Freeze, IfPm3Iso14443a, "Perma lock UID changes. irreversible"}, {"-----------", CmdHelp, IfPm3Iso14443a, "-------------------- " _CYAN_("magic gen4 GTU") " --------------------------"}, + {"ginfo", CmdHF14AGen4Info, IfPm3Iso14443a, "Info about configuration of the card"}, {"ggetblk", CmdHF14AGen4GetBlk, IfPm3Iso14443a, "Read block from card"}, {"gload", CmdHF14AGen4Load, IfPm3Iso14443a, "Load dump to card"}, {"gsave", CmdHF14AGen4Save, IfPm3Iso14443a, "Save dump from card into file or emulator"}, From e6e757865e8a934a52315690ef53e87280d1f269 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 21:58:50 +0200 Subject: [PATCH 218/278] add gen4 commands --- client/src/mifare/gen4.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 client/src/mifare/gen4.h diff --git a/client/src/mifare/gen4.h b/client/src/mifare/gen4.h new file mode 100644 index 000000000..bc4dcfb4f --- /dev/null +++ b/client/src/mifare/gen4.h @@ -0,0 +1,37 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// High frequency ISO14443A commands +//----------------------------------------------------------------------------- +#ifndef __GEN4_H +#define __GEN4_H + +#define GEN4_CMD_CONFIG_GTU 0x32 +#define GEN4_CMD_CONFIG_ATS 0x34 +#define GEN4_CMD_CONFIG_ATQA_SAK 0x35 +#define GEN4_CMD_CONFIG_UID_LEN 0x68 +#define GEN4_CMD_CONFIG_UL_ENABLE 0x69 +#define GEN4_CMD_CONFIG_UL_MODE 0x6A +#define GEN4_CMD_CONFIG_UL_SECTOR_COUNT 0x6A +#define GEN4_CMD_DUMP_CONFIG 0xC6 +#define GEN4_CMD_FACTORY_TEST 0xCC +#define GEN4_CMD_WRITE_BLOCK 0xCD +#define GEN4_CMD_READ_BLOCK 0xCE +#define GEN4_CMD_BL0_DIRECT_WRITE_EN 0xCF +#define GEN4_CMD_SET_CONFIG 0xF0 +#define GEN4_CMD_SET_CONFIG_PERMANENT 0xF1 +#define GEN4_CMD_CHANGE_PASSWORD 0xFE + +#endif \ No newline at end of file From 70eb1b13912c99f263113f997f67dc9a4265e047 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 22:09:30 +0200 Subject: [PATCH 219/278] add low level g4 info commands --- client/src/mifare/mifarehost.c | 79 ++++++++++++++++++++++++++++++++++ client/src/mifare/mifarehost.h | 3 ++ 2 files changed, 82 insertions(+) diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index 76c392490..6666aca8a 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -40,6 +40,7 @@ #include "crypto/libpcrypto.h" #include "util.h" // xor #include "mbedtls/sha1.h" // SHA1 +#include "gen4.h" int mfDarkside(uint8_t blockno, uint8_t key_type, uint64_t *key) { uint32_t uid = 0; @@ -1173,6 +1174,84 @@ int mfGen3Freeze(void) { } } +static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datalen, uint8_t *response, size_t *responselen) { + struct p { + uint8_t cmdheader; + uint8_t pwd[4]; + uint8_t command; + uint8_t data[32]; + } PACKED payload; + memset(&payload, 0, sizeof(payload)); + + if (datalen > sizeof(payload.data)) { + return PM3_EINVARG; + } + + payload.cmdheader = 0xCF; + payload.command = cmd; + if (pwd != NULL) { + memcpy(payload.pwd, pwd, sizeof(payload.pwd)); + } + if (data != NULL && datalen > 0) { + memcpy(payload.data, data, datalen); + } + + clearCommandBuffer(); + SendCommandNG(CMD_HF_MIFARE_G4_RDBL, (uint8_t *)&payload, 1 + 4 + 1 + datalen); + PacketResponseNG resp; + if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_RDBL, &resp, 1500)) { + if (resp.status != PM3_SUCCESS) { + return PM3_EUNDEF; + } + + if (response != NULL) + memcpy(response, resp.data.asBytes, resp.length); + + if (responselen != NULL) + *responselen = resp.length; + } else { + PrintAndLogEx(WARNING, "command execute timeout"); + return PM3_ETIMEOUT; + } + return PM3_SUCCESS; +} + +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen) { + uint8_t resp[40] = {0}; + size_t resplen = 0; + + int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen); + if (res != PM3_SUCCESS) { + return PM3_EUNDEF; + } + + if (data != NULL) + memcpy(data, resp, resplen); + + if (datalen != NULL) + *datalen = resplen; + + return PM3_SUCCESS; +} + +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen) { + uint8_t resp[40] = {0}; + size_t resplen = 0; + + int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen); + if (res != PM3_SUCCESS) { + return PM3_EUNDEF; + } + + if (data != NULL) + memcpy(data, resp, resplen); + + if (datalen != NULL) + *datalen = resplen; + + return PM3_SUCCESS; +} + int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { struct p { uint8_t blockno; diff --git a/client/src/mifare/mifarehost.h b/client/src/mifare/mifarehost.h index ccefbbd40..036770ddf 100644 --- a/client/src/mifare/mifarehost.h +++ b/client/src/mifare/mifarehost.h @@ -96,6 +96,9 @@ int mfGen3UID(uint8_t *uid, uint8_t uidlen, uint8_t *oldUid); int mfGen3Block(uint8_t *block, int blockLen, uint8_t *newBlock); int mfGen3Freeze(void); +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen); +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen); + int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); From 6ae1bae8c0e90cd18a5d0d880f8bc2c128e1596f Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 23:43:05 +0200 Subject: [PATCH 220/278] ginfo command works and shows raw data --- client/src/cmdhfmf.c | 27 +++++++++++++-- client/src/mifare/mifarehost.c | 61 ++++++++++++++++++++++++++-------- client/src/mifare/mifarehost.h | 4 +-- 3 files changed, 75 insertions(+), 17 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 16d56c7dd..e9507c06d 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7448,16 +7448,39 @@ static int CmdHF14AGen4Info(const char *cmd) { arg_str0("p", "pwd", "", "password 4bytes"), arg_param_end }; - CLIExecWithReturn(ctx, cmd, argtable, false); - //bool verbose = arg_get_lit(ctx, 1); + CLIExecWithReturn(ctx, cmd, argtable, true); + bool verbose = arg_get_lit(ctx, 1); int pwd_len = 0; uint8_t pwd[4] = {0}; CLIGetHexWithReturn(ctx, 3, pwd, &pwd_len); CLIParserFree(ctx); + if (pwd_len != 0 && pwd_len != 4) { + PrintAndLogEx(FAILED, "Password must be 4 bytes length, got " _YELLOW_("%u"), pwd_len); + return PM3_EINVARG; + } + uint8_t resp[40] = {0}; + size_t resplen = 0; + int res = mfG4GetConfig(pwd, resp, &resplen, verbose); + if (res != PM3_SUCCESS || resplen == 0) { + PrintAndLogEx(ERR, "Error get config. Maybe not a Gen4 card?. error=%d rlen=%d", res, resplen); + return PM3_ESOFT; + } + PrintAndLogEx(INFO, "---------- Gen4 configuration ----------"); + PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + if (resplen != 32 && resplen != 34) { + PrintAndLogEx(WARNING, "Unknown config format"); + return PM3_SUCCESS; + } + + res = mfG4GetFactoryTest(pwd, resp, &resplen, verbose); + if (res == PM3_SUCCESS && resplen > 2) { + PrintAndLogEx(INFO, "Raw test [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + return PM3_ESOFT; + } return PM3_SUCCESS; diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index 6666aca8a..f18b103cb 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -40,6 +40,7 @@ #include "crypto/libpcrypto.h" #include "util.h" // xor #include "mbedtls/sha1.h" // SHA1 +#include "cmdhf14a.h" #include "gen4.h" int mfDarkside(uint8_t blockno, uint8_t key_type, uint64_t *key) { @@ -1174,7 +1175,7 @@ int mfGen3Freeze(void) { } } -static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datalen, uint8_t *response, size_t *responselen) { +static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datalen, uint8_t *response, size_t *responselen, bool verbose) { struct p { uint8_t cmdheader; uint8_t pwd[4]; @@ -1196,31 +1197,65 @@ static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datale memcpy(payload.data, data, datalen); } + int resplen = 0; + clearCommandBuffer(); - SendCommandNG(CMD_HF_MIFARE_G4_RDBL, (uint8_t *)&payload, 1 + 4 + 1 + datalen); + SendCommandOLD(CMD_HF_ISO14443A_READER, ISO14A_CONNECT | ISO14A_RAW | ISO14A_NO_RATS | ISO14A_APPEND_CRC, 6 + datalen, 0, (uint8_t *)&payload, 6 + datalen); + PacketResponseNG resp; - if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_RDBL, &resp, 1500)) { - if (resp.status != PM3_SUCCESS) { - return PM3_EUNDEF; + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + if (resp.oldarg[0] != 2) { + if (verbose) PrintAndLogEx(ERR, "No card in the field."); + return PM3_ETIMEOUT; + } + + iso14a_card_select_t card; + memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); + if (verbose) { + PrintAndLogEx(SUCCESS, " UID: " _GREEN_("%s"), sprint_hex(card.uid, card.uidlen)); + PrintAndLogEx(SUCCESS, "ATQA: " _GREEN_("%02X %02X"), card.atqa[1], card.atqa[0]); + PrintAndLogEx(SUCCESS, " SAK: " _GREEN_("%02X [%" PRIu64 "]"), card.sak, resp.oldarg[0]); + } + } else { + if (verbose) PrintAndLogEx(ERR, "No card in the field."); + return PM3_ETIMEOUT; + } + + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + resplen = resp.oldarg[0]; + + if (!resplen) { + if (verbose) PrintAndLogEx(ERR, "No card response."); + return PM3_EFAILED; + } + + resplen = resplen - 2; // 14A CRC + if (resplen < 0) + resplen = 0; + + if (resplen > 40) { + if (verbose) PrintAndLogEx(ERR, "Buffer too small(%d).", resplen); + return PM3_EOVFLOW; } if (response != NULL) - memcpy(response, resp.data.asBytes, resp.length); + memcpy(response, resp.data.asBytes, resplen); if (responselen != NULL) - *responselen = resp.length; + *responselen = resplen; + + return PM3_SUCCESS; } else { - PrintAndLogEx(WARNING, "command execute timeout"); + if (verbose) PrintAndLogEx(ERR, "Reply timeout."); return PM3_ETIMEOUT; } - return PM3_SUCCESS; } -int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen) { +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { uint8_t resp[40] = {0}; size_t resplen = 0; - int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen); + int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen, verbose); if (res != PM3_SUCCESS) { return PM3_EUNDEF; } @@ -1234,11 +1269,11 @@ int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen) { return PM3_SUCCESS; } -int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen) { +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { uint8_t resp[40] = {0}; size_t resplen = 0; - int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen); + int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen, verbose); if (res != PM3_SUCCESS) { return PM3_EUNDEF; } diff --git a/client/src/mifare/mifarehost.h b/client/src/mifare/mifarehost.h index 036770ddf..dedf7f5ea 100644 --- a/client/src/mifare/mifarehost.h +++ b/client/src/mifare/mifarehost.h @@ -96,8 +96,8 @@ int mfGen3UID(uint8_t *uid, uint8_t uidlen, uint8_t *oldUid); int mfGen3Block(uint8_t *block, int blockLen, uint8_t *newBlock); int mfGen3Freeze(void); -int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen); -int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen); +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); From 89c19fce9c6a709ab00c4073287fc60b090af8aa Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 5 Nov 2023 23:51:52 +0200 Subject: [PATCH 221/278] ad test data decoding --- client/src/cmdhfmf.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index e9507c06d..35bf6e699 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7471,15 +7471,24 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "---------- Gen4 configuration ----------"); PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); - if (resplen != 32 && resplen != 34) { + if (resplen != 30 && resplen != 32) { PrintAndLogEx(WARNING, "Unknown config format"); return PM3_SUCCESS; } - res = mfG4GetFactoryTest(pwd, resp, &resplen, verbose); + res = mfG4GetFactoryTest(pwd, resp, &resplen, false); if (res == PM3_SUCCESS && resplen > 2) { - PrintAndLogEx(INFO, "Raw test [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); - return PM3_ESOFT; + if (verbose) + PrintAndLogEx(INFO, "Raw test [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + + if (resp[resplen - 2] == 0x66 && resp[resplen - 1] == 0x66) + PrintAndLogEx(INFO, "Card type : generic"); + else if (resp[resplen - 2] == 0x02 && resp[resplen - 1] == 0xaa) + PrintAndLogEx(INFO, "Card type : limited functionality"); + else if (resp[resplen - 2] == 0x06 && resp[resplen - 1] == 0xa0) + PrintAndLogEx(INFO, "Card type : broken functionality"); + else + PrintAndLogEx(INFO, "Card type : unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } From ac970064d31f13c474c23d9ac555521d4afee8a8 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:19:45 +0200 Subject: [PATCH 222/278] add timeout error --- client/src/cmdhfmf.c | 5 ++++- client/src/mifare/mifarehost.c | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 35bf6e699..47a0bdb74 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7465,7 +7465,10 @@ static int CmdHF14AGen4Info(const char *cmd) { size_t resplen = 0; int res = mfG4GetConfig(pwd, resp, &resplen, verbose); if (res != PM3_SUCCESS || resplen == 0) { - PrintAndLogEx(ERR, "Error get config. Maybe not a Gen4 card?. error=%d rlen=%d", res, resplen); + if (res == PM3_ETIMEOUT) + PrintAndLogEx(ERR, "No card in the field or card command timeout."); + else + PrintAndLogEx(ERR, "Error get config. Maybe not a Gen4 card?. error=%d rlen=%d", res, resplen); return PM3_ESOFT; } diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index f18b103cb..b6fd7e22b 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -1257,7 +1257,7 @@ int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen, verbose); if (res != PM3_SUCCESS) { - return PM3_EUNDEF; + return res; } if (data != NULL) @@ -1275,7 +1275,7 @@ int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbos int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen, verbose); if (res != PM3_SUCCESS) { - return PM3_EUNDEF; + return res; } if (data != NULL) From 910c4d8c92b85ca0bb6ce70499b86fddba44f0c4 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:29:28 +0200 Subject: [PATCH 223/278] make style --- .vscode/extensions.json | 1 - client/src/cmdhficlass.c | 6 +++--- client/src/cmdhfmfu.c | 6 +++--- client/src/cmdnfc.c | 8 ++++---- client/src/mifare/gen4.h | 2 +- client/src/mifare/mifarehost.c | 4 ++-- client/src/pm3line_vocabulary.h | 1 + doc/commands.json | 28 ++++++++++++++++++++++------ doc/commands.md | 1 + 9 files changed, 37 insertions(+), 20 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 85b3997e2..e9b75675f 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,7 +3,6 @@ // for the documentation about the extensions.json format "recommendations": [ "ms-vscode.cpptools", - "austin.code-gnu-global", "marus25.cortex-debug", "augustocdias.tasks-shell-input" ] diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index b8e80aaa4..4c60438df 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -1324,7 +1324,7 @@ static int CmdHFiClassESetBlk(const char *Cmd) { static bool iclass_detect_new_pacs(uint8_t *d) { uint8_t n = 0; while (n++ < (PICOPASS_BLOCK_SIZE / 2)) { - if (d[n] && + if (d[n] && d[n + 1] == 0xA6) { return true; } @@ -1332,7 +1332,7 @@ static bool iclass_detect_new_pacs(uint8_t *d) { return false; } -// block 7 decoder for PACS +// block 7 decoder for PACS static int iclass_decode_credentials_new_pacs(uint8_t *d) { uint8_t offset = 0; @@ -1349,7 +1349,7 @@ static int iclass_decode_credentials_new_pacs(uint8_t *d) { return PM3_EMALLOC; } - uint8_t n = PICOPASS_BLOCK_SIZE - offset - 2; + uint8_t n = PICOPASS_BLOCK_SIZE - offset - 2; byte_2_binstr(binstr, d + offset + 2, n); PrintAndLogEx(NORMAL, ""); diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 860744220..6b55875f7 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -70,7 +70,7 @@ static uint8_t default_pwd_pack[][4] = { }; static uint64_t UL_TYPES_ARRAY[] = { - MFU_TT_UNKNOWN, MFU_TT_UL, + MFU_TT_UNKNOWN, MFU_TT_UL, MFU_TT_UL_C, MFU_TT_UL_EV1_48, MFU_TT_UL_EV1_128, MFU_TT_NTAG, MFU_TT_NTAG_203, MFU_TT_NTAG_210, @@ -79,7 +79,7 @@ static uint64_t UL_TYPES_ARRAY[] = { MFU_TT_MY_D, MFU_TT_MY_D_NFC, MFU_TT_MY_D_MOVE, MFU_TT_MY_D_MOVE_NFC, MFU_TT_MY_D_MOVE_LEAN, MFU_TT_NTAG_I2C_1K, - MFU_TT_NTAG_I2C_2K, MFU_TT_NTAG_I2C_1K_PLUS, + MFU_TT_NTAG_I2C_2K, MFU_TT_NTAG_I2C_1K_PLUS, MFU_TT_NTAG_I2C_2K_PLUS, MFU_TT_FUDAN_UL, MFU_TT_NTAG_213_F, MFU_TT_NTAG_216_F, MFU_TT_UL_EV1, MFU_TT_UL_NANO_40, @@ -1891,7 +1891,7 @@ static int CmdHF14AMfUInfo(const char *Cmd) { } // Read signature - if ((tagtype & (MFU_TT_UL_EV1_48 | MFU_TT_UL_EV1_128 | MFU_TT_UL_EV1 | MFU_TT_UL_NANO_40 | + if ((tagtype & (MFU_TT_UL_EV1_48 | MFU_TT_UL_EV1_128 | MFU_TT_UL_EV1 | MFU_TT_UL_NANO_40 | MFU_TT_NTAG_210u | MFU_TT_NTAG_213 | MFU_TT_NTAG_213_F | MFU_TT_NTAG_213_C | MFU_TT_NTAG_213_TT | MFU_TT_NTAG_215 | MFU_TT_NTAG_216 | MFU_TT_NTAG_216_F | MFU_TT_NTAG_I2C_1K | MFU_TT_NTAG_I2C_2K | MFU_TT_NTAG_I2C_1K_PLUS | MFU_TT_NTAG_I2C_2K_PLUS))) { diff --git a/client/src/cmdnfc.c b/client/src/cmdnfc.c index 4e827a32b..1096dec8f 100644 --- a/client/src/cmdnfc.c +++ b/client/src/cmdnfc.c @@ -113,12 +113,12 @@ static int CmdNfcDecode(const char *Cmd) { return res; } - uint8_t *tmp = dump; + uint8_t *tmp = dump; // if not MIFARE Classic default sizes, assume its Ultralight/NTAG - if ( bytes_read != MIFARE_4K_MAX_BYTES - && bytes_read != MIFARE_2K_MAX_BYTES - && bytes_read != MIFARE_1K_MAX_BYTES + if ( bytes_read != MIFARE_4K_MAX_BYTES + && bytes_read != MIFARE_2K_MAX_BYTES + && bytes_read != MIFARE_1K_MAX_BYTES && bytes_read != MIFARE_MINI_MAX_BYTES) { uint8_t **pd = &tmp; diff --git a/client/src/mifare/gen4.h b/client/src/mifare/gen4.h index bc4dcfb4f..3a2ab0947 100644 --- a/client/src/mifare/gen4.h +++ b/client/src/mifare/gen4.h @@ -34,4 +34,4 @@ #define GEN4_CMD_SET_CONFIG_PERMANENT 0xF1 #define GEN4_CMD_CHANGE_PASSWORD 0xFE -#endif \ No newline at end of file +#endif diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index b6fd7e22b..7ff786832 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -1208,7 +1208,7 @@ static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datale if (verbose) PrintAndLogEx(ERR, "No card in the field."); return PM3_ETIMEOUT; } - + iso14a_card_select_t card; memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); if (verbose) { @@ -1223,7 +1223,7 @@ static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datale if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { resplen = resp.oldarg[0]; - + if (!resplen) { if (verbose) PrintAndLogEx(ERR, "No card response."); return PM3_EFAILED; diff --git a/client/src/pm3line_vocabulary.h b/client/src/pm3line_vocabulary.h index 858267278..a0fcee232 100644 --- a/client/src/pm3line_vocabulary.h +++ b/client/src/pm3line_vocabulary.h @@ -366,6 +366,7 @@ const static vocabulary_t vocabulary[] = { { 0, "hf mf gen3uid" }, { 0, "hf mf gen3blk" }, { 0, "hf mf gen3freeze" }, + { 0, "hf mf ginfo" }, { 0, "hf mf ggetblk" }, { 0, "hf mf gload" }, { 0, "hf mf gsave" }, diff --git a/doc/commands.json b/doc/commands.json index 4cb9c4623..35bb46ec4 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -279,6 +279,7 @@ "command": "data bmap", "description": "Breaks down a hex value to binary according a template data bmap -d 16 -m 4,4 This will give two rows each with four bits", "notes": [ + "data bmap -d 3B", "data bmap -d 3B -m 2,5,1" ], "offline": true, @@ -3026,10 +3027,10 @@ }, "hf iclass configcard": { "command": "hf iclass configcard", - "description": "Manage reader configuration card via Cardhelper, The generated config card will be uploaded to device emulator memory. You can start simulating `hf iclass sim -t 3` or use the emul commands", + "description": "Manage reader configuration card via Cardhelper or internal database, The generated config card will be uploaded to device emulator memory. You can start simulating `hf iclass sim -t 3` or use the emul commands", "notes": [ - "hf iclass configcard -l -> download config card settings", - "hf iclass configcard -p -> print all config cards", + "hf iclass configcard -l -> download config card settings from cardhelper", + "hf iclass configcard -p -> print all config cards in the database", "hf iclass configcard --ci 1 -> view config card setting in slot 1", "hf iclass configcard -g --ci 0 -> generate config file from slot 0" ], @@ -4553,6 +4554,21 @@ ], "usage": "hf mf ggetblk [-hv] -b [-p ]" }, + "hf mf ginfo": { + "command": "hf mf ginfo", + "description": "Read info about magic gen4 GTU card.", + "notes": [ + "hf mf ginfo -> get info with default password 00000000", + "hf mf ginfo --pwd 01020304 -> get info with password" + ], + "offline": false, + "options": [ + "-h, --help This help", + "-v, --verbose verbose output", + "-p, --pwd password 4bytes" + ], + "usage": "hf mf ginfo [-hv] [-p ]" + }, "hf mf gload": { "command": "hf mf gload", "description": "Load magic gen4 gtu card with data from (bin/eml/json) dump file or from emulator memory.", @@ -8939,7 +8955,7 @@ "-1, --ht1 Card type Hitag 1", "-2, --ht2 Card type Hitag 2", "-s, --hts Card type Hitag S", - "-m, --htm Card type Hitag \u03bc" + "-m, --htm Card type Hitag \u041e\u0458" ], "usage": "lf hitag eload [-h12sm] -f " }, @@ -12015,8 +12031,8 @@ } }, "metadata": { - "commands_extracted": 696, + "commands_extracted": 697, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-10-30T12:11:34" + "extracted_on": "2023-11-05T22:22:55" } } \ No newline at end of file diff --git a/doc/commands.md b/doc/commands.md index 49d34875d..0ff13a82e 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -529,6 +529,7 @@ Check column "offline" for their availability. |`hf mf gen3uid `|N |`Set UID without changing manufacturer block` |`hf mf gen3blk `|N |`Overwrite manufacturer block` |`hf mf gen3freeze `|N |`Perma lock UID changes. irreversible` +|`hf mf ginfo `|N |`Info about configuration of the card` |`hf mf ggetblk `|N |`Read block from card` |`hf mf gload `|N |`Load dump to card` |`hf mf gsave `|N |`Save dump from card into file or emulator` From 7afaaf8535e76dce7b23fa56ee97469061c73bdf Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:29:42 +0200 Subject: [PATCH 224/278] style --- client/src/fileutils.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 72850b7fe..5f923e492 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -292,7 +292,7 @@ int saveFileJSONex(const char *preferredName, JSONFileType ftype, uint8_t *data, break; } case jsfMfc_v2: { - + iso14a_mf_extdump_t xdump; memcpy(&xdump, data, sizeof(iso14a_mf_extdump_t)); @@ -1038,7 +1038,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s // 256 + 2 newline chars + 1 null terminator char line[256 + 2 + 1]; memset(line, 0, sizeof(line)); - + udata_t udata = (udata_t)data; int n = 0; uint32_t counter = 0; @@ -1067,14 +1067,14 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s // param_gethex_to_eol(line + 4, 0, udata.mfc->card_info.uid, sizeof(udata.mfc->card_info.uid), &n); } continue; - } + } if (str_startswith(line, "atqa:")) { if (ft == NFC_DF_MFC) { // param_gethex_to_eol(line + 5, 0, udata.mfc->card_info.atqa, sizeof(udata.mfc->card_info.atqa), &n); } continue; - } + } if (str_startswith(line, "sak:")) { if (ft == NFC_DF_MFC) { @@ -1083,7 +1083,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s // udata.mfc->card_info.sak = sak & 0xFF; } continue; - } + } if (str_startswith(line, "signature:")) { if (ft == NFC_DF_MFC) { @@ -1091,7 +1091,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s param_gethex_to_eol(line + 11, 0, udata.mfu->signature, sizeof(udata.mfu->signature), &n); } continue; - } + } if (str_startswith(line, "mifare version:")) { if (ft == NFC_DF_MFC) { @@ -1099,7 +1099,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s param_gethex_to_eol(line + 16, 0, udata.mfu->version, sizeof(udata.mfu->version), &n); } continue; - } + } if (str_startswith(line, "counter 0:")) { int no = 0; @@ -1111,7 +1111,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->counter_tearing[0][2] = no & 0xFF; } continue; - } + } if (str_startswith(line, "tearing 0:")) { if (ft == NFC_DF_MFC) { @@ -1121,7 +1121,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->counter_tearing[0][3] = b & 0xFF; } continue; - } + } if (str_startswith(line, "counter 1:")) { int no = 0; @@ -1133,7 +1133,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->counter_tearing[1][2] = no & 0xFF; } continue; - } + } if (str_startswith(line, "tearing 1:")) { if (ft == NFC_DF_MFC) { @@ -1155,7 +1155,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->counter_tearing[2][2] = no & 0xFF; } continue; - } + } if (str_startswith(line, "tearing 2:")) { if (ft == NFC_DF_MFC) { @@ -1174,7 +1174,7 @@ int loadFileNFC_safe(const char *preferredName, void *data, size_t maxdatalen, s udata.mfu->pages = n; } continue; - } + } // Page 0: 04 10 56 CA if (str_startswith(line, "page ")) { @@ -2317,7 +2317,7 @@ nfc_df_e detect_nfc_dump_format(const char *preferredName, bool verbose) { break; case NFC_DF_PICOPASS: PrintAndLogEx(INFO, "detected PICOPASS based dump format"); - break; + break; case NFC_DF_UNKNOWN: PrintAndLogEx(WARNING, "failed to detected dump format"); break; From 2077ea7da50c95c5a0b211ade9ea0c9e2137d7f5 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:30:13 +0200 Subject: [PATCH 225/278] decode config --- client/src/cmdhfmf.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 47a0bdb74..f35c0be83 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7473,11 +7473,22 @@ static int CmdHF14AGen4Info(const char *cmd) { } PrintAndLogEx(INFO, "---------- Gen4 configuration ----------"); - PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); if (resplen != 30 && resplen != 32) { + PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); PrintAndLogEx(WARNING, "Unknown config format"); return PM3_SUCCESS; } + if (verbose) + PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + + PrintAndLogEx(INFO, "UL protocol: %02x", resp[0]); + PrintAndLogEx(INFO, "UID length: %02x", resp[1]); + PrintAndLogEx(INFO, "Password: %s", sprint_hex_inrow(&resp[2], 4)); + PrintAndLogEx(INFO, "GTU mode: %02x", resp[6]); + PrintAndLogEx(INFO, "ATS [%d]: %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); + PrintAndLogEx(INFO, "ATQA: %02x%02x", resp[25]); + PrintAndLogEx(INFO, "SAK: %02x", resp[26]); + res = mfG4GetFactoryTest(pwd, resp, &resplen, false); if (res == PM3_SUCCESS && resplen > 2) { @@ -7494,7 +7505,6 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "Card type : unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } - return PM3_SUCCESS; } From 4c828f4424943eb0f333db5c3ff83680cece2862 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:35:48 +0200 Subject: [PATCH 226/278] view format --- client/src/cmdhfmf.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index f35c0be83..adc1dd739 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7474,35 +7474,35 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "---------- Gen4 configuration ----------"); if (resplen != 30 && resplen != 32) { - PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw config [%02d] %s", resplen, sprint_hex_inrow(resp, resplen)); PrintAndLogEx(WARNING, "Unknown config format"); return PM3_SUCCESS; } if (verbose) - PrintAndLogEx(INFO, "Raw config [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw config [%02d]. %s", resplen, sprint_hex_inrow(resp, resplen)); - PrintAndLogEx(INFO, "UL protocol: %02x", resp[0]); - PrintAndLogEx(INFO, "UID length: %02x", resp[1]); - PrintAndLogEx(INFO, "Password: %s", sprint_hex_inrow(&resp[2], 4)); - PrintAndLogEx(INFO, "GTU mode: %02x", resp[6]); - PrintAndLogEx(INFO, "ATS [%d]: %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); - PrintAndLogEx(INFO, "ATQA: %02x%02x", resp[25]); - PrintAndLogEx(INFO, "SAK: %02x", resp[26]); + PrintAndLogEx(INFO, "UL protocol..... %02x", resp[0]); + PrintAndLogEx(INFO, "UID length...... %02x", resp[1]); + PrintAndLogEx(INFO, "Password........ %s", sprint_hex_inrow(&resp[2], 4)); + PrintAndLogEx(INFO, "GTU mode........ %02x", resp[6]); + PrintAndLogEx(INFO, "ATS [%02d]........ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); + PrintAndLogEx(INFO, "ATQA............ %02x%02x", resp[25]); + PrintAndLogEx(INFO, "SAK............. %02x", resp[26]); res = mfG4GetFactoryTest(pwd, resp, &resplen, false); if (res == PM3_SUCCESS && resplen > 2) { if (verbose) - PrintAndLogEx(INFO, "Raw test [%02d]: %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw test [%02d]... %s", resplen, sprint_hex_inrow(resp, resplen)); if (resp[resplen - 2] == 0x66 && resp[resplen - 1] == 0x66) - PrintAndLogEx(INFO, "Card type : generic"); + PrintAndLogEx(INFO, "Card type....... generic"); else if (resp[resplen - 2] == 0x02 && resp[resplen - 1] == 0xaa) - PrintAndLogEx(INFO, "Card type : limited functionality"); + PrintAndLogEx(INFO, "Card type....... limited functionality"); else if (resp[resplen - 2] == 0x06 && resp[resplen - 1] == 0xa0) - PrintAndLogEx(INFO, "Card type : broken functionality"); + PrintAndLogEx(INFO, "Card type....... broken functionality"); else - PrintAndLogEx(INFO, "Card type : unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); + PrintAndLogEx(INFO, "Card type....... unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } return PM3_SUCCESS; From c6bf1cefe32058fa221b71906c8b46c3f1d11d7a Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:45:14 +0200 Subject: [PATCH 227/278] fix format --- client/src/cmdhfmf.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index adc1dd739..be770be15 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7479,30 +7479,33 @@ static int CmdHF14AGen4Info(const char *cmd) { return PM3_SUCCESS; } if (verbose) - PrintAndLogEx(INFO, "Raw config [%02d]. %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw config [%02d]..... %s", resplen, sprint_hex_inrow(resp, resplen)); - PrintAndLogEx(INFO, "UL protocol..... %02x", resp[0]); - PrintAndLogEx(INFO, "UID length...... %02x", resp[1]); - PrintAndLogEx(INFO, "Password........ %s", sprint_hex_inrow(&resp[2], 4)); - PrintAndLogEx(INFO, "GTU mode........ %02x", resp[6]); - PrintAndLogEx(INFO, "ATS [%02d]........ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); - PrintAndLogEx(INFO, "ATQA............ %02x%02x", resp[25]); - PrintAndLogEx(INFO, "SAK............. %02x", resp[26]); + PrintAndLogEx(INFO, "UL protocol......... %02x", resp[0]); + PrintAndLogEx(INFO, "UID length.......... %02x", resp[1]); + PrintAndLogEx(INFO, "Password............ %s", sprint_hex_inrow(&resp[2], 4)); + PrintAndLogEx(INFO, "GTU mode............ %02x", resp[6]); + PrintAndLogEx(INFO, "ATS [%02d]............ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); + PrintAndLogEx(INFO, "ATQA................ %02x%02x", resp[24], resp[25]); + PrintAndLogEx(INFO, "SAK................. %02x", resp[26]); + PrintAndLogEx(INFO, "UL mode............. %02x", resp[27]); + PrintAndLogEx(INFO, "max rd/wr sectors... %02x", resp[28]); + PrintAndLogEx(INFO, "block0 direct wr.... %02x", resp[29]); res = mfG4GetFactoryTest(pwd, resp, &resplen, false); if (res == PM3_SUCCESS && resplen > 2) { if (verbose) - PrintAndLogEx(INFO, "Raw test [%02d]... %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw test [%02d]....... %s", resplen, sprint_hex_inrow(resp, resplen)); if (resp[resplen - 2] == 0x66 && resp[resplen - 1] == 0x66) - PrintAndLogEx(INFO, "Card type....... generic"); + PrintAndLogEx(INFO, "Card type........... generic"); else if (resp[resplen - 2] == 0x02 && resp[resplen - 1] == 0xaa) - PrintAndLogEx(INFO, "Card type....... limited functionality"); + PrintAndLogEx(INFO, "Card type........... limited functionality"); else if (resp[resplen - 2] == 0x06 && resp[resplen - 1] == 0xa0) - PrintAndLogEx(INFO, "Card type....... broken functionality"); + PrintAndLogEx(INFO, "Card type........... broken functionality"); else - PrintAndLogEx(INFO, "Card type....... unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); + PrintAndLogEx(INFO, "Card type........... unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } return PM3_SUCCESS; From 69130384db6f61e9e8303d1a14249640b2bbf704 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:48:18 +0200 Subject: [PATCH 228/278] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 490d96463..f73a36179 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `hf mf ginfo` command for get info about Gen4 GTU configuration (@merlokk) - Added support for loading Flipper PICOPASS dump files (@iceman1001) - Fixed unknown chip identification (@jmichelp) - Fixed `nfc decode` - now properly handles MFU dump files (@iceman1001) From 3a0002d403e11ffc0efb38fe87abc58fe1d82d76 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 00:49:57 +0200 Subject: [PATCH 229/278] revert extensions --- .vscode/extensions.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index e9b75675f..85b3997e2 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,6 +3,7 @@ // for the documentation about the extensions.json format "recommendations": [ "ms-vscode.cpptools", + "austin.code-gnu-global", "marus25.cortex-debug", "augustocdias.tasks-shell-input" ] From 0a22fd8f66fd13cb46bb4ef4d5993edff3aa0452 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:25:13 +0200 Subject: [PATCH 230/278] uid len details --- client/src/cmdhfmf.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index be770be15..bab7b9fee 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7482,7 +7482,21 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "Raw config [%02d]..... %s", resplen, sprint_hex_inrow(resp, resplen)); PrintAndLogEx(INFO, "UL protocol......... %02x", resp[0]); - PrintAndLogEx(INFO, "UID length.......... %02x", resp[1]); + PrintAndLogEx(INFO, "UID length.......... %02x" NOLF, resp[1]); + switch (resp[1]){ + case 0x01: + PrintAndLogEx(NORMAL, " (4 byte)"); + break; + case 0x01: + PrintAndLogEx(NORMAL, " (7 byte)"); + break; + case 0x02: + PrintAndLogEx(NORMAL, " (10 byte)"); + break; + default: + PrintAndLogEx(NORMAL, " (unknown %02x)", resp[1]); + break; + } PrintAndLogEx(INFO, "Password............ %s", sprint_hex_inrow(&resp[2], 4)); PrintAndLogEx(INFO, "GTU mode............ %02x", resp[6]); PrintAndLogEx(INFO, "ATS [%02d]............ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); From b44c214009c5c56e5f292f4a82c0366b81735a75 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:28:37 +0200 Subject: [PATCH 231/278] fix --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index bab7b9fee..06fb8c324 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7484,7 +7484,7 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "UL protocol......... %02x", resp[0]); PrintAndLogEx(INFO, "UID length.......... %02x" NOLF, resp[1]); switch (resp[1]){ - case 0x01: + case 0x00: PrintAndLogEx(NORMAL, " (4 byte)"); break; case 0x01: From 85e38ddc388cc0e7b0609222b6203746344d104d Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 6 Nov 2023 16:35:43 +0800 Subject: [PATCH 232/278] Add --ms option in hw status To specify the timeout of connection speed test --- armsrc/appmain.c | 15 +++++++++------ armsrc/appmain.h | 3 +++ client/src/cmdhw.c | 16 +++++++++++++--- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 0162fae80..90fae6d17 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -369,11 +369,10 @@ static void print_debug_level(void) { // measure the Connection Speed by sending SpeedTestBufferSize bytes to client and measuring the elapsed time. // Note: this mimics GetFromBigbuf(), i.e. we have the overhead of the PacketCommandNG structure included. -static void printConnSpeed(void) { +static void printConnSpeed(uint32_t testTimeout) { DbpString(_CYAN_("Transfer Speed")); Dbprintf(" Sending packets to client..."); -#define CONN_SPEED_TEST_MIN_TIME 500 // in milliseconds uint8_t *test_data = BigBuf_get_addr(); uint32_t start_time = GetTickCount(); uint32_t delta_time = 0; @@ -381,7 +380,7 @@ static void printConnSpeed(void) { LED_B_ON(); - while (delta_time < CONN_SPEED_TEST_MIN_TIME) { + while (delta_time < testTimeout) { reply_ng(CMD_DOWNLOADED_BIGBUF, PM3_SUCCESS, test_data, PM3_CMD_DATA_SIZE); bytes_transferred += PM3_CMD_DATA_SIZE; delta_time = GetTickCountDelta(start_time); @@ -396,7 +395,7 @@ static void printConnSpeed(void) { /** * Prints runtime information about the PM3. **/ -static void SendStatus(void) { +static void SendStatus(int32_t speedTestTimeout) { BigBuf_print_status(); Fpga_print_status(); #ifdef WITH_FLASH @@ -412,7 +411,7 @@ static void SendStatus(void) { #ifdef WITH_ISO14443a printHf14aConfig(); // HF 14a config #endif - printConnSpeed(); + printConnSpeed(speedTestTimeout); DbpString(_CYAN_("Various")); print_stack_usage(); @@ -2663,7 +2662,11 @@ static void PacketReceived(PacketCommandNG *packet) { break; } case CMD_STATUS: { - SendStatus(); + Dbprintf("Packet Len:%d", packet->length); + if (packet->length == 4) + SendStatus(packet->data.asDwords[0]); + else + SendStatus(CONN_SPEED_TEST_MIN_TIME_DEFAULT); break; } case CMD_TIA: { diff --git a/armsrc/appmain.h b/armsrc/appmain.h index 815245b04..fdc520f5f 100644 --- a/armsrc/appmain.h +++ b/armsrc/appmain.h @@ -37,6 +37,9 @@ int tearoff_hook(void); // ADC Vref = 3300mV, (240k-10M):240k voltage divider, 140800 mV #define MAX_ADC_LF_VOLTAGE 140800 +// Default connection speed test timeout, used in hw status +#define CONN_SPEED_TEST_MIN_TIME_DEFAULT 500 // in milliseconds + extern int ToSendMax; extern uint8_t ToSend[]; diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index c591e1703..257122744 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -812,19 +812,29 @@ static int CmdStatus(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hw status", "Show runtime status information about the connected Proxmark3", - "hw status" + "hw status\n" + "hw status -t 1000 -> Test connection speed with 1000ms timeout\n" ); void *argtable[] = { arg_param_begin, + arg_int0("m", "ms", "", "speed test timeout in micro seconds"), arg_param_end }; CLIExecWithReturn(ctx, Cmd, argtable, true); + int32_t speedTestTimeout = arg_get_int_def(ctx, 1, -1); CLIParserFree(ctx); + clearCommandBuffer(); PacketResponseNG resp; - SendCommandNG(CMD_STATUS, NULL, 0); - if (WaitForResponseTimeout(CMD_STATUS, &resp, 2000) == false) { + if (speedTestTimeout < 0) { + speedTestTimeout = 0; + SendCommandNG(CMD_STATUS, NULL, 0); + } else { + SendCommandNG(CMD_STATUS, (uint8_t *)&speedTestTimeout, sizeof(speedTestTimeout)); + } + + if (WaitForResponseTimeout(CMD_STATUS, &resp, 2000 + speedTestTimeout) == false) { PrintAndLogEx(WARNING, "Status command timeout. Communication speed test timed out"); return PM3_ETIMEOUT; } From 6ac01e4db4d192ec8851dae5b980117d9cb7e13a Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 6 Nov 2023 16:43:37 +0800 Subject: [PATCH 233/278] Change some entries in CHANGELOG.md Add a new entry for the new feature Add 2 missing entries (#1654, #1655) Change the description of a entry --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f73a36179..401621458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `--ms` option in `hw status` to specify the timeout of connection speed test (@wh201906) - Added `hf mf ginfo` command for get info about Gen4 GTU configuration (@merlokk) - Added support for loading Flipper PICOPASS dump files (@iceman1001) - Fixed unknown chip identification (@jmichelp) @@ -101,7 +102,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Fixed compiling liblua on iOS (@The-SamminAter) - Changed `hf_mf_luxeo_dump.lua` - now have list of keys to iterate (@iceman1001) - Fixed the timeout of TCP connections (@wh201906) - - Changed the connection timeout configurable (@wh201906) + - Added `hw timeout` - make the connection timeout configurable (@wh201906) ## [Seven.4.16717][2023-06-25] - Change `hf 14a info` - now identifes QL88 tags (@iceman1001) @@ -341,6 +342,8 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac - Added new standalone mode `lf_em4100rsww` (@zabszk) - Fixed `hf 15 slixdisable` wrong pass id (@r1ddl3rz) - Added `script run hf_mf_hid_sim.lua` (@micsen) + - Added flashmem support in `HF_14BSNIFF` standalone mode (@wh201906) + - Changed `HF_14ASNIFF` standalone mode - now supports Proxmark3 without flashmem (@wh201906) ## [Frostbit.4.14831][2022-01-11] - Changed Wiegand format lookup - now case-insensitive (@iceman1001) From 2d48e33a9901b083c3b212f11f4b519a26417659 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Mon, 6 Nov 2023 18:44:19 +0800 Subject: [PATCH 234/278] Some small fix --- armsrc/appmain.c | 1 - client/src/cmdhw.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 90fae6d17..ef5e06179 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -2662,7 +2662,6 @@ static void PacketReceived(PacketCommandNG *packet) { break; } case CMD_STATUS: { - Dbprintf("Packet Len:%d", packet->length); if (packet->length == 4) SendStatus(packet->data.asDwords[0]); else diff --git a/client/src/cmdhw.c b/client/src/cmdhw.c index 257122744..d0a7102cf 100644 --- a/client/src/cmdhw.c +++ b/client/src/cmdhw.c @@ -813,7 +813,7 @@ static int CmdStatus(const char *Cmd) { CLIParserInit(&ctx, "hw status", "Show runtime status information about the connected Proxmark3", "hw status\n" - "hw status -t 1000 -> Test connection speed with 1000ms timeout\n" + "hw status --ms 1000 -> Test connection speed with 1000ms timeout\n" ); void *argtable[] = { From c215752b6ed120d03167005991819d6ecad0e769 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:51:56 +0200 Subject: [PATCH 235/278] add some hints on the ginfo config values and double-check correctness --- client/src/cmdhfmf.c | 109 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 99 insertions(+), 10 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 06fb8c324..b61e1b52c 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7481,7 +7481,20 @@ static int CmdHF14AGen4Info(const char *cmd) { if (verbose) PrintAndLogEx(INFO, "Raw config [%02d]..... %s", resplen, sprint_hex_inrow(resp, resplen)); - PrintAndLogEx(INFO, "UL protocol......... %02x", resp[0]); + PrintAndLogEx(INFO, "UL protocol......... %02x" NOLF, resp[0]); + switch (resp[0]){ + case 0x00: + PrintAndLogEx(NORMAL, " (MIFARE Classic mode)"); + break; + case 0x01: + PrintAndLogEx(NORMAL, " (MIFARE Ultralight/NTAG mode)"); + break; + default: + PrintAndLogEx(NORMAL, " (unknown %02x)", resp[0]); + break; + } + + uint8_t uid_len = resp[1]; PrintAndLogEx(INFO, "UID length.......... %02x" NOLF, resp[1]); switch (resp[1]){ case 0x00: @@ -7497,20 +7510,74 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(NORMAL, " (unknown %02x)", resp[1]); break; } - PrintAndLogEx(INFO, "Password............ %s", sprint_hex_inrow(&resp[2], 4)); - PrintAndLogEx(INFO, "GTU mode............ %02x", resp[6]); - PrintAndLogEx(INFO, "ATS [%02d]............ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); - PrintAndLogEx(INFO, "ATQA................ %02x%02x", resp[24], resp[25]); - PrintAndLogEx(INFO, "SAK................. %02x", resp[26]); - PrintAndLogEx(INFO, "UL mode............. %02x", resp[27]); - PrintAndLogEx(INFO, "max rd/wr sectors... %02x", resp[28]); - PrintAndLogEx(INFO, "block0 direct wr.... %02x", resp[29]); + PrintAndLogEx(INFO, "Password............ %s", sprint_hex_inrow(&resp[2], 4)); + + PrintAndLogEx(INFO, "GTU mode............ %02x" NOLF, resp[6]); + switch (resp[6]){ + case 0x00: + PrintAndLogEx(NORMAL, " (pre-write, shadow data can be written)"); + break; + case 0x01: + PrintAndLogEx(NORMAL, " (restore mode)"); + break; + case 0x02: + PrintAndLogEx(NORMAL, " (disabled)"); + break; + case 0x03: + PrintAndLogEx(NORMAL, " (disabled, high speed R/W mode for Ultralight?)"); + break; + default: + PrintAndLogEx(NORMAL, " (unknown %02x)", resp[6]); + break; + } + + PrintAndLogEx(INFO, "ATS [%02d]............ %s", resp[7], sprint_hex_inrow(&resp[8], resp[7])); + PrintAndLogEx(INFO, "ATQA................ %02x%02x", resp[25], resp[24]); + PrintAndLogEx(INFO, "SAK................. %02x", resp[26]); + + PrintAndLogEx(INFO, "UL mode............. %02x" NOLF, resp[27]); + switch (resp[27]){ + case 0x00: + PrintAndLogEx(NORMAL, " (UL EV1)"); + break; + case 0x01: + PrintAndLogEx(NORMAL, " (NTAG)"); + break; + case 0x02: + PrintAndLogEx(NORMAL, " (UL-C)"); + break; + case 0x03: + PrintAndLogEx(NORMAL, " (UL)"); + break; + default: + PrintAndLogEx(NORMAL, " (unknown %02x)", resp[27]); + break; + } + + PrintAndLogEx(INFO, "max rd/wr sectors... %02x", resp[28]); + PrintAndLogEx(INFO, "block0 direct wr.... %02x" NOLF, resp[29]); + switch (resp[29]){ + case 0x00: + PrintAndLogEx(NORMAL, " (Activate direct write to block 0 (Same behaviour of Gen2 cards. Some readers may identify the card as magic))"); + break; + case 0x01: + PrintAndLogEx(NORMAL, " (Deactivate direct write to block 0 (Same behaviour of vanilla cards))"); + break; + case 0x02: + PrintAndLogEx(NORMAL, " (Default value. Same behaviour as 00?"); + break; + default: + PrintAndLogEx(NORMAL, " (unknown %02x)", resp[29]); + break; + } res = mfG4GetFactoryTest(pwd, resp, &resplen, false); if (res == PM3_SUCCESS && resplen > 2) { - if (verbose) + if (verbose) { + PrintAndLogEx(INFO, ""); PrintAndLogEx(INFO, "Raw test [%02d]....... %s", resplen, sprint_hex_inrow(resp, resplen)); + } if (resp[resplen - 2] == 0x66 && resp[resplen - 1] == 0x66) PrintAndLogEx(INFO, "Card type........... generic"); @@ -7522,6 +7589,28 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "Card type........... unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } + // read block 0 + res = mfG4GetBlock(pwd, 0, resp, MAGIC_INIT | MAGIC_OFF); + if (res == PM3_SUCCESS) { + PrintAndLogEx(INFO, ""); + PrintAndLogEx(INFO, "Block 0............. %s", sprint_hex_inrow(resp, 16)); + + switch (uid_len){ + case 0x00: + PrintAndLogEx(INFO, "UID [4]............. %s", sprint_hex(resp, 4)); + break; + case 0x01: + PrintAndLogEx(INFO, "UID [7]............. %s", sprint_hex(resp, 7)); + break; + case 0x02: + PrintAndLogEx(INFO, "UID [10]............ %s", sprint_hex(resp, 10)); + break; + default: + break; + } + } + + return PM3_SUCCESS; } From f617cac9936c6c498632b573c6a10d02ade2c45a Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:55:49 +0200 Subject: [PATCH 236/278] fix password parameter in the command --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index b61e1b52c..a3c20193d 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7453,7 +7453,7 @@ static int CmdHF14AGen4Info(const char *cmd) { int pwd_len = 0; uint8_t pwd[4] = {0}; - CLIGetHexWithReturn(ctx, 3, pwd, &pwd_len); + CLIGetHexWithReturn(ctx, 2, pwd, &pwd_len); CLIParserFree(ctx); if (pwd_len != 0 && pwd_len != 4) { From e32ca560844e741cf0cbb0da6c8c668f6e4a12a9 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 14:22:21 +0200 Subject: [PATCH 237/278] gen4 commands refactoring --- client/CMakeLists.txt | 1 + client/Makefile | 1 + client/src/cmdhfmf.c | 1 + client/src/mifare/gen4.c | 197 +++++++++++++++++++++++++++++++++ client/src/mifare/gen4.h | 8 ++ client/src/mifare/mifarehost.c | 164 --------------------------- client/src/mifare/mifarehost.h | 6 - 7 files changed, 208 insertions(+), 170 deletions(-) create mode 100644 client/src/mifare/gen4.c diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index acf079f70..f14b2d50f 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -279,6 +279,7 @@ set (TARGET_SOURCES ${PM3_ROOT}/client/src/mifare/mifare4.c ${PM3_ROOT}/client/src/mifare/mifaredefault.c ${PM3_ROOT}/client/src/mifare/mifarehost.c + ${PM3_ROOT}/client/src/mifare/gen4.c ${PM3_ROOT}/client/src/nfc/ndef.c ${PM3_ROOT}/client/src/mifare/lrpcrypto.c ${PM3_ROOT}/client/src/mifare/desfirecrypto.c diff --git a/client/Makefile b/client/Makefile index 94ad5079b..0d4f73928 100644 --- a/client/Makefile +++ b/client/Makefile @@ -703,6 +703,7 @@ SRCS = mifare/aiddesfire.c \ mifare/mifare4.c \ mifare/mifaredefault.c \ mifare/mifarehost.c \ + mifare/gen4.c \ nfc/ndef.c \ pm3.c \ pm3_binlib.c \ diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index a3c20193d..85d24bba9 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -39,6 +39,7 @@ #include "cmdhw.h" // set_fpga_mode #include "loclass/cipherutils.h" // BitstreamOut_t #include "proxendian.h" +#include "mifare/gen4.h" static int CmdHelp(const char *Cmd); diff --git a/client/src/mifare/gen4.c b/client/src/mifare/gen4.c new file mode 100644 index 000000000..7dfff509f --- /dev/null +++ b/client/src/mifare/gen4.c @@ -0,0 +1,197 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- +// Common functionality for low/high-frequency GALLAGHER tag encoding & decoding. +//----------------------------------------------------------------------------- +#include "gen4.h" + +#include +#include +#include +#include + +#include "commonutil.h" +#include "util.h" +#include "ui.h" +#include "mifaredefault.h" +#include "comms.h" +#include "cmdhf14a.h" +#include "protocols.h" +#include "mfkey.h" +#include "util_posix.h" +#include "cmdparser.h" + +static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datalen, uint8_t *response, size_t *responselen, bool verbose) { + struct p { + uint8_t cmdheader; + uint8_t pwd[4]; + uint8_t command; + uint8_t data[32]; + } PACKED payload; + memset(&payload, 0, sizeof(payload)); + + if (datalen > sizeof(payload.data)) { + return PM3_EINVARG; + } + + payload.cmdheader = 0xCF; + payload.command = cmd; + if (pwd != NULL) { + memcpy(payload.pwd, pwd, sizeof(payload.pwd)); + } + if (data != NULL && datalen > 0) { + memcpy(payload.data, data, datalen); + } + + int resplen = 0; + + clearCommandBuffer(); + SendCommandOLD(CMD_HF_ISO14443A_READER, ISO14A_CONNECT | ISO14A_RAW | ISO14A_NO_RATS | ISO14A_APPEND_CRC, 6 + datalen, 0, (uint8_t *)&payload, 6 + datalen); + + PacketResponseNG resp; + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + if (resp.oldarg[0] != 2) { + if (verbose) PrintAndLogEx(ERR, "No card in the field."); + return PM3_ETIMEOUT; + } + + iso14a_card_select_t card; + memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); + if (verbose) { + PrintAndLogEx(SUCCESS, " UID: " _GREEN_("%s"), sprint_hex(card.uid, card.uidlen)); + PrintAndLogEx(SUCCESS, "ATQA: " _GREEN_("%02X %02X"), card.atqa[1], card.atqa[0]); + PrintAndLogEx(SUCCESS, " SAK: " _GREEN_("%02X [%" PRIu64 "]"), card.sak, resp.oldarg[0]); + } + } else { + if (verbose) PrintAndLogEx(ERR, "No card in the field."); + return PM3_ETIMEOUT; + } + + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + resplen = resp.oldarg[0]; + + if (!resplen) { + if (verbose) PrintAndLogEx(ERR, "No card response."); + return PM3_EFAILED; + } + + resplen = resplen - 2; // 14A CRC + if (resplen < 0) + resplen = 0; + + if (resplen > 40) { + if (verbose) PrintAndLogEx(ERR, "Buffer too small(%d).", resplen); + return PM3_EOVFLOW; + } + + if (response != NULL) + memcpy(response, resp.data.asBytes, resplen); + + if (responselen != NULL) + *responselen = resplen; + + return PM3_SUCCESS; + } else { + if (verbose) PrintAndLogEx(ERR, "Reply timeout."); + return PM3_ETIMEOUT; + } +} + +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { + uint8_t resp[40] = {0}; + size_t resplen = 0; + + int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen, verbose); + if (res != PM3_SUCCESS) { + return res; + } + + if (data != NULL) + memcpy(data, resp, resplen); + + if (datalen != NULL) + *datalen = resplen; + + return PM3_SUCCESS; +} + +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { + uint8_t resp[40] = {0}; + size_t resplen = 0; + + int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen, verbose); + if (res != PM3_SUCCESS) { + return res; + } + + if (data != NULL) + memcpy(data, resp, resplen); + + if (datalen != NULL) + *datalen = resplen; + + return PM3_SUCCESS; +} + +int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { + struct p { + uint8_t blockno; + uint8_t pwd[4]; + uint8_t workFlags; + } PACKED payload; + payload.blockno = blockno; + memcpy(payload.pwd, pwd, sizeof(payload.pwd)); + payload.workFlags = workFlags; + + clearCommandBuffer(); + SendCommandNG(CMD_HF_MIFARE_G4_RDBL, (uint8_t *)&payload, sizeof(payload)); + PacketResponseNG resp; + if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_RDBL, &resp, 1500)) { + if (resp.status != PM3_SUCCESS) { + return PM3_EUNDEF; + } + memcpy(data, resp.data.asBytes, MFBLOCK_SIZE); + } else { + PrintAndLogEx(WARNING, "command execute timeout"); + return PM3_ETIMEOUT; + } + return PM3_SUCCESS; +} + +int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { + struct p { + uint8_t blockno; + uint8_t pwd[4]; + uint8_t data[MFBLOCK_SIZE]; + uint8_t workFlags; + } PACKED payload; + payload.blockno = blockno; + memcpy(payload.pwd, pwd, sizeof(payload.pwd)); + memcpy(payload.data, data, sizeof(payload.data)); + payload.workFlags = workFlags; + + clearCommandBuffer(); + SendCommandNG(CMD_HF_MIFARE_G4_WRBL, (uint8_t *)&payload, sizeof(payload)); + PacketResponseNG resp; + if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_WRBL, &resp, 1500)) { + if (resp.status != PM3_SUCCESS) { + return PM3_EUNDEF; + } + } else { + PrintAndLogEx(WARNING, "command execute timeout"); + return PM3_ETIMEOUT; + } + return PM3_SUCCESS; +} diff --git a/client/src/mifare/gen4.h b/client/src/mifare/gen4.h index 3a2ab0947..3cdc7daf1 100644 --- a/client/src/mifare/gen4.h +++ b/client/src/mifare/gen4.h @@ -18,6 +18,8 @@ #ifndef __GEN4_H #define __GEN4_H +#include "common.h" + #define GEN4_CMD_CONFIG_GTU 0x32 #define GEN4_CMD_CONFIG_ATS 0x34 #define GEN4_CMD_CONFIG_ATQA_SAK 0x35 @@ -34,4 +36,10 @@ #define GEN4_CMD_SET_CONFIG_PERMANENT 0xF1 #define GEN4_CMD_CHANGE_PASSWORD 0xFE +int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); +int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); + +int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); +int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); + #endif diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index 7ff786832..13d925fdd 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -1175,170 +1175,6 @@ int mfGen3Freeze(void) { } } -static int mfG4ExCommand(uint8_t cmd, uint8_t *pwd, uint8_t *data, size_t datalen, uint8_t *response, size_t *responselen, bool verbose) { - struct p { - uint8_t cmdheader; - uint8_t pwd[4]; - uint8_t command; - uint8_t data[32]; - } PACKED payload; - memset(&payload, 0, sizeof(payload)); - - if (datalen > sizeof(payload.data)) { - return PM3_EINVARG; - } - - payload.cmdheader = 0xCF; - payload.command = cmd; - if (pwd != NULL) { - memcpy(payload.pwd, pwd, sizeof(payload.pwd)); - } - if (data != NULL && datalen > 0) { - memcpy(payload.data, data, datalen); - } - - int resplen = 0; - - clearCommandBuffer(); - SendCommandOLD(CMD_HF_ISO14443A_READER, ISO14A_CONNECT | ISO14A_RAW | ISO14A_NO_RATS | ISO14A_APPEND_CRC, 6 + datalen, 0, (uint8_t *)&payload, 6 + datalen); - - PacketResponseNG resp; - if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { - if (resp.oldarg[0] != 2) { - if (verbose) PrintAndLogEx(ERR, "No card in the field."); - return PM3_ETIMEOUT; - } - - iso14a_card_select_t card; - memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); - if (verbose) { - PrintAndLogEx(SUCCESS, " UID: " _GREEN_("%s"), sprint_hex(card.uid, card.uidlen)); - PrintAndLogEx(SUCCESS, "ATQA: " _GREEN_("%02X %02X"), card.atqa[1], card.atqa[0]); - PrintAndLogEx(SUCCESS, " SAK: " _GREEN_("%02X [%" PRIu64 "]"), card.sak, resp.oldarg[0]); - } - } else { - if (verbose) PrintAndLogEx(ERR, "No card in the field."); - return PM3_ETIMEOUT; - } - - if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { - resplen = resp.oldarg[0]; - - if (!resplen) { - if (verbose) PrintAndLogEx(ERR, "No card response."); - return PM3_EFAILED; - } - - resplen = resplen - 2; // 14A CRC - if (resplen < 0) - resplen = 0; - - if (resplen > 40) { - if (verbose) PrintAndLogEx(ERR, "Buffer too small(%d).", resplen); - return PM3_EOVFLOW; - } - - if (response != NULL) - memcpy(response, resp.data.asBytes, resplen); - - if (responselen != NULL) - *responselen = resplen; - - return PM3_SUCCESS; - } else { - if (verbose) PrintAndLogEx(ERR, "Reply timeout."); - return PM3_ETIMEOUT; - } -} - -int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { - uint8_t resp[40] = {0}; - size_t resplen = 0; - - int res = mfG4ExCommand(GEN4_CMD_DUMP_CONFIG, pwd, NULL, 0, resp, &resplen, verbose); - if (res != PM3_SUCCESS) { - return res; - } - - if (data != NULL) - memcpy(data, resp, resplen); - - if (datalen != NULL) - *datalen = resplen; - - return PM3_SUCCESS; -} - -int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose) { - uint8_t resp[40] = {0}; - size_t resplen = 0; - - int res = mfG4ExCommand(GEN4_CMD_FACTORY_TEST, pwd, NULL, 0, resp, &resplen, verbose); - if (res != PM3_SUCCESS) { - return res; - } - - if (data != NULL) - memcpy(data, resp, resplen); - - if (datalen != NULL) - *datalen = resplen; - - return PM3_SUCCESS; -} - -int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { - struct p { - uint8_t blockno; - uint8_t pwd[4]; - uint8_t workFlags; - } PACKED payload; - payload.blockno = blockno; - memcpy(payload.pwd, pwd, sizeof(payload.pwd)); - payload.workFlags = workFlags; - - clearCommandBuffer(); - SendCommandNG(CMD_HF_MIFARE_G4_RDBL, (uint8_t *)&payload, sizeof(payload)); - PacketResponseNG resp; - if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_RDBL, &resp, 1500)) { - if (resp.status != PM3_SUCCESS) { - return PM3_EUNDEF; - } - memcpy(data, resp.data.asBytes, MFBLOCK_SIZE); - } else { - PrintAndLogEx(WARNING, "command execute timeout"); - return PM3_ETIMEOUT; - } - return PM3_SUCCESS; -} - -int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { - struct p { - uint8_t blockno; - uint8_t pwd[4]; - uint8_t data[MFBLOCK_SIZE]; - uint8_t workFlags; - } PACKED payload; - payload.blockno = blockno; - memcpy(payload.pwd, pwd, sizeof(payload.pwd)); - memcpy(payload.data, data, sizeof(payload.data)); - payload.workFlags = workFlags; - - clearCommandBuffer(); - SendCommandNG(CMD_HF_MIFARE_G4_WRBL, (uint8_t *)&payload, sizeof(payload)); - PacketResponseNG resp; - if (WaitForResponseTimeout(CMD_HF_MIFARE_G4_WRBL, &resp, 1500)) { - if (resp.status != PM3_SUCCESS) { - return PM3_EUNDEF; - } - } else { - PrintAndLogEx(WARNING, "command execute timeout"); - return PM3_ETIMEOUT; - } - return PM3_SUCCESS; -} - - // variables uint32_t cuid = 0; // uid part used for crypto1. diff --git a/client/src/mifare/mifarehost.h b/client/src/mifare/mifarehost.h index dedf7f5ea..6f131f924 100644 --- a/client/src/mifare/mifarehost.h +++ b/client/src/mifare/mifarehost.h @@ -96,12 +96,6 @@ int mfGen3UID(uint8_t *uid, uint8_t uidlen, uint8_t *oldUid); int mfGen3Block(uint8_t *block, int blockLen, uint8_t *newBlock); int mfGen3Freeze(void); -int mfG4GetConfig(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); -int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbose); - -int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); -int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); - int tryDecryptWord(uint32_t nt, uint32_t ar_enc, uint32_t at_enc, uint8_t *data, int len); int detect_classic_prng(void); From 660622568630439d0f576577912eddf4c2d5dbd3 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 15:48:18 +0200 Subject: [PATCH 238/278] add change password command --- client/src/cmdhfmf.c | 49 ++++++++++++++++++++++++++++++++++++++++ client/src/mifare/gen4.c | 12 ++++++++++ client/src/mifare/gen4.h | 2 ++ 3 files changed, 63 insertions(+) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 85d24bba9..4582e423a 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8229,6 +8229,54 @@ static int CmdHF14AGen4Save(const char *Cmd) { return PM3_SUCCESS; } +// change Gent4 GTU card access password +static int CmdHF14AGen4ChangePwd(const char *Cmd) { + + CLIParserContext *ctx; + CLIParserInit(&ctx, "hf mf gchpwd", + "Save `magic gen4 gtu` card memory to file (bin/json)", + "hf mf gchpwd --pwd 00000000 --newpwd 01020304" + ); + void *argtable[] = { + arg_param_begin, + arg_str0("p", "pwd", "", "password 4 bytes"), + arg_str0("n", "newpwd", "", "new password 4 bytes"), + arg_lit0("v", "verbose", "verbose output"), + arg_param_end + }; + CLIExecWithReturn(ctx, Cmd, argtable, false); + + int pwd_len = 0; + uint8_t pwd[4] = {0}; + CLIGetHexWithReturn(ctx, 1, pwd, &pwd_len); + + int new_pwd_len = 0; + uint8_t new_pwd[4] = {0}; + CLIGetHexWithReturn(ctx, 2, new_pwd, &new_pwd_len); + + bool verbose = arg_get_lit(ctx, 3); + + if (pwd_len != 4) { + PrintAndLogEx(FAILED, "Old password must be 4 bytes long, got " _YELLOW_("%u"), pwd_len); + return PM3_EINVARG; + } + + if (new_pwd_len != 4) { + PrintAndLogEx(FAILED, "New password must be 4 bytes long, got " _YELLOW_("%u"), new_pwd_len); + return PM3_EINVARG; + } + + int res = mfG4ChangePassword(pwd, new_pwd, verbose); + if (res != PM3_SUCCESS) { + PrintAndLogEx(ERROR, "Change password error"); + return res; + } + + PrintAndLogEx(SUCCESS, "Change password done successfully."); + + return PM3_SUCCESS; +} + static int CmdHF14AGen4_GDM_Cfg(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf gdmcfg", @@ -8876,6 +8924,7 @@ static command_t CommandTable[] = { {"gsave", CmdHF14AGen4Save, IfPm3Iso14443a, "Save dump from card into file or emulator"}, {"gsetblk", CmdHF14AGen4SetBlk, IfPm3Iso14443a, "Write block to card"}, {"gview", CmdHF14AGen4View, IfPm3Iso14443a, "View card"}, + {"gchpwd", CmdHF14AGen4ChangePwd, IfPm3Iso14443a, "Change card access password. Warning!"}, {"-----------", CmdHelp, IfPm3Iso14443a, "-------------------- " _CYAN_("magic gen4 GDM") " --------------------------"}, {"gdmcfg", CmdHF14AGen4_GDM_Cfg, IfPm3Iso14443a, "Read config block from card"}, {"gdmsetcfg", CmdHF14AGen4_GDM_SetCfg, IfPm3Iso14443a, "Write config block to card"}, diff --git a/client/src/mifare/gen4.c b/client/src/mifare/gen4.c index 7dfff509f..5846c2a40 100644 --- a/client/src/mifare/gen4.c +++ b/client/src/mifare/gen4.c @@ -145,6 +145,18 @@ int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbos return PM3_SUCCESS; } +int mfG4ChangePassword(uint8_t *pwd, uint8_t *newpwd, bool verbose) { + uint8_t resp[40] = {0}; + size_t resplen = 0; + + int res = mfG4ExCommand(GEN4_CMD_CHANGE_PASSWORD, pwd, newpwd, 4, resp, &resplen, verbose); + if (res != PM3_SUCCESS) { + return res; + } + + return PM3_SUCCESS; +} + int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags) { struct p { uint8_t blockno; diff --git a/client/src/mifare/gen4.h b/client/src/mifare/gen4.h index 3cdc7daf1..b4e22fb98 100644 --- a/client/src/mifare/gen4.h +++ b/client/src/mifare/gen4.h @@ -42,4 +42,6 @@ int mfG4GetFactoryTest(uint8_t *pwd, uint8_t *data, size_t *datalen, bool verbos int mfG4GetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); int mfG4SetBlock(uint8_t *pwd, uint8_t blockno, uint8_t *data, uint8_t workFlags); +int mfG4ChangePassword(uint8_t *pwd, uint8_t *newpwd, bool verbose); + #endif From c1bc926e24789ea18c58e0439aa1f7cb758af51c Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 15:49:26 +0200 Subject: [PATCH 239/278] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 401621458..6b46e72c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `hf mf gchpwd` command for change Gen4 GTU card access password (@merlokk) - Added `--ms` option in `hw status` to specify the timeout of connection speed test (@wh201906) - Added `hf mf ginfo` command for get info about Gen4 GTU configuration (@merlokk) - Added support for loading Flipper PICOPASS dump files (@iceman1001) From 70e39ec0c450b1cb81ed03341b4e055dc7d030c6 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 15:52:54 +0200 Subject: [PATCH 240/278] check return code --- client/src/mifare/gen4.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/src/mifare/gen4.c b/client/src/mifare/gen4.c index 5846c2a40..b01085671 100644 --- a/client/src/mifare/gen4.c +++ b/client/src/mifare/gen4.c @@ -154,6 +154,9 @@ int mfG4ChangePassword(uint8_t *pwd, uint8_t *newpwd, bool verbose) { return res; } + if (resplen != 2 || resp[0] != 0x90 || resp[1] != 0x00) + return PM3_EAPDU_FAIL; + return PM3_SUCCESS; } From f2110c11ae4d27d7a5817f8381d2d0e11cfb6e02 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 15:56:51 +0200 Subject: [PATCH 241/278] fix text --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 4582e423a..141c49c43 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8234,7 +8234,7 @@ static int CmdHF14AGen4ChangePwd(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf gchpwd", - "Save `magic gen4 gtu` card memory to file (bin/json)", + "Change access password for Gen4 GTU card. WARNING! If you dont KNOW the password - you CAN'T access it!!!", "hf mf gchpwd --pwd 00000000 --newpwd 01020304" ); void *argtable[] = { From 73f5270fa21845b82abffec5358218861a87ee38 Mon Sep 17 00:00:00 2001 From: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:01:56 +0200 Subject: [PATCH 242/278] Update cmdhfmf.c Signed-off-by: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> --- client/src/cmdhfmf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 141c49c43..60e8e6db4 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8268,7 +8268,7 @@ static int CmdHF14AGen4ChangePwd(const char *Cmd) { int res = mfG4ChangePassword(pwd, new_pwd, verbose); if (res != PM3_SUCCESS) { - PrintAndLogEx(ERROR, "Change password error"); + PrintAndLogEx(ERR, "Change password error"); return res; } From be63138016b1320f30fd584ba6a5dfaf171d808f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Nov 2023 17:07:16 +0100 Subject: [PATCH 243/278] fix wrong types --- client/src/cmdhfmf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 60e8e6db4..d36b1aab4 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7469,18 +7469,18 @@ static int CmdHF14AGen4Info(const char *cmd) { if (res == PM3_ETIMEOUT) PrintAndLogEx(ERR, "No card in the field or card command timeout."); else - PrintAndLogEx(ERR, "Error get config. Maybe not a Gen4 card?. error=%d rlen=%d", res, resplen); + PrintAndLogEx(ERR, "Error get config. Maybe not a Gen4 card?. error=%d rlen=%zu", res, resplen); return PM3_ESOFT; } PrintAndLogEx(INFO, "---------- Gen4 configuration ----------"); if (resplen != 30 && resplen != 32) { - PrintAndLogEx(INFO, "Raw config [%02d] %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw config [%02zu] %s", resplen, sprint_hex_inrow(resp, resplen)); PrintAndLogEx(WARNING, "Unknown config format"); return PM3_SUCCESS; } if (verbose) - PrintAndLogEx(INFO, "Raw config [%02d]..... %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw config [%02zu]..... %s", resplen, sprint_hex_inrow(resp, resplen)); PrintAndLogEx(INFO, "UL protocol......... %02x" NOLF, resp[0]); switch (resp[0]){ @@ -7577,7 +7577,7 @@ static int CmdHF14AGen4Info(const char *cmd) { if (res == PM3_SUCCESS && resplen > 2) { if (verbose) { PrintAndLogEx(INFO, ""); - PrintAndLogEx(INFO, "Raw test [%02d]....... %s", resplen, sprint_hex_inrow(resp, resplen)); + PrintAndLogEx(INFO, "Raw test [%02zu]....... %s", resplen, sprint_hex_inrow(resp, resplen)); } if (resp[resplen - 2] == 0x66 && resp[resplen - 1] == 0x66) From bf6f5518acc1baaaec69e7eafa60d9fbf53caa8e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Nov 2023 17:12:03 +0100 Subject: [PATCH 244/278] fix overflow (@wh201906) --- armsrc/appmain.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index ef5e06179..a3c075f8f 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -369,7 +369,7 @@ static void print_debug_level(void) { // measure the Connection Speed by sending SpeedTestBufferSize bytes to client and measuring the elapsed time. // Note: this mimics GetFromBigbuf(), i.e. we have the overhead of the PacketCommandNG structure included. -static void printConnSpeed(uint32_t testTimeout) { +static void printConnSpeed(uint32_t wait) { DbpString(_CYAN_("Transfer Speed")); Dbprintf(" Sending packets to client..."); @@ -380,7 +380,7 @@ static void printConnSpeed(uint32_t testTimeout) { LED_B_ON(); - while (delta_time < testTimeout) { + while (delta_time < wait) { reply_ng(CMD_DOWNLOADED_BIGBUF, PM3_SUCCESS, test_data, PM3_CMD_DATA_SIZE); bytes_transferred += PM3_CMD_DATA_SIZE; delta_time = GetTickCountDelta(start_time); @@ -389,13 +389,13 @@ static void printConnSpeed(uint32_t testTimeout) { Dbprintf(" Time elapsed................... %dms", delta_time); Dbprintf(" Bytes transferred.............. %d", bytes_transferred); - Dbprintf(" Transfer Speed PM3 -> Client... " _YELLOW_("%d") " bytes/s", 1000 * bytes_transferred / delta_time); + Dbprintf(" Transfer Speed PM3 -> Client... " _YELLOW_("%llu") " bytes/s", 1000 * (uint64_t)bytes_transferred / delta_time); } /** * Prints runtime information about the PM3. **/ -static void SendStatus(int32_t speedTestTimeout) { +static void SendStatus(uint32_t wait) { BigBuf_print_status(); Fpga_print_status(); #ifdef WITH_FLASH @@ -411,7 +411,7 @@ static void SendStatus(int32_t speedTestTimeout) { #ifdef WITH_ISO14443a printHf14aConfig(); // HF 14a config #endif - printConnSpeed(speedTestTimeout); + printConnSpeed(wait); DbpString(_CYAN_("Various")); print_stack_usage(); From 6653bffe004e31ab9b29624c9ca73e30527a2fa1 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Nov 2023 22:58:14 +0100 Subject: [PATCH 245/278] coverity fixes --- armsrc/appmain.c | 5 +++-- client/src/cmdhfmf.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index a3c075f8f..de0ec875e 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -389,8 +389,9 @@ static void printConnSpeed(uint32_t wait) { Dbprintf(" Time elapsed................... %dms", delta_time); Dbprintf(" Bytes transferred.............. %d", bytes_transferred); - Dbprintf(" Transfer Speed PM3 -> Client... " _YELLOW_("%llu") " bytes/s", 1000 * (uint64_t)bytes_transferred / delta_time); -} + if (delta_time) { + Dbprintf(" Transfer Speed PM3 -> Client... " _YELLOW_("%llu") " bytes/s", 1000 * (uint64_t)bytes_transferred / delta_time); + } /** * Prints runtime information about the PM3. diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index d36b1aab4..056ee8f05 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -8256,6 +8256,8 @@ static int CmdHF14AGen4ChangePwd(const char *Cmd) { bool verbose = arg_get_lit(ctx, 3); + CLIParserFree(ctx); + if (pwd_len != 4) { PrintAndLogEx(FAILED, "Old password must be 4 bytes long, got " _YELLOW_("%u"), pwd_len); return PM3_EINVARG; @@ -8272,8 +8274,7 @@ static int CmdHF14AGen4ChangePwd(const char *Cmd) { return res; } - PrintAndLogEx(SUCCESS, "Change password done successfully."); - + PrintAndLogEx(SUCCESS, "Change password ( " _GREEN_("ok") " )"); return PM3_SUCCESS; } From d137b74de79a9652c07733d52442fdd1f349abe5 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Nov 2023 23:19:46 +0100 Subject: [PATCH 246/278] missing --- armsrc/appmain.c | 1 + 1 file changed, 1 insertion(+) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index de0ec875e..b8823af3b 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -392,6 +392,7 @@ static void printConnSpeed(uint32_t wait) { if (delta_time) { Dbprintf(" Transfer Speed PM3 -> Client... " _YELLOW_("%llu") " bytes/s", 1000 * (uint64_t)bytes_transferred / delta_time); } +} /** * Prints runtime information about the PM3. From 5dd144b1935c0887ee0d2a925ae81bd3923e925c Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Nov 2023 23:52:05 +0100 Subject: [PATCH 247/278] reworked autopwn to allow for user to supply multiple keys in command line. All is merged with default array and dictionary if suppolied when doing dictionary attack --- CHANGELOG.md | 1 + client/src/cmdhfmf.c | 297 ++++++++++++++++--------------------------- 2 files changed, 110 insertions(+), 188 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b46e72c0..1a38c2edb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `hf mf autopwn` - now supports multiple user supplied keys (@iceman1001) - Added `hf mf gchpwd` command for change Gen4 GTU card access password (@merlokk) - Added `--ms` option in `hw status` to specify the timeout of connection speed test (@wh201906) - Added `hf mf ginfo` command for get info about Gen4 GTU configuration (@merlokk) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 056ee8f05..7b8f97f75 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -750,6 +750,77 @@ static int mfc_read_tag(iso14a_card_select_t *card, uint8_t *carddata, uint8_t n return PM3_SUCCESS ; } +static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, int userkeylen, const char *filename, int fnlen) { + // Handle Keys + *pkeycnt = 0; + *pkeyBlock = NULL; + uint8_t *p; + // Handle user supplied key + // (it considers *pkeycnt and *pkeyBlock as possibly non-null so logic can be easily reordered) + if (userkeylen >= MIFARE_KEY_SIZE) { + int numKeys = userkeylen / MIFARE_KEY_SIZE; + p = realloc(*pkeyBlock, (*pkeycnt + numKeys) * MIFARE_KEY_SIZE); + if (!p) { + PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); + free(*pkeyBlock); + return PM3_EMALLOC; + } + *pkeyBlock = p; + + memcpy(*pkeyBlock + *pkeycnt * MIFARE_KEY_SIZE, userkey, numKeys * MIFARE_KEY_SIZE); + + for (int i = 0; i < numKeys; i++) { + PrintAndLogEx(INFO, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); + } + *pkeycnt += numKeys; + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys supplied by user ", numKeys); + } + + // Handle default keys + p = realloc(*pkeyBlock, (*pkeycnt + ARRAYLEN(g_mifare_default_keys)) * MIFARE_KEY_SIZE); + if (!p) { + PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); + free(*pkeyBlock); + return PM3_EMALLOC; + } + *pkeyBlock = p; + // Copy default keys to list + for (int i = 0; i < ARRAYLEN(g_mifare_default_keys); i++) { + num_to_bytes(g_mifare_default_keys[i], MIFARE_KEY_SIZE, (uint8_t *)(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE)); + PrintAndLogEx(DEBUG, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); + } + *pkeycnt += ARRAYLEN(g_mifare_default_keys); + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys from hardcoded default array", ARRAYLEN(g_mifare_default_keys)); + + + // Handle user supplied dictionary file + if (fnlen > 0) { + uint32_t loaded_numKeys = 0; + uint8_t *keyBlock_tmp = NULL; + int res = loadFileDICTIONARY_safe(filename, (void **) &keyBlock_tmp, MIFARE_KEY_SIZE, &loaded_numKeys); + if (res != PM3_SUCCESS || loaded_numKeys == 0 || *pkeyBlock == NULL) { + PrintAndLogEx(FAILED, "An error occurred while loading the dictionary!"); + free(keyBlock_tmp); + free(*pkeyBlock); + return PM3_EFILE; + } else { + p = realloc(*pkeyBlock, (*pkeycnt + loaded_numKeys) * MIFARE_KEY_SIZE); + if (!p) { + PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); + free(keyBlock_tmp); + free(*pkeyBlock); + return PM3_EMALLOC; + } + *pkeyBlock = p; + memcpy(*pkeyBlock + *pkeycnt * MIFARE_KEY_SIZE, keyBlock_tmp, loaded_numKeys * MIFARE_KEY_SIZE); + *pkeycnt += loaded_numKeys; + free(keyBlock_tmp); + } + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys from dictionary", loaded_numKeys); + } + return PM3_SUCCESS; +} + static int CmdHF14AMfAcl(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf acl", @@ -2320,12 +2391,13 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { "hf mf autopwn\n" "hf mf autopwn -s 0 -a -k FFFFFFFFFFFF --> target MFC 1K card, Sector 0 with known key A 'FFFFFFFFFFFF'\n" "hf mf autopwn --1k -f mfc_default_keys --> target MFC 1K card, default dictionary\n" - "hf mf autopwn --1k -s 0 -a -k FFFFFFFFFFFF -f mfc_default_keys --> combo of the two above samples" + "hf mf autopwn --1k -s 0 -a -k FFFFFFFFFFFF -f mfc_default_keys --> combo of the two above samples\n" + "hf mf autopwn --1k -s 0 -a -k FFFFFFFFFFFF -k a0a1a2a3a4a5 --> multiple user supplied keys" ); void *argtable[] = { arg_param_begin, - arg_str0("k", "key", "", "Known key, 12 hex bytes"), + arg_strx0("k", "key", "", "Known key, 12 hex bytes"), arg_int0("s", "sector", "", "Input sector number"), arg_lit0("a", NULL, "Input key A (def)"), arg_lit0("b", NULL, "Input key B"), @@ -2356,17 +2428,10 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { }; CLIExecWithReturn(ctx, Cmd, argtable, true); - int keylen = 0; - uint8_t key[6] = {0}; - int32_t res = CLIParamHexToBuf(arg_get_str(ctx, 1), key, sizeof(key), &keylen); - if (res) { - CLIParserFree(ctx); - PrintAndLogEx(FAILED, "Error parsing key bytes"); - return PM3_EINVARG; - } - - bool known_key = (keylen == 6); - + int in_keys_len = 0; + uint8_t in_keys[100 * 6] = {0}; + CLIGetHexWithReturn(ctx, 1, in_keys, &in_keys_len); + uint8_t sectorno = arg_get_u32_def(ctx, 2, 0); uint8_t keytype = MF_KEY_A; @@ -2381,7 +2446,6 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { int fnlen = 0; char filename[FILE_PATH_SIZE] = {0}; CLIParamStrToBuf(arg_get_str(ctx, 5), (uint8_t *)filename, FILE_PATH_SIZE, &fnlen); - bool has_filename = (fnlen > 0); bool slow = arg_get_lit(ctx, 6); bool legacy_mfchk = arg_get_lit(ctx, 7); @@ -2464,26 +2528,28 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { if (in) SetSIMDInstr(SIMD_NONE); - // Nested and Hardnested parameter uint64_t key64 = 0; bool calibrate = true; + // Attack key storage variables uint8_t *keyBlock = NULL; uint32_t key_cnt = 0; - uint8_t tmp_key[6] = {0}; + uint8_t tmp_key[MIFARE_KEY_SIZE] = {0}; // Nested and Hardnested returned status uint64_t foundkey = 0; - int isOK = 0; int current_sector_i = 0, current_key_type_i = 0; + // Dumping and transfere to simulater memory - uint8_t block[16] = {0x00}; + uint8_t block[MFBLOCK_SIZE] = {0x00}; int bytes; + // Settings int prng_type = PM3_EUNDEF; uint8_t num_found_keys = 0; + int isOK = 0; // ------------------------------ uint64_t tagT = GetHF14AMfU_Type(); @@ -2514,6 +2580,12 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { iso14a_card_select_t card; memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); + bool known_key = (in_keys_len > 5); + uint8_t key[6] = {0}; + if (known_key) { + memcpy(key, in_keys, sizeof(key)); + } + // detect MFC EV1 Signature bool is_ev1 = detect_mfc_ev1_signature(); if (is_ev1) { @@ -2579,106 +2651,20 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { PrintAndLogEx(INFO, "========================================================================"); } - // Start the timer - uint64_t t1 = msclock(); - // check the user supplied key if (known_key == false) { PrintAndLogEx(WARNING, "no known key was supplied, key recovery might fail"); - } else { - if (verbose) { - PrintAndLogEx(INFO, "======================= " _YELLOW_("START KNOWN KEY ATTACK") " ======================="); - } - - if (mfCheckKeys(mfFirstBlockOfSector(sectorno), keytype, true, 1, key, &key64) == PM3_SUCCESS) { - PrintAndLogEx(INFO, "target sector %3u key type %c -- using valid key [ " _GREEN_("%s") " ] (used for nested / hardnested attack)", - sectorno, - (keytype == MF_KEY_B) ? 'B' : 'A', - sprint_hex_inrow(key, sizeof(key)) - ); - - // Store the key for the nested / hardnested attack (if supplied by the user) - e_sector[sectorno].Key[keytype] = key64; - e_sector[sectorno].foundKey[keytype] = 'U'; - - ++num_found_keys; - } else { - known_key = false; - PrintAndLogEx(FAILED, "Key is wrong. Can't authenticate to sector"_RED_("%3d") " key type "_RED_("%c") " key " _RED_("%s"), - sectorno, - (keytype == MF_KEY_B) ? 'B' : 'A', - sprint_hex_inrow(key, sizeof(key)) - ); - PrintAndLogEx(WARNING, "falling back to dictionary"); - } - - // Check if the user supplied key is used by other sectors - for (int i = 0; i < sector_cnt; i++) { - for (int j = MF_KEY_A; j <= MF_KEY_B; j++) { - - if (e_sector[i].foundKey[j]) { - continue; - } - - if (mfCheckKeys(mfFirstBlockOfSector(i), j, true, 1, key, &key64) == PM3_SUCCESS) { - e_sector[i].Key[j] = bytes_to_num(key, 6); - e_sector[i].foundKey[j] = 'U'; - - // If the user supplied secctor / keytype was wrong --> just be nice and correct it ;) - if (known_key == false) { - num_to_bytes(e_sector[i].Key[j], 6, key); - known_key = true; - sectorno = i; - keytype = j; - PrintAndLogEx(SUCCESS, "target sector %3u key type %c -- found valid key [ " _GREEN_("%s") " ] (used for nested / hardnested attack)", - i, - (j == MF_KEY_B) ? 'B' : 'A', - sprint_hex_inrow(key, sizeof(key)) - ); - } else { - PrintAndLogEx(SUCCESS, "target sector %3u key type %c -- found valid key [ " _GREEN_("%s") " ]", - i, - (j == MF_KEY_B) ? 'B' : 'A', - sprint_hex_inrow(key, sizeof(key)) - ); - } - ++num_found_keys; - } - } - } - - if (num_found_keys == sector_cnt * 2) { - goto all_found; - } } - bool load_success = true; - // Load the dictionary - if (has_filename) { - res = loadFileDICTIONARY_safe(filename, (void **) &keyBlock, 6, &key_cnt); - if (res != PM3_SUCCESS || key_cnt == 0 || keyBlock == NULL) { - PrintAndLogEx(FAILED, "An error occurred while loading the dictionary! (we will use the default keys now)"); - if (keyBlock != NULL) { - free(keyBlock); - } - load_success = false; - } + // Start the timer + uint64_t t1 = msclock(); + + int ret = mfLoadKeys(&keyBlock, &key_cnt, in_keys, in_keys_len, filename, fnlen); + if (ret != PM3_SUCCESS) { + return ret; } - if (has_filename == false || load_success == false) { - keyBlock = calloc(ARRAYLEN(g_mifare_default_keys), 6); - if (keyBlock == NULL) { - free(e_sector); - free(fptr); - return PM3_EMALLOC; - } - - for (int cnt = 0; cnt < ARRAYLEN(g_mifare_default_keys); cnt++) { - num_to_bytes(g_mifare_default_keys[cnt], 6, keyBlock + cnt * 6); - } - key_cnt = ARRAYLEN(g_mifare_default_keys); - PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys from hardcoded default array", key_cnt); - } + int32_t res = PM3_SUCCESS; // Use the dictionary to find sector keys on the card if (verbose) PrintAndLogEx(INFO, "======================= " _YELLOW_("START DICTIONARY ATTACK") " ======================="); @@ -2694,8 +2680,8 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { PrintAndLogEx(NORMAL, "." NOLF); fflush(stdout); - if (mfCheckKeys(mfFirstBlockOfSector(i), j, true, 1, (keyBlock + (6 * k)), &key64) == PM3_SUCCESS) { - e_sector[i].Key[j] = bytes_to_num((keyBlock + (6 * k)), 6); + if (mfCheckKeys(mfFirstBlockOfSector(i), j, true, 1, (keyBlock + (MIFARE_KEY_SIZE * k)), &key64) == PM3_SUCCESS) { + e_sector[i].Key[j] = bytes_to_num((keyBlock + (MIFARE_KEY_SIZE * k)), MIFARE_KEY_SIZE); e_sector[i].foundKey[j] = 'D'; ++num_found_keys; break; @@ -2723,12 +2709,14 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { } uint32_t size = ((key_cnt - i) > chunksize) ? chunksize : key_cnt - i; // last chunk? - if (size == key_cnt - i) + if (size == key_cnt - i) { lastChunk = true; + } - res = mfCheckKeys_fast(sector_cnt, firstChunk, lastChunk, strategy, size, keyBlock + (i * 6), e_sector, false); - if (firstChunk) + res = mfCheckKeys_fast(sector_cnt, firstChunk, lastChunk, strategy, size, keyBlock + (i * MIFARE_KEY_SIZE), e_sector, false); + if (firstChunk) { firstChunk = false; + } // all keys, aborted if (res == PM3_SUCCESS) { i = key_cnt; @@ -2749,11 +2737,11 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { } e_sector[i].foundKey[j] = 'D'; - num_to_bytes(e_sector[i].Key[j], 6, tmp_key); + num_to_bytes(e_sector[i].Key[j], MIFARE_KEY_SIZE, tmp_key); // Store valid credentials for the nested / hardnested attack if none exist if (known_key == false) { - num_to_bytes(e_sector[i].Key[j], 6, key); + num_to_bytes(e_sector[i].Key[j], MIFARE_KEY_SIZE, key); known_key = true; sectorno = i; keytype = j; @@ -2823,7 +2811,7 @@ noValidKeyFound: free(keyBlock); // Clear the needed variables - num_to_bytes(0, 6, tmp_key); + num_to_bytes(0, MIFARE_KEY_SIZE, tmp_key); bool nested_failed = false; // Iterate over each sector and key(A/B) @@ -3092,7 +3080,7 @@ tryStaticnested: } } -all_found: +// all_found: // Show the results to the user PrintAndLogEx(NORMAL, ""); @@ -3171,73 +3159,6 @@ all_found: return PM3_SUCCESS; } -static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, int userkeylen, const char *filename, int fnlen) { - // Handle Keys - *pkeycnt = 0; - *pkeyBlock = NULL; - uint8_t *p; - // Handle user supplied key - // (it considers *pkeycnt and *pkeyBlock as possibly non-null so logic can be easily reordered) - if (userkeylen >= 6) { - int numKeys = userkeylen / 6; - p = realloc(*pkeyBlock, (*pkeycnt + numKeys) * 6); - if (!p) { - PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); - free(*pkeyBlock); - return PM3_EMALLOC; - } - *pkeyBlock = p; - - memcpy(*pkeyBlock + *pkeycnt * 6, userkey, numKeys * 6); - - for (int i = 0; i < numKeys; i++) { - PrintAndLogEx(INFO, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * 6, 6)); - } - *pkeycnt += numKeys; - } - - // Handle default keys - p = realloc(*pkeyBlock, (*pkeycnt + ARRAYLEN(g_mifare_default_keys)) * 6); - if (!p) { - PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); - free(*pkeyBlock); - return PM3_EMALLOC; - } - *pkeyBlock = p; - // Copy default keys to list - for (int i = 0; i < ARRAYLEN(g_mifare_default_keys); i++) { - num_to_bytes(g_mifare_default_keys[i], 6, (uint8_t *)(*pkeyBlock + (*pkeycnt + i) * 6)); - PrintAndLogEx(DEBUG, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * 6, 6)); - } - *pkeycnt += ARRAYLEN(g_mifare_default_keys); - - // Handle user supplied dictionary file - if (fnlen > 0) { - uint32_t loaded_numKeys = 0; - uint8_t *keyBlock_tmp = NULL; - int res = loadFileDICTIONARY_safe(filename, (void **) &keyBlock_tmp, 6, &loaded_numKeys); - if (res != PM3_SUCCESS || loaded_numKeys == 0 || *pkeyBlock == NULL) { - PrintAndLogEx(FAILED, "An error occurred while loading the dictionary!"); - free(keyBlock_tmp); - free(*pkeyBlock); - return PM3_EFILE; - } else { - p = realloc(*pkeyBlock, (*pkeycnt + loaded_numKeys) * 6); - if (!p) { - PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); - free(keyBlock_tmp); - free(*pkeyBlock); - return PM3_EMALLOC; - } - *pkeyBlock = p; - memcpy(*pkeyBlock + *pkeycnt * 6, keyBlock_tmp, loaded_numKeys * 6); - *pkeycnt += loaded_numKeys; - free(keyBlock_tmp); - } - } - return PM3_SUCCESS; -} - static int CmdHF14AMfChk_fast(const char *Cmd) { CLIParserContext *ctx; CLIParserInit(&ctx, "hf mf fchk", @@ -3267,7 +3188,7 @@ static int CmdHF14AMfChk_fast(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); int keylen = 0; - uint8_t key[255 * 6] = {0}; + uint8_t key[100 * 6] = {0}; CLIGetHexWithReturn(ctx, 1, key, &keylen); bool m0 = arg_get_lit(ctx, 2); From 01aaad7866226acfe1fb18996bba1b7188607b33 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 13:55:39 +0100 Subject: [PATCH 248/278] text --- client/src/cmdhfmf.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 7b8f97f75..43966c048 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -759,7 +759,7 @@ static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, // (it considers *pkeycnt and *pkeyBlock as possibly non-null so logic can be easily reordered) if (userkeylen >= MIFARE_KEY_SIZE) { int numKeys = userkeylen / MIFARE_KEY_SIZE; - p = realloc(*pkeyBlock, (*pkeycnt + numKeys) * MIFARE_KEY_SIZE); + p = realloc(*pkeyBlock, numKeys * MIFARE_KEY_SIZE); if (!p) { PrintAndLogEx(FAILED, "cannot allocate memory for Keys"); free(*pkeyBlock); @@ -767,13 +767,13 @@ static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, } *pkeyBlock = p; - memcpy(*pkeyBlock + *pkeycnt * MIFARE_KEY_SIZE, userkey, numKeys * MIFARE_KEY_SIZE); + memcpy(*pkeyBlock, userkey, numKeys * MIFARE_KEY_SIZE); for (int i = 0; i < numKeys; i++) { - PrintAndLogEx(INFO, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); + PrintAndLogEx(INFO, "[" _YELLOW_("%d") "] key %s", i, sprint_hex(*pkeyBlock + i * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); } *pkeycnt += numKeys; - PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys supplied by user ", numKeys); + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%d") " keys supplied by user ", numKeys); } // Handle default keys @@ -787,10 +787,10 @@ static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, // Copy default keys to list for (int i = 0; i < ARRAYLEN(g_mifare_default_keys); i++) { num_to_bytes(g_mifare_default_keys[i], MIFARE_KEY_SIZE, (uint8_t *)(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE)); - PrintAndLogEx(DEBUG, "[%2d] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); + PrintAndLogEx(DEBUG, "[" _YELLOW_("%d") "] key %s", *pkeycnt + i, sprint_hex(*pkeyBlock + (*pkeycnt + i) * MIFARE_KEY_SIZE, MIFARE_KEY_SIZE)); } *pkeycnt += ARRAYLEN(g_mifare_default_keys); - PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys from hardcoded default array", ARRAYLEN(g_mifare_default_keys)); + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%u") " keys from hardcoded default array", ARRAYLEN(g_mifare_default_keys)); // Handle user supplied dictionary file @@ -816,7 +816,7 @@ static int mfLoadKeys(uint8_t **pkeyBlock, uint32_t *pkeycnt, uint8_t *userkey, *pkeycnt += loaded_numKeys; free(keyBlock_tmp); } - PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%2d") " keys from dictionary", loaded_numKeys); + PrintAndLogEx(SUCCESS, "loaded " _GREEN_("%u") " keys from dictionary", loaded_numKeys); } return PM3_SUCCESS; } From c3543c461077b04b068ee43dcfa4549241e41f0f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 13:59:54 +0100 Subject: [PATCH 249/278] adapting cmakefile to the client cmakefile. --- client/experimental_lib/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/experimental_lib/CMakeLists.txt b/client/experimental_lib/CMakeLists.txt index 04198cf88..9dae9d64b 100644 --- a/client/experimental_lib/CMakeLists.txt +++ b/client/experimental_lib/CMakeLists.txt @@ -166,11 +166,12 @@ endif (NOT SKIPJANSSONSYSTEM EQUAL 1) if(EMBED_BZIP2) cmake_policy(SET CMP0114 NEW) set(BZIP2_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/deps/bzip2/src/bzip2) + # Specify SOURCE_DIR will cause some errors ExternalProject_Add(bzip2 GIT_REPOSITORY https://android.googlesource.com/platform/external/bzip2 GIT_TAG platform-tools-30.0.2 PREFIX deps/bzip2 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/deps/bzip2 + # SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/deps/bzip2 CONFIGURE_COMMAND mkdir -p ${BZIP2_BUILD_DIR} && git archive --format tar HEAD | tar -C ${BZIP2_BUILD_DIR} -x BUILD_IN_SOURCE ON BUILD_COMMAND make -C ${BZIP2_BUILD_DIR} -j4 CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} LD=${CMAKE_C_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} ${CFLAGS_EXTERNAL_LIB} libbz2.a @@ -279,6 +280,7 @@ set (TARGET_SOURCES ${PM3_ROOT}/client/src/mifare/mifare4.c ${PM3_ROOT}/client/src/mifare/mifaredefault.c ${PM3_ROOT}/client/src/mifare/mifarehost.c + ${PM3_ROOT}/client/src/mifare/gen4.c ${PM3_ROOT}/client/src/nfc/ndef.c ${PM3_ROOT}/client/src/mifare/lrpcrypto.c ${PM3_ROOT}/client/src/mifare/desfirecrypto.c @@ -657,6 +659,8 @@ if (MINGW) set(CMAKE_C_FLAGS "-mno-ms-bitfields -fexec-charset=cp850 ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-mno-ms-bitfields -fexec-charset=cp850 ${CMAKE_CXX_FLAGS}") + # link Winsock2 + set(ADDITIONAL_LNK ws2_32 ${ADDITIONAL_LNK}) endif (MINGW) # GCC 10 has issues with false positives on stringop-overflow, From c60503560c37bcc4e1ca41233539cd1a62ebe187 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 15:44:12 +0100 Subject: [PATCH 250/278] more defines and fix termux compilation --- client/src/cmdhfmf.c | 72 +++++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 43966c048..6a122ce4d 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -2429,7 +2429,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); int in_keys_len = 0; - uint8_t in_keys[100 * 6] = {0}; + uint8_t in_keys[100 * MIFARE_KEY_SIZE] = {0}; CLIGetHexWithReturn(ctx, 1, in_keys, &in_keys_len); uint8_t sectorno = arg_get_u32_def(ctx, 2, 0); @@ -2547,8 +2547,6 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { // Settings int prng_type = PM3_EUNDEF; - uint8_t num_found_keys = 0; - int isOK = 0; // ------------------------------ @@ -2581,7 +2579,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { memcpy(&card, (iso14a_card_select_t *)resp.data.asBytes, sizeof(iso14a_card_select_t)); bool known_key = (in_keys_len > 5); - uint8_t key[6] = {0}; + uint8_t key[MIFARE_KEY_SIZE] = {0}; if (known_key) { memcpy(key, in_keys, sizeof(key)); } @@ -2683,7 +2681,6 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { if (mfCheckKeys(mfFirstBlockOfSector(i), j, true, 1, (keyBlock + (MIFARE_KEY_SIZE * k)), &key64) == PM3_SUCCESS) { e_sector[i].Key[j] = bytes_to_num((keyBlock + (MIFARE_KEY_SIZE * k)), MIFARE_KEY_SIZE); e_sector[i].foundKey[j] = 'D'; - ++num_found_keys; break; } } @@ -2693,7 +2690,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { PrintAndLogEx(NORMAL, ""); } else { - uint32_t chunksize = key_cnt > (PM3_CMD_DATA_SIZE / 6) ? (PM3_CMD_DATA_SIZE / 6) : key_cnt; + uint32_t chunksize = key_cnt > (PM3_CMD_DATA_SIZE / MIFARE_KEY_SIZE) ? (PM3_CMD_DATA_SIZE / MIFARE_KEY_SIZE) : key_cnt; bool firstChunk = true, lastChunk = false; for (uint8_t strategy = 1; strategy < 3; strategy++) { @@ -2730,12 +2727,15 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { } // Analyse the dictionary attack + uint8_t num_found_keys = 0; for (int i = 0; i < sector_cnt; i++) { for (int j = MF_KEY_A; j <= MF_KEY_B; j++) { if (e_sector[i].foundKey[j] != 1) { continue; } + ++num_found_keys; + e_sector[i].foundKey[j] = 'D'; num_to_bytes(e_sector[i].Key[j], MIFARE_KEY_SIZE, tmp_key); @@ -2760,6 +2760,10 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { } } + if (num_found_keys == sector_cnt * 2) { + goto all_found; + } + // Check if at least one sector key was found if (known_key == false) { @@ -2768,7 +2772,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { if (verbose) { PrintAndLogEx(INFO, "======================= " _YELLOW_("START DARKSIDE ATTACK") " ======================="); } - isOK = mfDarkside(mfFirstBlockOfSector(sectorno), keytype + 0x60, &key64); + isOK = mfDarkside(mfFirstBlockOfSector(sectorno), MIFARE_AUTH_KEYA + keytype, &key64); switch (isOK) { case PM3_EOPABORTED : @@ -2790,7 +2794,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) { } // Store the keys - num_to_bytes(key64, 6, key); + num_to_bytes(key64, MIFARE_KEY_SIZE, key); e_sector[sectorno].Key[keytype] = key64; e_sector[sectorno].foundKey[keytype] = 'S'; PrintAndLogEx(SUCCESS, "target sector %3u key type %c -- found valid key [ " _GREEN_("%012" PRIx64) " ] (used for nested / hardnested attack)", @@ -2826,7 +2830,7 @@ noValidKeyFound: goto tryStaticnested; // Try the found keys are reused - if (bytes_to_num(tmp_key, 6) != 0) { + if (bytes_to_num(tmp_key, MIFARE_KEY_SIZE) != 0) { // The fast check --> mfCheckKeys_fast(sector_cnt, true, true, 2, 1, tmp_key, e_sector, false); // Returns false keys, so we just stick to the slower mfchk. for (int i = 0; i < sector_cnt; i++) { @@ -2837,7 +2841,7 @@ noValidKeyFound: // Check if the key works if (mfCheckKeys(mfFirstBlockOfSector(i), j, true, 1, tmp_key, &key64) == PM3_SUCCESS) { - e_sector[i].Key[j] = bytes_to_num(tmp_key, 6); + e_sector[i].Key[j] = bytes_to_num(tmp_key, MIFARE_KEY_SIZE); e_sector[i].foundKey[j] = 'R'; PrintAndLogEx(SUCCESS, "target sector %3u key type %c -- found valid key [ " _GREEN_("%s") " ]", i, @@ -2849,7 +2853,7 @@ noValidKeyFound: } } // Clear the last found key - num_to_bytes(0, 6, tmp_key); + num_to_bytes(0, MIFARE_KEY_SIZE, tmp_key); if (current_key_type_i == MF_KEY_B) { if (e_sector[current_sector_i].foundKey[0] && !e_sector[current_sector_i].foundKey[1]) { @@ -2865,7 +2869,7 @@ noValidKeyFound: payload.blockno = sectrail; payload.keytype = MF_KEY_A; - num_to_bytes(e_sector[current_sector_i].Key[0], 6, payload.key); // KEY A + num_to_bytes(e_sector[current_sector_i].Key[0], MIFARE_KEY_SIZE, payload.key); // KEY A clearCommandBuffer(); SendCommandNG(CMD_HF_MIFARE_READBL, (uint8_t *)&payload, sizeof(mf_readblock_t)); @@ -2875,11 +2879,11 @@ noValidKeyFound: if (resp.status != PM3_SUCCESS) goto skipReadBKey; uint8_t *data = resp.data.asBytes; - key64 = bytes_to_num(data + 10, 6); + key64 = bytes_to_num(data + 10, MIFARE_KEY_SIZE); if (key64) { e_sector[current_sector_i].foundKey[current_key_type_i] = 'A'; e_sector[current_sector_i].Key[current_key_type_i] = key64; - num_to_bytes(key64, 6, tmp_key); + num_to_bytes(key64, MIFARE_KEY_SIZE, tmp_key); PrintAndLogEx(SUCCESS, "target sector %3u key type %c -- found valid key [ " _GREEN_("%s") " ]", current_sector_i, (current_key_type_i == MF_KEY_B) ? 'B' : 'A', @@ -2965,7 +2969,7 @@ tryNested: } case PM3_SUCCESS: { calibrate = false; - e_sector[current_sector_i].Key[current_key_type_i] = bytes_to_num(tmp_key, 6); + e_sector[current_sector_i].Key[current_key_type_i] = bytes_to_num(tmp_key, MIFARE_KEY_SIZE); e_sector[current_sector_i].foundKey[current_key_type_i] = 'N'; break; } @@ -3027,7 +3031,7 @@ tryHardnested: // If the nested attack fails then we try the hardnested attack } // Copy the found key to the tmp_key variale (for the following print statement, and the mfCheckKeys above) - num_to_bytes(foundkey, 6, tmp_key); + num_to_bytes(foundkey, MIFARE_KEY_SIZE, tmp_key); e_sector[current_sector_i].Key[current_key_type_i] = foundkey; e_sector[current_sector_i].foundKey[current_key_type_i] = 'H'; } @@ -3057,7 +3061,7 @@ tryStaticnested: return isOK; } case PM3_SUCCESS: { - e_sector[current_sector_i].Key[current_key_type_i] = bytes_to_num(tmp_key, 6); + e_sector[current_sector_i].Key[current_key_type_i] = bytes_to_num(tmp_key, MIFARE_KEY_SIZE); e_sector[current_sector_i].foundKey[current_key_type_i] = 'C'; break; } @@ -3080,7 +3084,7 @@ tryStaticnested: } } -// all_found: +all_found: // Show the results to the user PrintAndLogEx(NORMAL, ""); @@ -3105,9 +3109,9 @@ tryStaticnested: for (current_sector_i = 0; current_sector_i < sector_cnt; current_sector_i++) { mfEmlGetMem(block, current_sector_i, 1); if (e_sector[current_sector_i].foundKey[0]) - num_to_bytes(e_sector[current_sector_i].Key[0], 6, block); + num_to_bytes(e_sector[current_sector_i].Key[0], MIFARE_KEY_SIZE, block); if (e_sector[current_sector_i].foundKey[1]) - num_to_bytes(e_sector[current_sector_i].Key[1], 6, block + 10); + num_to_bytes(e_sector[current_sector_i].Key[1], MIFARE_KEY_SIZE, block + 10); transfer_status |= mfEmlSetMem(block, mfFirstBlockOfSector(current_sector_i) + mfNumBlocksPerSector(current_sector_i) - 1, 1); } @@ -3188,7 +3192,7 @@ static int CmdHF14AMfChk_fast(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); int keylen = 0; - uint8_t key[100 * 6] = {0}; + uint8_t key[100 * MIFARE_KEY_SIZE] = {0}; CLIGetHexWithReturn(ctx, 1, key, &keylen); bool m0 = arg_get_lit(ctx, 2); @@ -3243,7 +3247,7 @@ static int CmdHF14AMfChk_fast(const char *Cmd) { return PM3_EMALLOC; } - uint32_t chunksize = keycnt > (PM3_CMD_DATA_SIZE / 6) ? (PM3_CMD_DATA_SIZE / 6) : keycnt; + uint32_t chunksize = keycnt > (PM3_CMD_DATA_SIZE / MIFARE_KEY_SIZE) ? (PM3_CMD_DATA_SIZE / MIFARE_KEY_SIZE) : keycnt; bool firstChunk = true, lastChunk = false; int i = 0; @@ -3273,7 +3277,7 @@ static int CmdHF14AMfChk_fast(const char *Cmd) { if (size == keycnt - i) lastChunk = true; - int res = mfCheckKeys_fast(sectorsCnt, firstChunk, lastChunk, strategy, size, keyBlock + (i * 6), e_sector, false); + int res = mfCheckKeys_fast(sectorsCnt, firstChunk, lastChunk, strategy, size, keyBlock + (i * MIFARE_KEY_SIZE), e_sector, false); if (firstChunk) firstChunk = false; @@ -3320,16 +3324,16 @@ out: if (transferToEml) { // fast push mode g_conn.block_after_ACK = true; - uint8_t block[16] = {0x00}; + uint8_t block[MFBLOCK_SIZE] = {0x00}; for (i = 0; i < sectorsCnt; ++i) { uint8_t b = mfFirstBlockOfSector(i) + mfNumBlocksPerSector(i) - 1; mfEmlGetMem(block, b, 1); if (e_sector[i].foundKey[0]) - num_to_bytes(e_sector[i].Key[0], 6, block); + num_to_bytes(e_sector[i].Key[0], MIFARE_KEY_SIZE, block); if (e_sector[i].foundKey[1]) - num_to_bytes(e_sector[i].Key[1], 6, block + 10); + num_to_bytes(e_sector[i].Key[1], MIFARE_KEY_SIZE, block + 10); if (i == sectorsCnt - 1) { // Disable fast mode on last packet @@ -3391,7 +3395,7 @@ static int CmdHF14AMfChk(const char *Cmd) { CLIExecWithReturn(ctx, Cmd, argtable, true); int keylen = 0; - uint8_t key[255 * 6] = {0}; + uint8_t key[100 * MIFARE_KEY_SIZE] = {0}; CLIGetHexWithReturn(ctx, 1, key, &keylen); int blockNo = arg_get_int_def(ctx, 2, -1); @@ -3527,7 +3531,7 @@ static int CmdHF14AMfChk(const char *Cmd) { uint32_t size = keycnt - c > max_keys ? max_keys : keycnt - c; - if (mfCheckKeys(b, trgKeyType, clearLog, size, &keyBlock[6 * c], &key64) == PM3_SUCCESS) { + if (mfCheckKeys(b, trgKeyType, clearLog, size, &keyBlock[MIFARE_KEY_SIZE * c], &key64) == PM3_SUCCESS) { e_sector[i].Key[trgKeyType] = key64; e_sector[i].foundKey[trgKeyType] = true; clearLog = false; @@ -3564,7 +3568,7 @@ static int CmdHF14AMfChk(const char *Cmd) { payload.keytype = MF_KEY_A; // Use key A - num_to_bytes(e_sector[i].Key[0], 6, payload.key); + num_to_bytes(e_sector[i].Key[0], MIFARE_KEY_SIZE, payload.key); clearCommandBuffer(); SendCommandNG(CMD_HF_MIFARE_READBL, (uint8_t *)&payload, sizeof(mf_readblock_t)); @@ -3575,9 +3579,9 @@ static int CmdHF14AMfChk(const char *Cmd) { if (resp.status != PM3_SUCCESS) continue; uint8_t *data = resp.data.asBytes; - key64 = bytes_to_num(data + 10, 6); + key64 = bytes_to_num(data + 10, MIFARE_KEY_SIZE); if (key64) { - PrintAndLogEx(NORMAL, "Data:%s", sprint_hex(data + 10, 6)); + PrintAndLogEx(NORMAL, "Data:%s", sprint_hex(data + 10, MIFARE_KEY_SIZE)); e_sector[i].foundKey[1] = 1; e_sector[i].Key[1] = key64; } @@ -3601,16 +3605,16 @@ out: if (transferToEml) { // fast push mode g_conn.block_after_ACK = true; - uint8_t block[16] = {0x00}; + uint8_t block[MFBLOCK_SIZE] = {0x00}; for (int i = 0; i < sectors_cnt; ++i) { uint8_t blockno = mfFirstBlockOfSector(i) + mfNumBlocksPerSector(i) - 1; mfEmlGetMem(block, blockno, 1); if (e_sector[i].foundKey[0]) - num_to_bytes(e_sector[i].Key[0], 6, block); + num_to_bytes(e_sector[i].Key[0], MIFARE_KEY_SIZE, block); if (e_sector[i].foundKey[1]) - num_to_bytes(e_sector[i].Key[1], 6, block + 10); + num_to_bytes(e_sector[i].Key[1], MIFARE_KEY_SIZE, block + 10); if (i == sectors_cnt - 1) { // Disable fast mode on last packet From 463356469abf3a0b987c0e3f60335b8708bbc908 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 21:20:39 +0100 Subject: [PATCH 251/278] added test scenario for MIFARE Ultrlight AES. However openssl doesnt handle curve secp192r1. Which is odd because I was sure it did. --- tools/recover_pk.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/recover_pk.py b/tools/recover_pk.py index f4a78dda7..ea676fc22 100755 --- a/tools/recover_pk.py +++ b/tools/recover_pk.py @@ -164,6 +164,13 @@ def selftests(): 'samples': ["04B59F6A226F82", "6F577EB7F570D74DB6250477427F68A0088762BD318767537122919A7916597149F9D16D8B135E9BF826FB28AE293F3168661CD4A049FAED", "04B44A82D80F92", "A0868ECF26733D3C3C838D055968B4559F77693CC3E346E3A4741BC826801F8360FD88857BEC440AAD3A21153D64302DEB6F5ED40B15C3F7"], 'pk': "040F732E0EA7DF2B38F791BF89425BF7DCDF3EE4D976669E3831F324FF15751BD52AFF1782F72FF2731EEAD5F63ABE7D126E03C856FFB942AF"}, + + {'name': "MIFARE Ultralight AES", + # uses , + 'samples': ["04E163C2451390", "240284F3F2703C6911D2E7B4211A421378C3DE911F6E9DA120224508C72D4CDE58F3DBEE065C824BA595AB0352888516", + "042F6892457080", "1824472A4CC927C7CA423F2B75E8E15CD26F682D3D633B3E032879B11D2E7C0E5BDC720D7D4F3AB04DEC7229EC213C89"], + 'pk': "0453BF8C49B7BD9FE3207A91513B9C1D238ECAB07186B772104AB535F7D3AE63CF7C7F3DD0D169DA3E99E43C6399621A86"}, + ] succeeded = True for t in tests: From 7adadde5f5bf58b931e50c0aa9abcef845ee1402 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 21:22:25 +0100 Subject: [PATCH 252/278] added support to verify UL AES signatures. This tag supports of randomizing UID and mixing with AES keys, making a generic signature algo a bit harder. But for the non mixed signature check it should work. Also added Ul AES version for it to be correct identified. --- client/src/cmdhfmfu.c | 85 +++++++++++++++++++++++++++++++------------ client/src/cmdhfmfu.h | 1 + 2 files changed, 62 insertions(+), 24 deletions(-) diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 6b55875f7..161055042 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -51,6 +51,7 @@ #define MAX_MY_D_MOVE 0x25 #define MAX_MY_D_MOVE_LEAN 0x0F #define MAX_UL_NANO_40 0x0A +#define MAX_UL_AES 0x37 static int CmdHelp(const char *Cmd); @@ -86,7 +87,8 @@ static uint64_t UL_TYPES_ARRAY[] = { MFU_TT_NTAG_213_TT, MFU_TT_NTAG_213_C, MFU_TT_MAGIC_1A, MFU_TT_MAGIC_1B, MFU_TT_MAGIC_NTAG, MFU_TT_NTAG_210u, - MFU_TT_UL_MAGIC, MFU_TT_UL_C_MAGIC + MFU_TT_UL_MAGIC, MFU_TT_UL_C_MAGIC, + MFU_TT_UL_AES }; static uint8_t UL_MEMORY_ARRAY[ARRAYLEN(UL_TYPES_ARRAY)] = { @@ -107,7 +109,7 @@ static uint8_t UL_MEMORY_ARRAY[ARRAYLEN(UL_TYPES_ARRAY)] = { // MAGIC_1A, MAGIC_1B, MAGIC_NTAG, MAX_UL_BLOCKS, MAX_UL_BLOCKS, MAX_NTAG_216, // NTAG_210u, UL_MAGIC, UL_C_MAGIC - MAX_NTAG_210, MAX_UL_BLOCKS, MAX_ULC_BLOCKS + MAX_NTAG_210, MAX_UL_BLOCKS, MAX_ULC_BLOCKS, MAX_UL_AES }; //------------------------------------ @@ -428,7 +430,6 @@ static int ulev1_readTearing(uint8_t counter, uint8_t *response, uint16_t respon } static int ulev1_readSignature(uint8_t *response, uint16_t responseLength) { - uint8_t cmd[] = {MIFARE_ULEV1_READSIG, 0x00}; int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength); return len; @@ -1023,6 +1024,7 @@ static int ulev1_print_counters(void) { static int ulev1_print_signature(uint64_t tagtype, uint8_t *uid, uint8_t *signature, size_t signature_len) { #define PUBLIC_ECDA_KEYLEN 33 +#define PUBLIC_ECDA_192_KEYLEN 49 // known public keys for the originality check (source: https://github.com/alexbatalov/node-nxp-originality-verifier) // ref: AN11350 NTAG 21x Originality Signature Validation // ref: AN11341 MIFARE Ultralight EV1 Originality Signature Validation @@ -1036,6 +1038,11 @@ static int ulev1_print_signature(uint64_t tagtype, uint8_t *uid, uint8_t *signat {"MIKRON Public key", "04f971eda742a4a80d32dcf6a814a707cc3dc396d35902f72929fdcd698b3468f2"}, }; + // https://www.nxp.com/docs/en/application-note/AN13452.pdf + const ecdsa_publickey_t nxp_mfu_192_public_keys[] = { + {"NXP Ultralight AES", "0453BF8C49B7BD9FE3207A91513B9C1D238ECAB07186B772104AB535F7D3AE63CF7C7F3DD0D169DA3E99E43C6399621A86"}, + }; + /* uint8_t nxp_mfu_public_keys[6][PUBLIC_ECDA_KEYLEN] = { // UL, NTAG21x and NDEF @@ -1084,34 +1091,60 @@ static int ulev1_print_signature(uint64_t tagtype, uint8_t *uid, uint8_t *signat */ uint8_t i; bool is_valid = false; - for (i = 0; i < ARRAYLEN(nxp_mfu_public_keys); i++) { + if (signature_len == 32) { + for (i = 0; i < ARRAYLEN(nxp_mfu_public_keys); i++) { - int dl = 0; - uint8_t key[PUBLIC_ECDA_KEYLEN] = {0}; - param_gethex_to_eol(nxp_mfu_public_keys[i].value, 0, key, PUBLIC_ECDA_KEYLEN, &dl); + int dl = 0; + uint8_t key[PUBLIC_ECDA_KEYLEN] = {0}; + param_gethex_to_eol(nxp_mfu_public_keys[i].value, 0, key, PUBLIC_ECDA_KEYLEN, &dl); - int res = ecdsa_signature_r_s_verify(MBEDTLS_ECP_DP_SECP128R1, key, uid, 7, signature, signature_len, false); + int res = ecdsa_signature_r_s_verify(MBEDTLS_ECP_DP_SECP128R1, key, uid, 7, signature, signature_len, false); - is_valid = (res == 0); - if (is_valid) - break; + is_valid = (res == 0); + if (is_valid) + break; + } + } + + bool is_192_valid = false; + if (signature_len == 48) { + for (i = 0; i < ARRAYLEN(nxp_mfu_192_public_keys); i++) { + int dl = 0; + uint8_t key[PUBLIC_ECDA_192_KEYLEN] = {0}; + param_gethex_to_eol(nxp_mfu_192_public_keys[i].value, 0, key, PUBLIC_ECDA_192_KEYLEN, &dl); + + int res = ecdsa_signature_r_s_verify(MBEDTLS_ECP_DP_SECP192R1, key, uid, 7, signature, signature_len, false); + + is_192_valid = (res == 0); + if (is_192_valid) + break; + } } PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "--- " _CYAN_("Tag Signature")); - if (is_valid == false || i == ARRAYLEN(nxp_mfu_public_keys)) { - PrintAndLogEx(INFO, " Elliptic curve parameters: NID_secp128r1"); + if (is_192_valid ) { + PrintAndLogEx(INFO, " IC signature public key name: " _GREEN_("%s"), nxp_mfu_192_public_keys[i].desc); + PrintAndLogEx(INFO, "IC signature public key value: %s", nxp_mfu_192_public_keys[i].value); + PrintAndLogEx(INFO, " Elliptic curve parameters: NID_secp192r1"); PrintAndLogEx(INFO, " TAG IC Signature: %s", sprint_hex_inrow(signature, signature_len)); - PrintAndLogEx(SUCCESS, " Signature verification ( " _RED_("fail") " )"); - return PM3_ESOFT; + PrintAndLogEx(SUCCESS, " Signature verification ( " _GREEN_("successful") " )"); + return PM3_SUCCESS; } - PrintAndLogEx(INFO, " IC signature public key name: " _GREEN_("%s"), nxp_mfu_public_keys[i].desc); - PrintAndLogEx(INFO, "IC signature public key value: %s", nxp_mfu_public_keys[i].value); - PrintAndLogEx(INFO, " Elliptic curve parameters: NID_secp128r1"); + if (is_valid) { + PrintAndLogEx(INFO, " IC signature public key name: " _GREEN_("%s"), nxp_mfu_public_keys[i].desc); + PrintAndLogEx(INFO, "IC signature public key value: %s", nxp_mfu_public_keys[i].value); + PrintAndLogEx(INFO, " Elliptic curve parameters: NID_secp128r1"); + PrintAndLogEx(INFO, " TAG IC Signature: %s", sprint_hex_inrow(signature, signature_len)); + PrintAndLogEx(SUCCESS, " Signature verification ( " _GREEN_("successful") " )"); + return PM3_SUCCESS; + } + + PrintAndLogEx(INFO, " Elliptic curve parameters: %s", (signature_len == 48) ? "NID_secp192r1" : "NID_secp128r1" ); PrintAndLogEx(INFO, " TAG IC Signature: %s", sprint_hex_inrow(signature, signature_len)); - PrintAndLogEx(SUCCESS, " Signature verification ( " _GREEN_("successful") " )"); - return PM3_SUCCESS; + PrintAndLogEx(SUCCESS, " Signature verification ( " _RED_("fail") " )"); + return PM3_ESOFT; } static int ulev1_print_version(uint8_t *data) { @@ -1641,13 +1674,14 @@ uint32_t GetHF14AMfU_Type(void) { else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_EV1_48; break; } else if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } else if (memcmp(version, "\x00\x04\x03\x02\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } + else if (memcmp(version, "\x00\x04\x03\x01\x04\x00\x0F\x03", 8) == 0) { tagtype = MFU_TT_UL_AES; break; } else if (memcmp(version, "\x00\x34\x21\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_UL_EV1_128; break; } // Mikron JSC Russia EV1 41 pages tag else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210; break; } else if (memcmp(version, "\x00\x04\x04\x01\x02\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210u; break; } else if (memcmp(version, "\x00\x04\x04\x02\x02\x00\x0B", 7) == 0) { tagtype = MFU_TT_NTAG_210u; break; } else if (memcmp(version, "\x00\x04\x04\x01\x01\x00\x0E", 7) == 0) { tagtype = MFU_TT_NTAG_212; break; } else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213; break; } - else if (memcmp(version, "\x00\x53\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213; break; } //Shanghai Feiju Microelectronics Co. Ltd. China (Xiaomi Air Purifier filter) + else if (memcmp(version, "\x00\x53\x04\x02\x01\x00\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213; break; } // Shanghai Feiju Microelectronics Co. Ltd. China (Xiaomi Air Purifier filter) else if (memcmp(version, "\x00\x04\x04\x02\x01\x01\x0F", 7) == 0) { tagtype = MFU_TT_NTAG_213_C; break; } else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x11", 7) == 0) { tagtype = MFU_TT_NTAG_215; break; } else if (memcmp(version, "\x00\x04\x04\x02\x01\x00\x13", 7) == 0) { tagtype = MFU_TT_NTAG_216; break; } @@ -1894,8 +1928,9 @@ static int CmdHF14AMfUInfo(const char *Cmd) { if ((tagtype & (MFU_TT_UL_EV1_48 | MFU_TT_UL_EV1_128 | MFU_TT_UL_EV1 | MFU_TT_UL_NANO_40 | MFU_TT_NTAG_210u | MFU_TT_NTAG_213 | MFU_TT_NTAG_213_F | MFU_TT_NTAG_213_C | MFU_TT_NTAG_213_TT | MFU_TT_NTAG_215 | MFU_TT_NTAG_216 | MFU_TT_NTAG_216_F | - MFU_TT_NTAG_I2C_1K | MFU_TT_NTAG_I2C_2K | MFU_TT_NTAG_I2C_1K_PLUS | MFU_TT_NTAG_I2C_2K_PLUS))) { - uint8_t ulev1_signature[32] = {0x00}; + MFU_TT_NTAG_I2C_1K | MFU_TT_NTAG_I2C_2K | MFU_TT_NTAG_I2C_1K_PLUS | MFU_TT_NTAG_I2C_2K_PLUS | + MFU_TT_UL_AES))) { + uint8_t ulev1_signature[49] = {0x00}; status = ulev1_readSignature(ulev1_signature, sizeof(ulev1_signature)); if (status == -1) { PrintAndLogEx(ERR, "Error: tag didn't answer to READ SIGNATURE"); @@ -1903,7 +1938,9 @@ static int CmdHF14AMfUInfo(const char *Cmd) { return PM3_ESOFT; } if (status == 32) { - ulev1_print_signature(tagtype, card.uid, ulev1_signature, sizeof(ulev1_signature)); + ulev1_print_signature(tagtype, card.uid, ulev1_signature, 32); + } else if (status == 48) { + ulev1_print_signature(tagtype, card.uid, ulev1_signature, 48); } else { // re-select if (ul_auth_select(&card, tagtype, has_auth_key, authkeyptr, pack, sizeof(pack)) == PM3_ESOFT) { diff --git a/client/src/cmdhfmfu.h b/client/src/cmdhfmfu.h index f0057298d..7b1acf27a 100644 --- a/client/src/cmdhfmfu.h +++ b/client/src/cmdhfmfu.h @@ -88,6 +88,7 @@ uint32_t ul_ev1_otpgenA(uint8_t *uid); #define MFU_TT_MAGIC_1B (0x20000000ULL | MFU_TT_MAGIC) #define MFU_TT_MAGIC_NTAG (0x40000000ULL | MFU_TT_MAGIC) #define MFU_TT_NTAG_210u 0x80000000ULL +#define MFU_TT_UL_AES 0x100000000ULL #define MFU_TT_UL_MAGIC (MFU_TT_UL | MFU_TT_MAGIC) #define MFU_TT_UL_C_MAGIC (MFU_TT_UL_C | MFU_TT_MAGIC) // Don't forget to fill UL_TYPES_ARRAY and UL_MEMORY_ARRAY if new types are added From 2ba8c50b79316f10504697ea82422c1841647b1d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 21:23:03 +0100 Subject: [PATCH 253/278] text --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a38c2edb..a4e681c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Changed `hf mfu info` - now detect MIFARE Ultralight AES (@iceman1001) - Changed `hf mf autopwn` - now supports multiple user supplied keys (@iceman1001) - Added `hf mf gchpwd` command for change Gen4 GTU card access password (@merlokk) - Added `--ms` option in `hw status` to specify the timeout of connection speed test (@wh201906) From 1beab7e07b63f91499a11cdce5d79a23563fcd70 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 21:31:25 +0100 Subject: [PATCH 254/278] uncomment out --- tools/recover_pk.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/recover_pk.py b/tools/recover_pk.py index ea676fc22..2eb6358d6 100755 --- a/tools/recover_pk.py +++ b/tools/recover_pk.py @@ -165,11 +165,11 @@ def selftests(): "04B44A82D80F92", "A0868ECF26733D3C3C838D055968B4559F77693CC3E346E3A4741BC826801F8360FD88857BEC440AAD3A21153D64302DEB6F5ED40B15C3F7"], 'pk': "040F732E0EA7DF2B38F791BF89425BF7DCDF3EE4D976669E3831F324FF15751BD52AFF1782F72FF2731EEAD5F63ABE7D126E03C856FFB942AF"}, - {'name': "MIFARE Ultralight AES", +# {'name': "MIFARE Ultralight AES", # uses , - 'samples': ["04E163C2451390", "240284F3F2703C6911D2E7B4211A421378C3DE911F6E9DA120224508C72D4CDE58F3DBEE065C824BA595AB0352888516", - "042F6892457080", "1824472A4CC927C7CA423F2B75E8E15CD26F682D3D633B3E032879B11D2E7C0E5BDC720D7D4F3AB04DEC7229EC213C89"], - 'pk': "0453BF8C49B7BD9FE3207A91513B9C1D238ECAB07186B772104AB535F7D3AE63CF7C7F3DD0D169DA3E99E43C6399621A86"}, +# 'samples': ["04E163C2451390", "240284F3F2703C6911D2E7B4211A421378C3DE911F6E9DA120224508C72D4CDE58F3DBEE065C824BA595AB0352888516", +# "042F6892457080", "1824472A4CC927C7CA423F2B75E8E15CD26F682D3D633B3E032879B11D2E7C0E5BDC720D7D4F3AB04DEC7229EC213C89"], +# 'pk': "0453BF8C49B7BD9FE3207A91513B9C1D238ECAB07186B772104AB535F7D3AE63CF7C7F3DD0D169DA3E99E43C6399621A86"}, ] succeeded = True From c1ec770a692e94b24d7080d36a14997d210d6220 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 7 Nov 2023 21:41:42 +0100 Subject: [PATCH 255/278] changed "hf 14a info" to also give a hint for NTAG424 tags --- client/src/cmdhf14a.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index b86001f32..a39092fe8 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -1595,6 +1595,7 @@ typedef enum { MTEMV = 128, MTFUDAN = 256, MTISO18092 = 512, + MT424 = 1024, } nxp_mifare_type_t; // Based on NXP AN10833 Rev 3.6 and NXP AN10834 Rev 4.1 @@ -1723,7 +1724,7 @@ static int detect_nxp_card(uint8_t sak, uint16_t atqa, uint64_t select_status) { } printTag("NTAG 4xx"); - type |= MTDESFIRE; + type |= (MTDESFIRE | MT424); } } else if ((sak & 0x04) == 0x04) { printTag("Any MIFARE CL1"); @@ -1920,6 +1921,7 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { bool isEMV = false; bool isFUDAN = false; bool isISO18092 = false; + bool isNTAG424 = false; int nxptype = MTNONE; if (card.uidlen <= 4) { @@ -1929,6 +1931,7 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { isMifareDESFire = ((nxptype & MTDESFIRE) == MTDESFIRE); isMifarePlus = ((nxptype & MTPLUS) == MTPLUS); isMifareUltralight = ((nxptype & MTULTRALIGHT) == MTULTRALIGHT); + isNTAG424 = ((nxptype & MT424) == MT424); if ((nxptype & MTOTHER) == MTOTHER) isMifareClassic = true; @@ -1958,6 +1961,7 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { isMifareDESFire = ((nxptype & MTDESFIRE) == MTDESFIRE); isMifarePlus = ((nxptype & MTPLUS) == MTPLUS); isMifareUltralight = ((nxptype & MTULTRALIGHT) == MTULTRALIGHT); + isNTAG424 = ((nxptype & MT424) == MT424); if ((nxptype & MTOTHER) == MTOTHER) isMifareClassic = true; @@ -2461,6 +2465,11 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { */ } + if (isNTAG424) { + PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf ntag424 info") "`"); + } + + PrintAndLogEx(NORMAL, ""); DropField(); return select_status; From a9b3c0d9f4c206718e534b39a5b00058a0845651 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Wed, 8 Nov 2023 12:02:02 +0800 Subject: [PATCH 256/278] Add note for USB to UDP bridge app --- doc/termux_notes.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/termux_notes.md b/doc/termux_notes.md index c4ab7fa9b..812719a75 100644 --- a/doc/termux_notes.md +++ b/doc/termux_notes.md @@ -17,9 +17,10 @@ * [ Troubleshooting ](#troubleshooting) * [ TCP/UDP bridge method ](#tcpudp-bridge-method) * [ USB connection ](#usb-connection) - * [ USB-UART bridge application ](#usb-uart-bridge-application) + * [ USB-UART bridge application for TCP to USB bridging](#usb-uart-bridge-application-for-tcp-to-usb-bridging) + * [ USB-UART Bridge Application for UDP to USB bridging](#usb-uart-bridge-application-for-udp-to-usb-bridging) * [ Bluetooth connection ](#bluetooth-connection) - * [ BT-UART bridge application ](#bt-uart-bridge-application) + * [ BT-UART bridge application for TCP to BT bridging](#bt-uart-bridge-application-for-tcp-to-bt-bridging) * [ TCP connection ](#tcp-connection) * [ UDP connection ](#udp-connection) * [Troubleshooting](#troubleshooting-1) @@ -155,6 +156,18 @@ Choose your registered PM3 device as 'Device B' -> 'Connect to USB device'. Ensure 'Retransmission' is set to 'both ways'. It is possible to record the config as autostart, cf 'Settings' -> 'Autostart setting'. +#### USB-UART Bridge Application for UDP to USB bridging +^[Top](#top) + +Install [this free SerialPipe app](https://f-droid.org/packages/io.github.wh201906.serialpipe/) on [F-Droid](https://f-droid.org/). +You can download the apk on this website without installing F-Droid. + +The app lets you choose the baudrate. Default value (115 200 baud) is fine. +Plug the PM3 in and click `Connect`. +Choose a random port not used by system (e.g. 4321) and click `Start Server`. + +Note: This app uses foreground service to keep the connection alive, so you can safely put it in the background without suspending the transmission. However, you will see a dummy notification in the status bar which is required for foreground service. + ### Bluetooth connection ^[Top](#top) From cd167b4632959b61197a097f63e37f92baab1e9b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 8 Nov 2023 13:50:16 +0100 Subject: [PATCH 257/278] added a python3 script that given a folder will try to extract all keys in the dump files and create a unique dictionary text file --- CHANGELOG.md | 1 + tools/pm3_gen_dictionary.py | 154 ++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100755 tools/pm3_gen_dictionary.py diff --git a/CHANGELOG.md b/CHANGELOG.md index a4e681c44..7a7cf9112 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added `pm3_gen_dictionary.py` - python script to extract and save all keys from MFC dump files. (@iceman1001) - Changed `hf mfu info` - now detect MIFARE Ultralight AES (@iceman1001) - Changed `hf mf autopwn` - now supports multiple user supplied keys (@iceman1001) - Added `hf mf gchpwd` command for change Gen4 GTU card access password (@merlokk) diff --git a/tools/pm3_gen_dictionary.py b/tools/pm3_gen_dictionary.py new file mode 100755 index 000000000..7234dee20 --- /dev/null +++ b/tools/pm3_gen_dictionary.py @@ -0,0 +1,154 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import pexpect +from colors import color +import re +import argparse +import os +import fnmatch + +''' +# pm3_gen_dictionary.py +# Christian Herrmann, Iceman, 2023 +# version = 'v1.0.0' +# +# This code is copyright (c) Christian Herrmann, 2023, All rights reserved. +# For non-commercial use only, the following terms apply - for all other +# uses, please contact the author: +# +# This code is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This code is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# +# Dependencies: +# +# pip3 install pexpect ansicolors +# +# Usage: +# +# ./pm3_gen_dictionary.py --path folder --fn mydictionary.dic -v +# +# Info: +# Will search all dump files files in given folder and all its subfolders +# With the option to save found keys to a text file. +# +''' + +def escape_ansi(line): + ansi_escape = re.compile(r'(\x9B|\x1B\[)[0-?]*[ -/]*[@-~]') + return ansi_escape.sub('', str(line)).lower() + +def parse_keys(line): + """ + Parse keys from a line and return them as a set. + Keys must be 12 hex characters long + :param line: string containing keys. + :return: A set of keys read from the line + """ + keys = set() + key_regex = re.compile('[0-9a-fA-F]{12}') + + key = key_regex.findall(line) + if not key: + return [] + + try: + keys.add(key[0]) + keys.add(key[1]) + except AttributeError: + pass + return keys + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--path", help="Path to folder") + parser.add_argument("--fn", help="Dictionary file name") + parser.add_argument("-v", help="verbose output", action="store_true") + args = parser.parse_args() + + path = args.path + verbose = args.v + # Check if the directory exists + if not os.path.isdir(path): + print("The provided directory does not exist.") + return + + # start pm3 + child = pexpect.spawnu('./pm3 -o') + i = child.expect('pm3 --> ') + print("[+] Proxmark3 client open") + + + # MIFARE CLASSIC dumps + pattern = 'hf-mf-*-dump*' + + print(f'[+] Iterating all dumpfiles in... ', color(f'{path}', fg='cyan')) + # Walk through the directory + keys = set() + for root, dirs, files in os.walk(path): + for file in files: + # Check if the file name starts with the given prefix + if fnmatch.fnmatch(file, pattern): + if ":Zone.Identifier" in file: + continue + if ":OECustomProperty" in file: + continue + + f = os.path.join(root, file) + cmd = f'hf mf view -v -f {f}' + if verbose: + print(cmd) + + # Send proxmark3 commnad + child.sendline(cmd) + i = child.expect('pm3 --> ') + msg = escape_ansi(str(child.before)) + + # extract key table from msg + found = False + for line in msg.splitlines(): + + if found == False: + key_row = line.find('000 | 003') + if key_row > -1: + found = True + + if found: + foo = parse_keys(line) + if not foo: + found = False + continue + + # append found set + keys |= foo + + # shut down proxmark3 client connection + child.sendline('quit') + child.expect(pexpect.EOF) + print("[+] Proxmark3 client closed") + + # print all found keys + if verbose: + for k in keys: + print(f'{k}') + print("") + + # save keys + if args.fn: + print(f'[+] Writing keys to dictionary file... ', color(f'{args.fn}', fg='cyan')) + with open(args.fn, 'w') as f: + for k in keys: + f.write(f'{k}\n') + + return 0 + +if __name__ == "__main__": + main() From fdfe8869ae5cc08e2d265733b52b78c35b8f53a2 Mon Sep 17 00:00:00 2001 From: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> Date: Thu, 9 Nov 2023 01:35:26 +0200 Subject: [PATCH 258/278] Update cmdhfmf.c Signed-off-by: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> --- client/src/cmdhfmf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 6a122ce4d..086609717 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7509,8 +7509,10 @@ static int CmdHF14AGen4Info(const char *cmd) { PrintAndLogEx(INFO, "Card type........... generic"); else if (resp[resplen - 2] == 0x02 && resp[resplen - 1] == 0xaa) PrintAndLogEx(INFO, "Card type........... limited functionality"); + else if (resp[resplen - 2] == 0x03 && resp[resplen - 1] == 0xa0) + PrintAndLogEx(INFO, "Card type........... old card version"); else if (resp[resplen - 2] == 0x06 && resp[resplen - 1] == 0xa0) - PrintAndLogEx(INFO, "Card type........... broken functionality"); + PrintAndLogEx(INFO, "Card type........... new card version"); else PrintAndLogEx(INFO, "Card type........... unknown %02x%02x", resp[resplen - 2], resp[resplen - 1]); } From a2f97761db05ff7d686cc1a183a8944697b8ae1e Mon Sep 17 00:00:00 2001 From: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:33:51 +0300 Subject: [PATCH 259/278] Megafix There is no commit history. I'm sorry. I suck with git. Please see PR 2003, it has it. Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com> --- doc/magic_cards_notes.md | 696 ++++++++++++++++++++++++++++++++------- 1 file changed, 570 insertions(+), 126 deletions(-) diff --git a/doc/magic_cards_notes.md b/doc/magic_cards_notes.md index 41d818a3d..48605beb8 100644 --- a/doc/magic_cards_notes.md +++ b/doc/magic_cards_notes.md @@ -8,20 +8,29 @@ Useful docs: # Table of Contents - +- [Low frequency](#low-frequency) + * [T55xx](#t55xx) + * [EM4x05](#em4x05) + * [ID82xx series](#id82xx-series) + * [ID8265](#id8265) + * [ID-F8268](#id-f8268) + * [K8678](#k8678) + * [H series](#h-series) + * [H1](#h1) + * [H5.5 / H7](h55--h7) + * [i57 / i57v2](#i57--i57v2) - [ISO14443A](#iso14443a) * [Identifying broken ISO14443A magic](#identifying-broken-iso14443a-magic) - [MIFARE Classic](#mifare-classic) * [MIFARE Classic block0](#mifare-classic-block0) * [MIFARE Classic Gen1A aka UID](#mifare-classic-gen1a-aka-uid) * [MIFARE Classic Gen1B](#mifare-classic-gen1b) - * [MIFARE Classic Gen1A OTP/One Time Programming](#mifare-classic-gen1a-otpone-time-programming) + * [MIFARE Classic OTP2](#mifare-classic-otp2) * [MIFARE Classic DirectWrite aka Gen2 aka CUID](#mifare-classic-directwrite-aka-gen2-aka-cuid) * [MIFARE Classic DirectWrite, FUID version aka 1-write](#mifare-classic-directwrite-fuid-version-aka-1-write) - * [MIFARE Classic DirectWrite, UFUID version](#mifare-classic-directwrite-ufuid-version) - * [MIFARE Classic, other versions](#mifare-classic-other-versions) * [MIFARE Classic Gen3 aka APDU](#mifare-classic-gen3-aka-apdu) - * [MIFARE Classic Gen4 aka GDM](#mifare-classic-gen4-aka-gdm) + * [MIFARE Classic USCUID](#mifare-classic-uscuid) + * [MIFARE Classic, other versions](#mifare-classic-other-versions) * [MIFARE Classic Super](#mifare-classic-super) - [MIFARE Ultralight](#mifare-ultralight) * [MIFARE Ultralight blocks 0..2](#mifare-ultralight-blocks-02) @@ -30,6 +39,11 @@ Useful docs: * [MIFARE Ultralight EV1 DirectWrite](#mifare-ultralight-ev1-directwrite) * [MIFARE Ultralight C Gen1A](#mifare-ultralight-c-gen1a) * [MIFARE Ultralight C DirectWrite](#mifare-ultralight-c-directwrite) + * [UL series (RU)](#ul-series-ru) + * [UL-Y](#ul-y) + * [ULtra](#ultra) + * [UL-5](#ul-5) + * [UL, other chips](#ul-other-chips) - [NTAG](#ntag) * [NTAG213 DirectWrite](#ntag213-directwrite) * [NTAG21x](#ntag21x) @@ -37,12 +51,195 @@ Useful docs: * ["DESFire" APDU, 7b UID](#desfire-apdu-7b-uid) * ["DESFire" APDU, 4b UID](#desfire-apdu-4b-uid) - [ISO14443B](#iso14443b) - * [ISO14443B magic](#iso14443b-magic) + * [Tiananxin TCOS CPU card](#tiananxin-tcos-cpu-card) - [ISO15693](#iso15693) * [ISO15693 magic](#iso15693-magic) - [Multi](#multi) - * [Gen 4 GTU](#gen-4-gtu) + * [UMC](#umc) +- [Other](#other) + * [SID](#sid) + * [NSCK-II](#nsck-ii) +# Low frequency + +## T55xx +^[Top](#top) + +The temic T55xx/Atmel ATA5577 is the most commonly used chip for cloning LF RFIDs. + +A useful document can be found [here](https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/T5577_Guide.md). + +### Characteristics + +* 28/24 bytes of user memory (without/with password) +* Universal output settings (data rate, modulation, etc) +* Password protection (4 bytes), usually "19920427" +* Lock bits per page +* Analog frontend setup +* Other names: + * 5577 + * 5200 (CN) + - Cut down version of T55xx chip (no analog frontend setup, no test mode support). + * H2 (RU) + - Seems to be renamed 5200 chip. + * RW125T5 (RU) +* Old variant "T5555" is hard to come across + +### Detect + +``` +[usb] pm3 --> lf search +... +[+] Chipset detection: T55xx +``` + +This will **not** work if you have a downlink mode other than fixed bit length! + +### Commands + +*See ATMEL ATA5577C datasheet for sending commands to chip* + +* **Do not mix "password read" and "regular write" commands! You risk potentially writing incorrect data. +* When replying, the chip will use the modulation and data rate specified in block 0. + +## EM4x05 +^[Top](#top) + +The EM4305 and EM4205 (and 4469/4569) chips are the 2nd most common used chips for cloning LF RFIDs. +It is also used by HID Global (but with a custom chip) for HIDProx credentials. + +### Characteristics + +* 36 bytes of user memory +* Output settings are limited (ASK only, FSK added on HID variant) +* Password protection (4 bytes), usually "84AC15E2" +* Lock page used +* Other names: + * H3 (RU) + * RW125EM (RU) + +### Detect + +``` +[usb] pm3 --> lf search +... +[+] Chipset detection: EM4x05 / EM4x69 +``` + +### Commands + +*See EM microelectronic EM4305 datasheet for sending commands to chip* + +## ID82xx series +^[Top](#top) + +These are custom chinese chips designed to clone EM IDs only. Often times, these are redesigned clones of Hitag chips. + +### ID8265 +^[Top](#top) + +This is the cheapest and most common ID82xx chip available. It is usually sold as T55xx on AliExpress, with excuses to use cloners. + +#### Characteristics + +* Chip is likely a Hitag μ (micro) +* Password protection (4b), usually "1AC4999C" +* Currently unimplemented in proxmark3 client +* Other names: + * ID8210 (CN) + * H-125 (CN) + * H5 (RU) + - The sales of "H5" have been ceased because "the chip was leaked". + +#### Detect + +``` +[usb] pm3 --> lf cmdread -d 50 -z 116 -o 166 -e W3000 -c W00011 -s 3000 +[usb] pm3 --> data plot +``` + +Check the green line of the plot. It must be a straight line at the end with no big waves. + +### ID-F8268 +^[Top](#top) + +This is an "improved" variant of ID82xx chips, bypassing some magic detection in China. + +#### Characteristics + +* Chip is likely a Hitag 1 +* Unsure whether password protection is used +* Currently unimplemeneted in proxmark3 client +* Other names: + - F8278 (CN) + - F8310 (CN) + +#### Detect + +``` +[usb] pm3 --> lf cmdread -d 50 -z 116 -o 166 -e W3000 -c W00110 -s 3000 +[usb] pm3 --> data plot +``` + +Check the green line of the plot. It must be a straight line at the end with no big waves. + +### K8678 +^[Top](#top) + +This is an "even better" chip, manufactured by Hyctec. + +#### Characteristics + +* Chip is likely a Hitag S256 +* Plain mode used, no password protection +* Currently unimplemented in proxmark3 client +* Memory access is odd (chip doesnt reply to memory access commands for unknown reason) + +#### Detect + +``` +[usb] pm3 --> lf cmdread -d 50 -z 116 -o 166 -e W3000 -c W00110 -s 3000 +[usb] pm3 --> data plot +``` + +Check the green line of the plot. It must be a straight line at the end with no big waves. + +## H series +^[Top](#top) + +These are chips sold in Russia, manufactured by iKey LLC. Often times these are custom. + +### H1 +^[Top](#top) + +Simplest EM ID cloning chip available. Officially discontinued. + +#### Characteristics + +* Currently almost all structure is unknown +* No locking or password protection + * "OTP" chip is same chip, but with EM ID of zeroes. Locked after first write +* Other names: + * RW64bit + * RW125FL + + +### H5.5 / H7 +^[Top](#top) + +First "advanced" custom chip with H naming. + +#### Characteristics + +* Currently all structure is unknown +* No password protection +* Only supported by Russian "TMD"/"RFD" cloners +* H7 is advertised to work with "Stroymaster" access control +* Setting ID to "3F0096F87E" will make the chip show up like T55xx + +### i57 / i57v2 + +\[ Chip is discontinued, no info \] # ISO14443A @@ -109,7 +306,8 @@ UID 7b: ## MIFARE Classic Gen1A aka UID ^[Top](#top) -aka MF ZERO +* Other names: + - ZERO (RU) ### Identify ^[Top](#top) @@ -267,16 +465,17 @@ hf 14a info * Read: `40(7)`, `30xx` * Write: `40(7)`, `A0xx`+crc, `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`+crc -## MIFARE Classic Gen1A OTP/One Time Programming +## MIFARE Classic OTP2 ^[Top](#top) -aka MF OTP 2.0 - Similar to Gen1A, but after first block 0 edit, tag no longer replies to 0x40 command. -Initial UID is 00000000 +### Characteristics -All bytes are 00 from factory wherever possible. +* Initial UID is 00000000 +* BCC: unknown +* SAK/ATQA: fixed +* All bytes are 00 from factory wherever possible. ### Identify ^[Top](#top) @@ -287,6 +486,7 @@ Only possible before personalization. hf 14a info ... [+] Magic capabilities : Gen 1a +[+] Prng detection: hard ``` ### Magic commands @@ -299,6 +499,11 @@ hf 14a info (also referred as MCT compatible by some sellers) +* Other names: + * MF-8 (RU) + * MF3 (RU) + - What's so special about this chip in particular..? + ### Identify ^[Top](#top) @@ -442,16 +647,19 @@ hf 14a reader ## MIFARE Classic DirectWrite, FUID version aka 1-write ^[Top](#top) -aka MF OTP - Same as MIFARE Classic DirectWrite, but block0 can be written only once. -Initial UID is AA55C396 +* Other names: + - OTP (RU) + +### Characteristics + +* Initial UID is AA55C396 ### Identify ^[Top](#top) -Only possible before personalization. +Only possible before personalization. *It is also possible after, but unknown how.* ``` hf 14a info @@ -459,28 +667,6 @@ hf 14a info [+] Magic capabilities : Write Once / FUID ``` -## MIFARE Classic DirectWrite, UFUID version -^[Top](#top) - -Same as MIFARE Classic DirectWrite, but block0 can be locked with special command. - -### Identify -^[Top](#top) - -**TODO** - -### Proxmark3 commands -^[Top](#top) - -To lock definitively block0: -``` -hf 14a raw -a -k -b 7 40 -hf 14a raw -k 43 -hf 14a raw -k -c e000 -hf 14a raw -k -c e100 -hf 14a raw -c 85000000000000000000000000000008 -``` - ## MIFARE Classic Gen3 aka APDU ^[Top](#top) @@ -554,85 +740,131 @@ hf 14a raw -s -c -t 2000 90F0CCCC10 041219c3219316984200e32000000000 hf 14a raw -s -c 90FD111100 ``` -## MIFARE Classic Gen4 aka GDM +## MIFARE Classic USCUID ^[Top](#top) -Tag has shadow mode enabled from start. -Meaning every write or changes to normal MFC memory is restored back to a copy from persistent memory after about 3 seconds -off rfid field. -Tag also seems to support Gen2 style, direct write, to block 0 to the normal MFC memory. +TLDR: These magic cards have a 16 byte long configuration page, which usually starts with 0x85. +All of the known tags using this, except for Ultralight tags, are listed here. -The persistent memory is also writable. For that tag uses its own backdoor commands. -for example to write, you must use a customer authentication byte, 0x80, to authenticate with an all zeros key, 0x0000000000. -Then send the data to be written. - -This tag has simular commands to the [UFUID](#mifare-classic-directwrite-ufuid-version) -This indicates that both tagtypes are developed by the same person. - -**OBS** - -When writing to persistent memory it is possible to write _bad_ ACL and perm-brick the tag. - -**OBS** - -It is possible to write a configuration that perma locks the tag, i.e. no more magic - -### Identify -^[Top](#top) - -``` -hf 14a info -... -[+] Magic capabilities : Gen 4 GDM -``` -### Magic commands -^[Top](#top) - -* Auth: `80xx`+crc -* Write: `A8xx`+crc, `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`+crc -* Read config: `E000`+crc -* Write config: `E100`+crc, `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`+crc +You cannot turn a Classic tag into an Ultralight and vice-versa! ### Characteristics ^[Top](#top) -* Have no knowledge in ATQA/SAK/BCC quirks or if there is a wipe, softbrick recover -* Its magic part seem to be three identified custom command. -* Auth command 0x80, with the key 0x0000000000, Write 0xA8 allows writing to persistent memory, Read 0xE0 which seems to return a configuration. This is unknown today what these bytes are. +* UID: 4/7 bytes +* ATQA: always read from block 0 +* SAK: read from backdoor or configuration +* BCC: read from memory, beware! +* ATS: no/unknown -Read config: -1. sending custom auth with all zeros key -2. send 0xE000, will return the configuration bytes. -`results: 850000000000000000005A5A00000008` +### Magic commands +^[Top](#top) +* Magic authentication: select, `8000+crc`, `[Crypto1 Auth: 000000000000]` + - Backdoor read: `38xx+crc` + - Backdoor write: `A8xx+crc`, `[16 bytes data]+crc` -Mapping of configuration bytes so far: + - Read configuration: `E000+crc` + - Write configuration: `E100+crc`; `[16 bytes data]+crc` +* Magic wakeup (A: 00): `40(7)`, `43` +* Magic wakeup (B: 85): `20(7)`, `23` + - Backdoor read main block: `30xx+crc` + - Backdoor write main block: `A0xx+crc`, `[16 bytes data]+crc` + - Read hidden block: `38xx+crc` + - Write hidden block: `A8xx+crc`, `[16 bytes data]+crc` + + - Read configuration: `E000+crc` + - Write configuration: `E100+crc` + + **DANGER** + - Set main memory and config to 00 `F000+crc` + - Set main memory and config to FF `F100+crc` + - Set main memory and config to 55 (no 0A response) `F600+crc` + - Set backdoor memory to 00 `F800+crc` + - Set backdoor memory to FF `F900+crc` + - Set backdoor memory to 55 (no 0A response) `FE00+crc` + +### USCUID configuration guide +^[Top](#top) + +1. Configuration ``` -850000000000000000005A5A00000008 - ^^ --> SAK +85000000000000000000000000000008 + ^^^^^^ ^^ ^^ >> ??? Mystery ??? +^^^^ >> Gen1a mode (works with bitflip) + ^^ >> Magic wakeup command (00 for 40-43; 85 for 20-23) + ^^ >> Block use of Key B if readable by ACL + ^^ >> CUID mode + ^^ >> MFC EV1 CL2 Perso config* + ^^ >> Shadow mode** + ^^ >> Magic Auth command + ^^ >> Static encrypted nonce mode + ^^ >> Signature sector + ^^ >> SAK*** + +To enable an option, set it to 5A. +* 5A - unfused F0. C3 - F0: CL2 UID; A5 - F1: CL2 UID with anticollision shortcut; 87 - F2: CL1 Random UID; 69 - F3: CL1 non-UID. Anything else is going to be ignored, and set as 4 bytes. +** Do not change the real ACL! Backdoor commands only acknowledge FF0780. To recover, disable this byte and issue regular write to sector trailer. +*** If perso byte is enabled, this SAK is ignored, and hidden SAK is used instead. +``` +* Gen1a mode: Allow using custom wakeup commands, like real gen1a chip, to run backdoor commands, as well as some extras. +* Magic wakeup command: Use different wakeup commands for entering Gen1a mode. A) 00 - 40(7), 43; B) 85 - 20(7), 23. +* Block use of Key B if readable by ACL: Per the MF1ICS50 datasheet, if Key B is readable by the ACL, using it shall give a Cmd Error 04. This option controls whether it happens or not. +* CUID mode: Allow direct write to block 0, instead of giving Cmd Error 04. +* MFC EV1 CL2 Perso config: When configured, the tag behaves like a real Mifare Classic EV1 7B UID tag, and reads UID from backdoor blocks. Otherwise, the tag acts like a 4 byte tag. +* Shadow mode: Writes to memory persisting in tag RAM. As soon as no power is left, the contents are restored to saved data. +* Magic Auth Command: Acknowledge command `8000` after selection, and call for Crypto1 auth with key `000000000000`. +* Static encrypted nonce mode: Use static encrypted nonces for authentication, making key recovery impossible. +* Signature sector: Acknowledge auth commands to sector 17, which is stored in backdoor sector 1. +* SAK: If perso byte is not set, after UID select, send this value. + + +2. Backdoor blocks ``` -Write config: -1. sending custom auth with all zeros key -2. send 0xE100 -3. send 16 bytes +Sector 0 +88 04 BD E5 D4 04 6A BB 5B 80 0A 08 44 00 00 00 - Block 0: Perso F0, F1 data +^^ ^^ ^^ ^^ - UID0 + ^^ - BCC0 + ^^ - SAK0 (0x04 to call for CL2) + ^^ ^^ ^^ ^^ - UID1 + ^^ - BCC1 + ^^ - SAK1 + ^^ ^^ ^^ ^^ - Unused +04 BD E5 6A 36 08 00 00 00 00 00 00 00 00 00 00 - Block 1: Perso F3 data +^^ ^^ ^^ ^^ - UID0 + ^^ - BCC0 + ^^ - SAK0 + ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ - Unused +Block 2: unused +Block 3: ignored (custom keys, acl; broken acl ignored - anticollision will still work) +Sector 1 +[Signature sector (#17) - needs config byte 13 (from 0) enabled to allow auth] +Sectors 2-15 +[Unused] +``` -**Warning** +### Variations +^[Top](#top) +| Factory configuration | Name | +| --- | --- | +| 850000000000000000005A5A00000008 | GDMIC | +| 850000000000005A0000005A5A5A0008 | UCUID | +| 8500000000005A00005A005A005A0008 | "7 byte hard" | +| 7AFF850102015A00005A005A005A0008 | M1-7B | +| 7AFF85000000000000FF000000000008 | FUID | +| 7AFF000000000000BAFA358500000008 | PFUID | +| 7AFF000000000000BAFA000000000008 | UFUID | -Example of configuration to Perma lock tag: -`85000000000000000000000000000008` +*Not all tags are the same!* UFUID and PFUID* are not full implementations of Magic85 - they only acknowledge the first 8 (except wakeup command) and last config byte(s). +*Read and write config commands are flipped -It is unknown what kind of block 0 changes the tag supports -* UID: 4b -* ATQA/SAK: unknown -* BCC: unknown -* ATS: none - -### Proxmark3 commands +#### Proxmark3 commands ^[Top](#top) ``` -# Write to persistent memory +Using magic auth: +# Write to persistent memory: hf mf gdmsetblk # Read configuration (0xE0): @@ -651,15 +883,14 @@ No implemented commands today **TODO** -* ZXUID, EUID, ICUID, KUID, HUID, RFUID ? -* Some cards exhibit a specific SAK=28 ?? +* ZXUID, EUID, ICUID, KUID? ## MIFARE Classic Super ^[Top](#top) It behaves like regular Mifare Classic but records reader auth attempts. -#### MIFARE Classic Super Gen1 +### MIFARE Classic Super Gen1 ^[Top](#top) Old type of cards, hard to obtain. They are DirectWrite, UID can be changed via 0 block or backdoor commands. @@ -684,19 +915,19 @@ Backdoor commands provided over APDU. Format: 👉 You can't change UID with backdoor command if incorrect data is written to the 0 sector trailer! -#### MIFARE Classic Super Gen1B +### MIFARE Classic Super Gen1B DirectWrite card, ATS unknown. Probably same as Gen1, except backdoor commands. Implementation: https://github.com/netscylla/super-card/blob/master/libnfc-1.7.1/utils/nfc-super.c -#### MIFARE Classic Super Gen2 +### MIFARE Classic Super Gen2 ^[Top](#top) New generation of cards, based on limited Gen4 chip. Emulates Gen1 backdoor protocol, but can store up to 7 different traces. -Card always answer `ff ff ff ff` to auth, so writing/reading it via Mifare protocol is impossible. +Card always answers `ff ff ff ff` as `at`, so reading/writing it via Mifare protocol is impossible. -UID is changeable via Gen4 backdoor write to 0 block. +UID is changeable via UMC backdoor write to 0 block. * UID: 4b and 7b versions * ATQA/SAK: fixed @@ -707,12 +938,53 @@ Gen4 commands available: ``` CF 34 <1b length><0-16b ATS> // Configure ATS -CF CC // Factory test, returns 00 00 00 02 AA +CF CC // Version information, returns 00 00 00 02 AA CF CD <1b block number><16b block data> // Backdoor write 16b block CF CE <1b block number> // Backdoor read 16b block CF FE <4b new_password> // Change password ``` +### MIFARE Classic Super Furui +^[Top](#top) + +#### Characteristics +^[Top](#top) + +* SAK/ATQA: play blindly the block0 bytes, beware! +* BCC: play blindly the block0 BCC bytes, beware! +* PRNG: hard + +**!!!WARNING!!!** This tag can die for no reason (no reply to WUPA/REQA). We don't know why this happens. + +#### Identify +^[Top](#top) + +``` +[usb] pm3 --> hf 14a raw -sct 250 AAA500000000000000000000000000000000 +[+] 90 00 +``` + +#### Magic commands +^[Top](#top) + +* Configure: `AAA5[16 byte config]`+crc +* Write block 0: `AAA4[4b UID][1b BCC][1b SAK][2b ATQA reversed]0000000000000000`+crc +* Recover trace: `AAA8[00/01][00-08]`+crc + +Caution: tag does not append CRC to magic responses! + +Please use config as 00 bytes. + +Parsing traces: +``` +44 33 22 11 03 61 08 68 7A C7 4B 62 43 A6 11 6F 64 F3 +^^ ^^ ^^ ^^ -- UID + ^^ ^^ -- auth command, reversed + ^^ ^^ ^^ ^^ -- Auth (nt) + ^^ ^^ ^^ ^^ -- Auth (nr) + ^^ ^^ ^^ ^^ -- Auth (ar) +``` + ### Identify ^[Top](#top) @@ -724,6 +996,15 @@ hf 14a info [+] Magic capabilities : Super card (Gen ?) ``` +### Proxmark3 commands + +``` +[usb] pm3 --> hf mf supercard +... + +[usb] pm3 --> hf mf supercard --furui +... +``` # MIFARE Ultralight ^[Top](#top) @@ -746,6 +1027,7 @@ Int is internal, typically 0x48 Anticol shortcut (CL1/3000) is supported for UL, ULC, NTAG except NTAG I2C +Some cards have a password: `B6AA558D`. Usually "copykey" chips. ## MIFARE Ultralight Gen1A ^[Top](#top) @@ -874,8 +1156,6 @@ See `--uid` and `--full` ## MIFARE Ultralight EV1 DirectWrite ^[Top](#top) -aka UL2 - Similar to MFUL DirectWrite ### Identify @@ -957,11 +1237,6 @@ hf 14a info * ATS: 0A78008102DBA0C119402AB5 * Anticol shortcut (CL1/3000): fails -**TODO** - -* UL-X, UL-Y, UL-Z, ULtra, UL-5 ? - - # NTAG ^[Top](#top) @@ -1027,6 +1302,78 @@ Anticol shortcut (CL1/3000): fails script run hf_mfu_magicwrite -h ``` +## UL series (RU) +^[Top](#top) + +Custom chips, manufactured by iKey LLC for cloning Ultralight tags. + +### UL-Y +^[Top](#top) + +Ultralight magic, 16 pages. Recommended for Vizit RF3.1 with markings "3.1" or "4.1". +Behavior: allows writes to page 0-2. + +#### Identify +^[Top](#top) + +``` +hf mfu rdbl --force -b 16 +hf 14a raw -sct 250 60 +``` +If tag replies with +`Cmd Error: 00` +`00 00 00 00 00 00 00 00` +then it is UL-Y. + +### ULtra +^[Top](#top) + +Ultralight EV1 magic; 41 page. Recommended for Vizit RF3.1 with 41 page. +Behavior: allows writes to page 0-2. + +#### Identify +^[Top](#top) + +``` +hf mfu info +... +[=] TAG IC Signature: 0000000000000000000000000000000000000000000000000000000000000000 +[=] --- Tag Version +[=] Raw bytes: 00 34 21 01 01 00 0E 03 +``` + +Remember that this is not a reliable method of identification, as it interferes with locked [UL-5](#mifare-ul-5). + +### UL-5 +^[Top](#top) + +Ultralight EV1 magic; 41 page. Recommended for Vizit RF3.1 with 41 page and if [ULtra](#mifare-ultra) has failed. + +Behavior: similar to Ultra, but after editing page 0, tag becomes original Mifare Ultralight EV1. + +**WARNING!** When using UL-5 to clone, write UID pages in inverse (from 2 to 0) and do NOT make mistakes! This tag does not allow reversing one-way actions (OTP page, lock bits). + +#### Identify +^[Top](#top) + +``` +hf mfu info +[=] UID: AA 55 C3 A1 30 61 80 +TAG IC Signature: 0000000000000000000000000000000000000000000000000000000000000000 +[=] --- Tag Version +[=] Raw bytes: 00 34 21 01 01 00 0E 03 +``` + +After personalization it is not possible to identify UL-5. + +Some chips have UID of `AA 55 C3 A4 30 61 80`. + +### UL, other chips + +**TODO** + +UL-X, UL-Z - ? + # DESFire ^[Top](#top) @@ -1084,7 +1431,8 @@ Android compatible ### Characteristics ^[Top](#top) -* ATQA: 0008 ??? This is not DESFire, 0008/20 doesn't match anything +* ATQA: 0008 + * This is FM1208-9, NOT DESFire! * SAK: 20 * ATS: 0675338102005110 or 06757781028002F0 @@ -1129,12 +1477,37 @@ hf 14a info # ISO14443B ^[Top](#top) -## ISO14443B magic +## Tiananxin TCOS CPU card ^[Top](#top) -No such card is available. +This is a card sold on Taobao for testing readers. +ISO14443-4 compliant. -Some vendor allow to specify an ID (PUPI) when ordering a card. +### Identify + +``` +hf 14a apdu -s 90B2900000 // Get Card OS version +>>> 90 B2 90 00 00 +<<< 54 43 4F 53 20 56 31 2E 34 2E 30 90 00 | TCOS V1.4.0.. +``` + +### Magic commands + +All commands in APDU. + +``` +CL IN P1 P2 Lc Data +90 F4 CC CC 01 [..1 ] // Change protocol used (1: ISO14443 [AA - type A, BB - type B]) +90 F6 CC CC 01 [TA1 ] // Change TA1 value (transfer speed) +90 F8 CC CC 01 [..1 ] // Use random UID/PUPI value (1: FF: static, AB: random) +90 F8 DD DD 01 [..1 ] // Set UID length (1: bytes in UID (04, 07, 0A for 4, 7, 10 bytes accordingly)) +90 F8 EE EE 0B [... ] // Set UID/PUPI value (FF+enter UID value here). To clear, use Lc=01; data=00. +90 FA CC CC 01 [FSCI] // Set FSCI (1: value 0-8) +90 FC CC CC 01 [SFGI] // Set SFGI (DO NOT SET TOO HIGH!) (1: value 0-E) +90 FE CC CC 01 [FWI ] // Set FWI (DO NOT SET BELOW 4!!!) (value 0-E) +``` + +More commands to follow. Be careful with some. # ISO15693 ^[Top](#top) @@ -1164,7 +1537,7 @@ script run hf_15_magic -u E004013344556677 # Multi ^[Top](#top) -## Gen 4 GTU +## UMC ^[Top](#top) A.k.a ultimate magic card, most promenent feature is shadow mode (GTU) and optional password protected backdoor commands. @@ -1197,6 +1570,8 @@ Can emulate MIFARE Classic, Ultralight/NTAG families, 14b UID & App Data 👉 **TODO** If the password is not default, Tag doesn't get identified correctly by latest Proxmark3 client (it might get mislabeled as MFC Gen2/CUID, Gen3/APDU or NTAG21x Modifiable, depending on configured UID/ATQA/SAK/ATS) +👉 **TODO** Using C6 command can change config due to a bug in some cards. CC should be used instead. + ``` hf 14a info [+] Magic capabilities : Gen 4 GTU @@ -1289,7 +1664,7 @@ CF 69 <00-01> // (De)Activate Ultralight mode CF 6A <00-03> // Select Ultralight mode CF 6B <1b> // Set Ultralight and M1 maximum read/write sectors CF C6 // Dump configuration -CF CC // Factory test, returns 6666 for generic card, 02AA for limited functionality card and 06A0 for broken functionality card +CF CC // Version info, returns `00 00 00 [03 A0 (old) / 06 A0 (new) ]` CF CD <1b block number><16b block data> // Backdoor write 16b block CF CE <1b block number> // Backdoor read 16b block CF CF <1b param> // (De)Activate direct write to block 0 @@ -1304,10 +1679,10 @@ Default ``: `00000000` * UID: 4b, 7b and 10b versions * ATQA/SAK: changeable -* BCC: auto +* BCC: computed * ATS: changeable, can be disabled -* Card Type: changeable -* Shadow mode: GTU +* Card Type: changeable +* Shadow mode: GTU * Backdoor password mode ### Proxmark3 commands @@ -1446,9 +1821,9 @@ Ultralight mode, 10b UID ### Set 14443B UID and ATQB ^[Top](#top) ^^[Gen4](#g4top) -UID and ATQB are configured according to block0 with a (14a) backdoor write. - -UID size is always 4 bytes. +* UID and ATQB are configured according to block0 with a (14a) backdoor write. +* UID size is always 4 bytes. +* 14B will show up only on new cards. Example: ``` @@ -1758,3 +2133,72 @@ hf mfu wrbl -b 250 -d 00040402 --force hf mfu wrbl -b 251 -d 01001303 --force hf mfu info ``` + +# Other +^[Top](#top) + +These are chips to clone other ICs. Usually the originals are only sold in China. + +## SID +^[Top](#top) + +- Magic tag for Fudan FM1208-9 chips + +### Characteristics +^[Top](#top) +- ISO14443-A tag +- ATQA-SAK: `0008`-`20` +- ATS: `10 78 80 A0 02 00 9D 46 16 40 00 A3 [UID]` +- Compared to real FM1208 chip: + - CLA byte is ignored + - Command parsing is irregular (some replies are wrong) + +### Magic commands +^[Top](#top) + +**WARNING!!!** Risk of bricking tag - cause is unknown +- Below you can find a list of all INS bytes not present on real FM1208 chip, and what their output is when executed (P1, P2, Lc = 00) + - Results may vary between chips: +``` +INS | RES +0A | 44454641554C540000002018112840000000000000000000000000000000000000000000000000000000400000000000 +3B | 00000000001C0EF90000000000000000000000000000000000000000000000002000000000C09040009002840000000000000000000000000000000000006C0FC08700EB1A9F1BA01801010019000000000000000000000000000090000000000000094B066600000000007D000000000000000000000000000000003B000000107880A002009D46164000A3CA81E15000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +3C* | 0000 +3D | 6700 +7D | Tag does not reply (if 0

    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≤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 #QEcfUtjWYiHz2JtQRM;)aIUY(3t~2(2 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

    Mq$vx6^PZ}|IVi^iLW6S$@AGi= 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 %USQZ@s_FRRN2~i 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