mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-19 04:49:38 -07:00
move hf emv search
to argtable
This commit is contained in:
parent
53edb044c0
commit
6d31653c44
1 changed files with 19 additions and 40 deletions
|
@ -11,6 +11,7 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "cmdemv.h"
|
#include "cmdemv.h"
|
||||||
#include "test/cryptotest.h"
|
#include "test/cryptotest.h"
|
||||||
|
#include "cliparser/cliparser.h"
|
||||||
|
|
||||||
int UsageCmdHFEMVSelect(void) {
|
int UsageCmdHFEMVSelect(void) {
|
||||||
PrintAndLog("HELP : Executes select applet command:\n");
|
PrintAndLog("HELP : Executes select applet command:\n");
|
||||||
|
@ -125,49 +126,27 @@ int UsageCmdHFEMVSearch(void) {
|
||||||
|
|
||||||
int CmdHFEMVSearch(const char *cmd) {
|
int CmdHFEMVSearch(const char *cmd) {
|
||||||
|
|
||||||
bool activateField = false;
|
CLIParserInit("hf 14a select",
|
||||||
bool leaveSignalON = false;
|
"Tries to select all applets from applet list:\n",
|
||||||
bool decodeTLV = false;
|
"Usage:\n\thf emv search -s -> select card and search\n\thf emv search -s -t -> select card, search and show result in TLV\n");
|
||||||
|
|
||||||
if (strlen(cmd) < 1) {
|
void* argtable[] = {
|
||||||
UsageCmdHFEMVSearch();
|
arg_param_begin,
|
||||||
return 0;
|
arg_lit0("sS", "select", "activate field and select card"),
|
||||||
}
|
arg_lit0("kK", "keep", "keep field ON for next command"),
|
||||||
|
arg_lit0("aA", "apdu", "show APDU reqests and responses"),
|
||||||
|
arg_lit0("tT", "tlv", "TLV decode results of selected applets"),
|
||||||
|
arg_param_end
|
||||||
|
};
|
||||||
|
CLIExecWithReturn(cmd, argtable, true);
|
||||||
|
|
||||||
SetAPDULogging(false);
|
bool activateField = arg_get_lit(1);
|
||||||
|
bool leaveSignalON = arg_get_lit(2);
|
||||||
|
bool APDULogging = arg_get_lit(3);
|
||||||
|
bool decodeTLV = arg_get_lit(4);
|
||||||
|
|
||||||
|
SetAPDULogging(APDULogging);
|
||||||
|
|
||||||
int cmdp = 0;
|
|
||||||
while(param_getchar(cmd, cmdp) != 0x00) {
|
|
||||||
char c = param_getchar(cmd, cmdp);
|
|
||||||
if ((c == '-') && (param_getlength(cmd, cmdp) == 2))
|
|
||||||
switch (param_getchar_indx(cmd, 1, cmdp)) {
|
|
||||||
case 'h':
|
|
||||||
case 'H':
|
|
||||||
UsageCmdHFEMVSearch();
|
|
||||||
return 0;
|
|
||||||
case 's':
|
|
||||||
case 'S':
|
|
||||||
activateField = true;
|
|
||||||
break;
|
|
||||||
case 'k':
|
|
||||||
case 'K':
|
|
||||||
leaveSignalON = true;
|
|
||||||
break;
|
|
||||||
case 'a':
|
|
||||||
case 'A':
|
|
||||||
SetAPDULogging(true);
|
|
||||||
break;
|
|
||||||
case 't':
|
|
||||||
case 'T':
|
|
||||||
decodeTLV = true;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PrintAndLog("Unknown parameter '%c'", param_getchar_indx(cmd, 1, cmdp));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
cmdp++;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct tlvdb *t = NULL;
|
struct tlvdb *t = NULL;
|
||||||
const char *al = "Applets list";
|
const char *al = "Applets list";
|
||||||
t = tlvdb_fixed(1, strlen(al), (const unsigned char *)al);
|
t = tlvdb_fixed(1, strlen(al), (const unsigned char *)al);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue