From 5f8cd5caca3cb1e8006c5aaccf8091a9b24c1bed Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 14 Jul 2023 18:34:14 +0200 Subject: [PATCH] make style --- client/src/cmdhfmfhard.c | 4 +- client/src/comms.c | 8 +- client/src/emv/cmdemv.c | 88 +++++----- client/src/iso4217.h | 370 +++++++++++++++++++-------------------- client/src/nfc/ndef.c | 2 +- doc/commands.json | 12 +- 6 files changed, 243 insertions(+), 241 deletions(-) diff --git a/client/src/cmdhfmfhard.c b/client/src/cmdhfmfhard.c index 090dcf531..be7b3a4c3 100644 --- a/client/src/cmdhfmfhard.c +++ b/client/src/cmdhfmfhard.c @@ -373,8 +373,8 @@ static void init_bitflip_bitarrays(void) { exit(4); } - bytesread = fread(bitset, 1, filesize-sizeof(count), statesfile); - if (bytesread != filesize-sizeof(count)) { + bytesread = fread(bitset, 1, filesize - sizeof(count), statesfile); + if (bytesread != filesize - sizeof(count)) { PrintAndLogEx(ERR, "File read error with %s. Aborting...\n", state_file_name); fclose(statesfile); exit(5); diff --git a/client/src/comms.c b/client/src/comms.c index 1c3d1f686..3b7509a38 100644 --- a/client/src/comms.c +++ b/client/src/comms.c @@ -670,10 +670,10 @@ int TestProxmark(pm3_device_t *dev) { bool is_bt_conn = (memcmp(g_conn.serial_port_name, "bt:", 3) == 0); PrintAndLogEx(INFO, "Communicating with PM3 over %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") : "" - ); + (g_conn.send_via_fpc_usart) ? _YELLOW_("FPC UART") : _YELLOW_("USB-CDC"), + (is_tcp_conn) ? " over " _YELLOW_("TCP") : "", + (is_bt_conn) ? " over " _YELLOW_("BT") : "" + ); if (g_conn.send_via_fpc_usart) { PrintAndLogEx(INFO, "PM3 UART serial baudrate: " _YELLOW_("%u") "\n", g_conn.uart_speed); diff --git a/client/src/emv/cmdemv.c b/client/src/emv/cmdemv.c index 1f96605e2..8a0b7f82d 100644 --- a/client/src/emv/cmdemv.c +++ b/client/src/emv/cmdemv.c @@ -89,7 +89,7 @@ static int emv_calc_cvv(const uint8_t *pan, size_t panlen, const uint8_t *expiry uint8_t *pd = d; memcpy(pd, pan, panlen); - pd += panlen; + pd += panlen; memcpy(pd, expiry, 4); pd += 4; @@ -129,7 +129,7 @@ static int emv_calc_cvv(const uint8_t *pan, size_t panlen, const uint8_t *expiry PrintAndLogEx(INFO, "enc... %s", sprint_hex_inrow(encrypted, sizeof(encrypted))); - memset(encrypted, 0, sizeof(encrypted)); + memset(encrypted, 0, sizeof(encrypted)); des3_encrypt(encrypted, d, key, 2); PrintAndLogEx(INFO, "enc... %s", sprint_hex_inrow(encrypted, sizeof(encrypted))); @@ -195,23 +195,23 @@ static struct tlvdb *emv_logtemplate_parse(const struct tlv *tlv, const unsigned } static int emv_parse_log(struct tlvdb *ttdb, const uint8_t *d, size_t n) { -/* - The Log Format (9F4F) is a list in tag and length format (i.e., "TL" instead of TLV) See description in Table 33 on page 141. + /* + The Log Format (9F4F) is a list in tag and length format (i.e., "TL" instead of TLV) See description in Table 33 on page 141. - In your example, "9F 27 01 9F 02 06 5F 2A 02 9A 03 9F 36 02 9F 52 06 DF 3E 01 9F 21 03 9F 7C 14" means: + In your example, "9F 27 01 9F 02 06 5F 2A 02 9A 03 9F 36 02 9F 52 06 DF 3E 01 9F 21 03 9F 7C 14" means: - 9F27 01 (Cryptogram Information Data) - 9F02 06 (Amount, Authorised) - 5F2A 02 (Transaction Currency Code) - 9A 03 (Transaction Date) - 9F36 02 (Application Transaction Counter) - 9F52 06 (Terminal Compatibility Indicator) - DF3E 01 - 9F21 03 (Transaction Time) - 9F7C 14 (Visa Customer Exclusive Data) + 9F27 01 (Cryptogram Information Data) + 9F02 06 (Amount, Authorised) + 5F2A 02 (Transaction Currency Code) + 9A 03 (Transaction Date) + 9F36 02 (Application Transaction Counter) + 9F52 06 (Terminal Compatibility Indicator) + DF3E 01 + 9F21 03 (Transaction Time) + 9F7C 14 (Visa Customer Exclusive Data) -*/ - int pos = 0; + */ + int pos = 0; struct tlvdb *tp = ttdb; while (tp) { const struct tlv *tpitem = tlvdb_get_tlv(tp); @@ -237,12 +237,12 @@ static int emv_parse_log(struct tlvdb *ttdb, const uint8_t *d, size_t n) { PrintAndLogEx(INFO, "%-30s... " _YELLOW_("%s"), s, sprint_hex_inrow(d + pos, tpitem->len)); break; } - + pos += tpitem->len; tp = tlvdb_elm_get_next(tp); } - return PM3_SUCCESS; + return PM3_SUCCESS; } static int emv_extract_log_info(uint8_t *response, size_t reslen, uint8_t *lid, uint8_t *lrecs) { @@ -269,7 +269,7 @@ static int emv_extract_log_info(uint8_t *response, size_t reslen, uint8_t *lid, return res; } -static int emv_parse_track1(const uint8_t *d, size_t n, bool verbose){ +static int emv_parse_track1(const uint8_t *d, size_t n, bool verbose) { if (d == NULL || n < 10) { return PM3_EINVARG; } @@ -283,31 +283,31 @@ static int emv_parse_track1(const uint8_t *d, size_t n, bool verbose){ } // decoder - char *tmp = str_ndup((const char*)d, n); + char *tmp = str_ndup((const char *)d, n); uint8_t i = 0; char delim[2] = "^"; char *token = strtok(tmp, delim); while (token != NULL) { - switch(i) { + switch (i) { 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", - 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] - ); + 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", - 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], - token[17], token[18],token[19] - ); - } + 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], + token[17], token[18], token[19] + ); + } break; } case 1: @@ -327,7 +327,7 @@ static int emv_parse_track1(const uint8_t *d, size_t n, bool verbose){ token += 4; PrintAndLogEx(INFO, "CVV / iCvv............... %.*s", 3, token); - token +=3; + token += 3; PrintAndLogEx(INFO, "Trailing................. %s", token); break; @@ -358,11 +358,11 @@ static int emv_parse_track2(const uint8_t *d, size_t n, bool verbose) { tmp++; PrintAndLogEx(INFO, "PAN...................... %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], - tmp[12],tmp[13], tmp[14],tmp[15] - ); + tmp[0], tmp[1], tmp[2], tmp[3], + tmp[4], tmp[5], tmp[6], tmp[7], + tmp[8], tmp[9], tmp[10], tmp[11], + tmp[12], tmp[13], tmp[14], tmp[15] + ); tmp += 16; if (tmp[0] == '=' || tmp[0] == 'D') @@ -378,7 +378,7 @@ static int emv_parse_track2(const uint8_t *d, size_t n, bool verbose) { tmp += 4; PrintAndLogEx(INFO, "CVV / iCvv............... %.*s", 3, tmp); - tmp +=3; + tmp += 3; PrintAndLogEx(INFO, "Trailing................. %s", tmp); @@ -2694,7 +2694,7 @@ static int CmdEMVReader(const char *Cmd) { continue; } // Log template tag - if (extra_data[i] == 0x9F4F ) { + if (extra_data[i] == 0x9F4F) { struct tlvdb *ttdb = tlvdb_find_full(tlvRoot, extra_data[i]); const struct tlv *ttag = tlvdb_get_tlv(ttdb); tlogDB = emv_logtemplate_parse(ttag, buf, len); @@ -2764,8 +2764,8 @@ static int CmdEMVReader(const char *Cmd) { } // only check for logs file if we found 0x9F4D - if ( verbose && log_found && log_template_found ) { - + if (verbose && log_found && log_template_found) { + for (int i = 1; i <= log_file_records; i++) { res = EMVReadRecord(channel, true, log_file_id, i, buf, sizeof(buf), &len, &sw, tlvRoot); if (res) { @@ -2786,7 +2786,7 @@ static int CmdEMVReader(const char *Cmd) { // free tlv object tlvdb_free(tlvRoot); - + } while (continuous); DropFieldEx(channel); diff --git a/client/src/iso4217.h b/client/src/iso4217.h index a35ff8f93..594a0bb38 100644 --- a/client/src/iso4217.h +++ b/client/src/iso4217.h @@ -31,191 +31,191 @@ const char *getCurrencyInfo(const char *cn_str); // atr_t array is expected to be NULL terminated const static iso4217_t Iso4217Table[] = { - {"008","Lek",2}, - {"012","Algerian Dinar",2}, - {"032","Argentine Peso",2}, - {"036","Australian Dollar",2}, - {"044","Bahamian Dollar",2}, - {"048","Bahraini Dinar",3}, - {"050","Taka",2}, - {"051","Armenian Dram",2}, - {"052","Barbados Dollar",2}, - {"060","Bermudian Dollar",2}, - {"064","Ngultrum",2}, - {"068","Boliviano",2}, - {"072","Pula",2}, - {"084","Belize Dollar",2}, - {"090","Solomon Islands Dollar",2}, - {"096","Brunei Dollar",2}, - {"104","Kyat",2}, - {"108","Burundi Franc",0}, - {"116","Riel",2}, - {"124","Canadian Dollar",2}, - {"132","Cabo Verde Escudo",2}, - {"136","Cayman Islands Dollar",2}, - {"144","Sri Lanka Rupee",2}, - {"152","Chilean Peso",0}, - {"156","Yuan Renminbi",2}, - {"170","Colombian Peso",2}, - {"174","Comoro Franc",0}, - {"188","Costa Rican Colon",2}, - {"191","Croatian Kuna",2}, - {"192","Cuban Peso",2}, - {"203","Czech Koruna",2}, - {"208","Danish Krone",2}, - {"214","Dominican Peso",2}, - {"222","El Salvador Colon",2}, - {"230","Ethiopian Birr",2}, - {"232","Nakfa",2}, - {"233","Kroon",2}, - {"238","Falkland Islands Pound",2}, - {"242","Fiji Dollar",2}, - {"262","Djibouti Franc",0}, - {"270","Dalasi",2}, - {"292","Gibraltar Pound",2}, - {"320","Quetzal",2}, - {"324","Guinea Franc",0}, - {"328","Guyana Dollar",2}, - {"332","Gourde",2}, - {"340","Lempira",2}, - {"344","Hong Kong Dollar",2}, - {"348","Forint",2}, - {"352","Iceland Krona",0}, - {"356","Indian Rupee",2}, - {"360","Rupiah",2}, - {"364","Iranian Rial",2}, - {"368","Iraqi Dinar",3}, - {"376","New Israeli Sheqel",2}, - {"388","Jamaican Dollar",2}, - {"392","Yen",0}, - {"398","Tenge",2}, - {"400","Jordanian Dinar",3}, - {"404","Kenyan Shilling",2}, - {"408","North Korean Won",2}, - {"410","Won",0}, - {"414","Kuwaiti Dinar",3}, - {"417","Som",2}, - {"418","Kip",2}, - {"422","Lebanese Pound",2}, - {"426","Loti",2}, - {"428","Latvian Lats",2}, - {"430","Liberian Dollar",2}, - {"434","Libyan Dinar",3}, - {"440","Lithuanian Litas",2}, - {"446","Pataca",2}, - {"454","Kwacha",2}, - {"458","Malaysian Ringgit",2}, - {"462","Rufiyaa",2}, - {"478","Ouguiya",2}, - {"480","Mauritius Rupee",2}, - {"484","Mexican Peso",2}, - {"496","Tugrik",2}, - {"498","Moldovan Leu",2}, - {"504","Moroccan Dirham",2}, - {"512","Rial Omani",3}, - {"516","Namibia Dollar",2}, - {"524","Nepalese Rupee",2}, - {"532","Netherlands Antillean Guilder",2}, - {"533","Aruban Florin",2}, - {"548","Vatu",0}, - {"554","New Zealand Dollar",2}, - {"558","Cordoba Oro",2}, - {"566","Naira",2}, - {"578","Norwegian Krone",2}, - {"586","Pakistan Rupee",2}, - {"590","Balboa",2}, - {"598","Kina",2}, - {"600","Guarani",0}, - {"604","Nuevo Sol",2}, - {"608","Philippine Peso",2}, - {"624","Guinea-Bissau Peso", -1}, - {"634","Qatari Rial",2}, - {"643","Russian Ruble",2}, - {"646","Rwanda Franc",0}, - {"654","Saint Helena Pound",2}, - {"678","Dobra",2}, - {"682","Saudi Riyal",2}, - {"690","Seychelles Rupee",2}, - {"694","Leone",2}, - {"702","Singapore Dollar",2}, - {"704","Dong",0}, - {"706","Somali Shilling",2}, - {"710","Rand",2}, - {"728","South Sudanese Pound",2}, - {"748","Lilangeni",2}, - {"752","Swedish Krona",2}, - {"756","Swiss Franc",2}, - {"760","Syrian Pound",2}, - {"764","Baht",2}, - {"776","Pa\'anga",2}, - {"780","Trinidad and Tobago Dollar",2}, - {"784","UAE Dirham",2}, - {"788","Tunisian Dinar",3}, - {"800","Uganda Shilling",0}, - {"807","Denar",2}, - {"818","Egyptian Pound",2}, - {"826","Pound Sterling",2}, - {"834","Tanzanian Shilling",2}, - {"840","US Dollar",2}, - {"858","Peso Uruguayo",2}, - {"860","Uzbekistan Sum",2}, - {"882","Tala",2}, - {"886","Yemeni Rial",2}, - {"894","Zambian Kwacha",2}, - {"901","New Taiwan Dollar",2}, - {"931","Peso Convertible",2}, - {"932","Zimbabwe Dollar",2}, - {"934","Turkmenistan New Manat",2}, - {"936","Ghana Cedi",2}, - {"937","Bolivar",2}, - {"938","Sudanese Pound",2}, - {"940","Uruguay Peso en Unidades Indexadas (URUIURUI)",0}, - {"941","Serbian Dinar",2}, - {"943","Mozambique Metical",2}, - {"944","Azerbaijanian Manat",2}, - {"946","New Romanian Leu",2}, - {"947","WIR Euro",2}, - {"948","WIR Franc",2}, - {"949","Turkish Lira",2}, - {"950","CFA Franc BEAC",0}, - {"951","East Caribbean Dollar",2}, - {"952","CFA Franc BCEAO",0}, - {"953","CFP Franc",0}, - {"955","Bond Markets Unit European Composite Unit (EURCO)",0}, - {"956","Bond Markets Unit European Monetary Unit (E.M.U.-6)",0}, - {"957","Bond Markets Unit European Unit of Account 9 (E.U.A.-9)",0}, - {"958","Bond Markets Unit European Unit of Account 17 (E.U.A.-17)",0}, - {"959","Gold",0}, - {"960","SDR (Special Drawing Right)",0}, - {"961","Silver",0}, - {"962","Platinum",0}, - {"963","Codes specifically reserved for testing purposes",-1}, - {"964","Palladium",-1}, - {"965","ADB Unit of Account",-1}, - {"967","Zambian Kwacha",2}, - {"968","Surinam Dollar",2}, - {"969","Malagasy Ariary",1}, - {"969","Malagasy Ariary",2}, - {"970","Unidad de Valor Real",2}, - {"971","Afghani",2}, - {"972","Somoni",2}, - {"973","Kwanza",2}, - {"974","Belarussian Ruble",0}, - {"975","Bulgarian Lev",2}, - {"976","Congolese Franc",2}, - {"977","Convertible Mark",2}, - {"978","Euro",2}, - {"979","Mexican Unidad de Inversion (UDI)",2}, - {"980","Hryvnia",2}, - {"981","Lari",2}, - {"984","Mvdol",2}, - {"985","Zloty",2}, - {"986","Brazilian Real",2}, - {"990","Unidad de Fomento",4}, - {"994","Sucre",-1}, - {"997","US Dollar (Next day)",2}, - {"998","US Dollar (Same day)",2}, - {"999","No currency is involved",-1}, + {"008", "Lek", 2}, + {"012", "Algerian Dinar", 2}, + {"032", "Argentine Peso", 2}, + {"036", "Australian Dollar", 2}, + {"044", "Bahamian Dollar", 2}, + {"048", "Bahraini Dinar", 3}, + {"050", "Taka", 2}, + {"051", "Armenian Dram", 2}, + {"052", "Barbados Dollar", 2}, + {"060", "Bermudian Dollar", 2}, + {"064", "Ngultrum", 2}, + {"068", "Boliviano", 2}, + {"072", "Pula", 2}, + {"084", "Belize Dollar", 2}, + {"090", "Solomon Islands Dollar", 2}, + {"096", "Brunei Dollar", 2}, + {"104", "Kyat", 2}, + {"108", "Burundi Franc", 0}, + {"116", "Riel", 2}, + {"124", "Canadian Dollar", 2}, + {"132", "Cabo Verde Escudo", 2}, + {"136", "Cayman Islands Dollar", 2}, + {"144", "Sri Lanka Rupee", 2}, + {"152", "Chilean Peso", 0}, + {"156", "Yuan Renminbi", 2}, + {"170", "Colombian Peso", 2}, + {"174", "Comoro Franc", 0}, + {"188", "Costa Rican Colon", 2}, + {"191", "Croatian Kuna", 2}, + {"192", "Cuban Peso", 2}, + {"203", "Czech Koruna", 2}, + {"208", "Danish Krone", 2}, + {"214", "Dominican Peso", 2}, + {"222", "El Salvador Colon", 2}, + {"230", "Ethiopian Birr", 2}, + {"232", "Nakfa", 2}, + {"233", "Kroon", 2}, + {"238", "Falkland Islands Pound", 2}, + {"242", "Fiji Dollar", 2}, + {"262", "Djibouti Franc", 0}, + {"270", "Dalasi", 2}, + {"292", "Gibraltar Pound", 2}, + {"320", "Quetzal", 2}, + {"324", "Guinea Franc", 0}, + {"328", "Guyana Dollar", 2}, + {"332", "Gourde", 2}, + {"340", "Lempira", 2}, + {"344", "Hong Kong Dollar", 2}, + {"348", "Forint", 2}, + {"352", "Iceland Krona", 0}, + {"356", "Indian Rupee", 2}, + {"360", "Rupiah", 2}, + {"364", "Iranian Rial", 2}, + {"368", "Iraqi Dinar", 3}, + {"376", "New Israeli Sheqel", 2}, + {"388", "Jamaican Dollar", 2}, + {"392", "Yen", 0}, + {"398", "Tenge", 2}, + {"400", "Jordanian Dinar", 3}, + {"404", "Kenyan Shilling", 2}, + {"408", "North Korean Won", 2}, + {"410", "Won", 0}, + {"414", "Kuwaiti Dinar", 3}, + {"417", "Som", 2}, + {"418", "Kip", 2}, + {"422", "Lebanese Pound", 2}, + {"426", "Loti", 2}, + {"428", "Latvian Lats", 2}, + {"430", "Liberian Dollar", 2}, + {"434", "Libyan Dinar", 3}, + {"440", "Lithuanian Litas", 2}, + {"446", "Pataca", 2}, + {"454", "Kwacha", 2}, + {"458", "Malaysian Ringgit", 2}, + {"462", "Rufiyaa", 2}, + {"478", "Ouguiya", 2}, + {"480", "Mauritius Rupee", 2}, + {"484", "Mexican Peso", 2}, + {"496", "Tugrik", 2}, + {"498", "Moldovan Leu", 2}, + {"504", "Moroccan Dirham", 2}, + {"512", "Rial Omani", 3}, + {"516", "Namibia Dollar", 2}, + {"524", "Nepalese Rupee", 2}, + {"532", "Netherlands Antillean Guilder", 2}, + {"533", "Aruban Florin", 2}, + {"548", "Vatu", 0}, + {"554", "New Zealand Dollar", 2}, + {"558", "Cordoba Oro", 2}, + {"566", "Naira", 2}, + {"578", "Norwegian Krone", 2}, + {"586", "Pakistan Rupee", 2}, + {"590", "Balboa", 2}, + {"598", "Kina", 2}, + {"600", "Guarani", 0}, + {"604", "Nuevo Sol", 2}, + {"608", "Philippine Peso", 2}, + {"624", "Guinea-Bissau Peso", -1}, + {"634", "Qatari Rial", 2}, + {"643", "Russian Ruble", 2}, + {"646", "Rwanda Franc", 0}, + {"654", "Saint Helena Pound", 2}, + {"678", "Dobra", 2}, + {"682", "Saudi Riyal", 2}, + {"690", "Seychelles Rupee", 2}, + {"694", "Leone", 2}, + {"702", "Singapore Dollar", 2}, + {"704", "Dong", 0}, + {"706", "Somali Shilling", 2}, + {"710", "Rand", 2}, + {"728", "South Sudanese Pound", 2}, + {"748", "Lilangeni", 2}, + {"752", "Swedish Krona", 2}, + {"756", "Swiss Franc", 2}, + {"760", "Syrian Pound", 2}, + {"764", "Baht", 2}, + {"776", "Pa\'anga", 2}, + {"780", "Trinidad and Tobago Dollar", 2}, + {"784", "UAE Dirham", 2}, + {"788", "Tunisian Dinar", 3}, + {"800", "Uganda Shilling", 0}, + {"807", "Denar", 2}, + {"818", "Egyptian Pound", 2}, + {"826", "Pound Sterling", 2}, + {"834", "Tanzanian Shilling", 2}, + {"840", "US Dollar", 2}, + {"858", "Peso Uruguayo", 2}, + {"860", "Uzbekistan Sum", 2}, + {"882", "Tala", 2}, + {"886", "Yemeni Rial", 2}, + {"894", "Zambian Kwacha", 2}, + {"901", "New Taiwan Dollar", 2}, + {"931", "Peso Convertible", 2}, + {"932", "Zimbabwe Dollar", 2}, + {"934", "Turkmenistan New Manat", 2}, + {"936", "Ghana Cedi", 2}, + {"937", "Bolivar", 2}, + {"938", "Sudanese Pound", 2}, + {"940", "Uruguay Peso en Unidades Indexadas (URUIURUI)", 0}, + {"941", "Serbian Dinar", 2}, + {"943", "Mozambique Metical", 2}, + {"944", "Azerbaijanian Manat", 2}, + {"946", "New Romanian Leu", 2}, + {"947", "WIR Euro", 2}, + {"948", "WIR Franc", 2}, + {"949", "Turkish Lira", 2}, + {"950", "CFA Franc BEAC", 0}, + {"951", "East Caribbean Dollar", 2}, + {"952", "CFA Franc BCEAO", 0}, + {"953", "CFP Franc", 0}, + {"955", "Bond Markets Unit European Composite Unit (EURCO)", 0}, + {"956", "Bond Markets Unit European Monetary Unit (E.M.U.-6)", 0}, + {"957", "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)", 0}, + {"958", "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)", 0}, + {"959", "Gold", 0}, + {"960", "SDR (Special Drawing Right)", 0}, + {"961", "Silver", 0}, + {"962", "Platinum", 0}, + {"963", "Codes specifically reserved for testing purposes", -1}, + {"964", "Palladium", -1}, + {"965", "ADB Unit of Account", -1}, + {"967", "Zambian Kwacha", 2}, + {"968", "Surinam Dollar", 2}, + {"969", "Malagasy Ariary", 1}, + {"969", "Malagasy Ariary", 2}, + {"970", "Unidad de Valor Real", 2}, + {"971", "Afghani", 2}, + {"972", "Somoni", 2}, + {"973", "Kwanza", 2}, + {"974", "Belarussian Ruble", 0}, + {"975", "Bulgarian Lev", 2}, + {"976", "Congolese Franc", 2}, + {"977", "Convertible Mark", 2}, + {"978", "Euro", 2}, + {"979", "Mexican Unidad de Inversion (UDI)", 2}, + {"980", "Hryvnia", 2}, + {"981", "Lari", 2}, + {"984", "Mvdol", 2}, + {"985", "Zloty", 2}, + {"986", "Brazilian Real", 2}, + {"990", "Unidad de Fomento", 4}, + {"994", "Sucre", -1}, + {"997", "US Dollar (Next day)", 2}, + {"998", "US Dollar (Same day)", 2}, + {"999", "No currency is involved", -1}, {"NULL", "N/A", -1} }; diff --git a/client/src/nfc/ndef.c b/client/src/nfc/ndef.c index 3e2e1973f..44ef70ee6 100644 --- a/client/src/nfc/ndef.c +++ b/client/src/nfc/ndef.c @@ -1050,7 +1050,7 @@ static int ndefDecodePayload(NDEFHeader_t *ndef, bool verbose) { if (str_startswith(begin, NDEF_BLUEAPPL_EP)) { - ndefDecodeMime_bt(ndef); + ndefDecodeMime_bt(ndef); } if (str_startswith(begin, NDEF_BLUEAPPL_SECURE_LE)) { ndefDecodeMime_bt_secure_le_oob(ndef); diff --git a/doc/commands.json b/doc/commands.json index d4cbf628a..40ae8cbc9 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -901,18 +901,20 @@ }, "emv reader": { "command": "emv reader", - "description": "Act as a EMV reader to identify tag. Look for EMV tags until Enter or the pm3 button is pressed", + "description": "Act as a EMV reader to identify tag. Look for EMV tags until Enter or the pm3 button is pressed In `verbose` mode it will also try to extract and decode the transaction logs stored on card in either channel.", "notes": [ "emv reader", + "emv reader -v", "emv reader -@ -> Continuous mode" ], "offline": false, "options": [ "-h, --help This help", "-w, --wired Send data via contact (iso7816) interface. (def: Contactless interface)", + "-v, --verbose verbose", "-@ continuous reader mode" ], - "usage": "emv reader [-hw@]" + "usage": "emv reader [-hwv@]" }, "emv readrec": { "command": "emv readrec", @@ -2653,8 +2655,8 @@ "hf fido auth --kh 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f -> execute command with 2 parameters, filled 0x00 and key handle", "hf fido auth", "--kh 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f", - "--cp 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f", - "--ap 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f -> execute command with parameters" + "--cpx 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f", + "--apx 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f -> execute command with parameters" ], "offline": false, "options": [ @@ -11687,6 +11689,6 @@ "metadata": { "commands_extracted": 679, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2023-07-10T18:33:37" + "extracted_on": "2023-07-14T16:33:40" } } \ No newline at end of file