X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/8ceb6b03e5caee0cc7292894bfa25fa4a3f85c4c..refs/pull/120/head:/client/cmdhf.c?ds=sidebyside

diff --git a/client/cmdhf.c b/client/cmdhf.c
index 524d9c2e..16f7bb0f 100644
--- a/client/cmdhf.c
+++ b/client/cmdhf.c
@@ -85,9 +85,14 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
 	case MIFARE_MAGICWIPEC:			snprintf(exp,size,"MAGIC WIPEC"); break;
 	case MIFARE_ULC_AUTH_1:		snprintf(exp,size,"AUTH "); break;
 	case MIFARE_ULC_AUTH_2:		snprintf(exp,size,"AUTH_ANSW"); break;
-	case MIFARE_ULEV1_AUTH:		snprintf(exp,size,"PWD-AUTH"); break;
+	case MIFARE_ULEV1_AUTH:
+		if ( cmdsize == 7 )
+			snprintf(exp,size,"PWD-AUTH KEY: 0x%02x%02x%02x%02x", cmd[1], cmd[2], cmd[3], cmd[4] );
+		else
+			snprintf(exp,size,"PWD-AUTH");
+		break;
 	case MIFARE_ULEV1_FASTREAD:{
-		if ( cmdsize >=3 && cmd[2] < 0x21)
+		if ( cmdsize >=3 && cmd[2] <= 0xE6)
 			snprintf(exp,size,"READ RANGE (%d-%d)",cmd[1],cmd[2]); 
 		else
 			snprintf(exp,size,"?");
@@ -546,17 +551,28 @@ int CmdHFList(const char *Cmd)
 
 int CmdHFSearch(const char *Cmd){
 	int ans = 0;
-	ans = CmdHF14AReader(Cmd);
-	if (ans > 0) return ans;
+	PrintAndLog("");
+	ans = CmdHF14AReader("s");
+	if (ans > 0) {
+		PrintAndLog("\nValid ISO14443A Tag Found - Quiting Search\n");
+		return ans;
+	} 
+	ans = HFiClassReader("", false, false);
+	if (ans) {
+		PrintAndLog("\nValid iClass Tag (or PicoPass Tag) Found - Quiting Search\n");
+		return ans;
+	}
+	ans = HF15Reader("", false);
+	if (ans) {
+		PrintAndLog("\nValid ISO15693 Tag Found - Quiting Search\n");
+		return ans;
+	}
 
-	ans = CmdHF15Reader(Cmd);
-	//if (ans > 0) return ans;	
 
-	ans = CmdHF14BRead(Cmd);
+	//14b has issues currently...
+	//ans = CmdHF14BRead(Cmd);
 	//if (ans > 0) return ans;
 
-	ans = CmdHFiClassReader(Cmd);
-	//if (ans > 0) return ans;
 	return 0;
 }
 
@@ -573,7 +589,7 @@ static command_t CommandTable[] =
   {"mfu",         CmdHFMFUltra,     1, "{ MIFARE Ultralight RFIDs... }"},
   {"tune",        CmdHFTune,        0, "Continuously measure HF antenna tuning"},
   {"list",        CmdHFList,        1, "List protocol data in trace buffer"},
-  {"search",      CmdHFSearch,      1, "Search for known HF tags"},
+  {"search",      CmdHFSearch,      1, "Search for known HF tags [preliminary]"},
 	{NULL, NULL, 0, NULL}
 };