- if (strlen(Cmd) < 1 || param_getchar(Cmd, argi) == 'h') {\r
- PrintAndLog("Usage: hf mf csetuid <UID 8 hex symbols> [ATQA 4 hex symbols SAK 2 hex symbols] [w]");\r
+ uint8_t needHelp = 0;\r
+ char cmdp = 1;\r
+ \r
+ if (param_getchar(Cmd, 0) && param_gethex(Cmd, 0, uid, 8)) {\r
+ PrintAndLog("UID must include 8 HEX symbols");\r
+ return 1;\r
+ }\r
+\r
+ if (param_getlength(Cmd, 1) > 1 && param_getlength(Cmd, 2) > 1) {\r
+ atqaPresent = 1;\r
+ cmdp = 3;\r
+ \r
+ if (param_gethex(Cmd, 1, atqa, 4)) {\r
+ PrintAndLog("ATQA must include 4 HEX symbols");\r
+ return 1;\r
+ }\r
+ \r
+ if (param_gethex(Cmd, 2, sak, 2)) {\r
+ PrintAndLog("SAK must include 2 HEX symbols");\r
+ return 1;\r
+ }\r
+ }\r
+\r
+ while(param_getchar(Cmd, cmdp) != 0x00)\r
+ {\r
+ switch(param_getchar(Cmd, cmdp))\r
+ {\r
+ case 'h':\r
+ case 'H':\r
+ needHelp = 1;\r
+ break;\r
+ default:\r
+ PrintAndLog("ERROR: Unknown parameter '%c'", param_getchar(Cmd, cmdp));\r
+ needHelp = 1;\r
+ break;\r
+ }\r
+ cmdp++;\r
+ }\r
+\r
+ if (strlen(Cmd) < 1 || needHelp) {\r
+ PrintAndLog("");\r
+ PrintAndLog("Usage: hf mf csetuid <UID 8 hex symbols> [ATQA 4 hex symbols SAK 2 hex symbols]");\r