]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhficlass.c
Extended iClass support with Card and Reader emulation!
[proxmark3-svn] / client / cmdhficlass.c
index 03241467fdb1aa6acad19c194e936d16a91aa2bf..cb4904fd4f94d49a222c4e5960adb1f4464726b7 100644 (file)
@@ -170,11 +170,74 @@ int CmdHFiClassSnoop(const char *Cmd)
   return 0;
 }
 
+int CmdHFiClassSim(const char *Cmd)
+{
+  uint8_t simType = 0;
+  uint8_t CSN[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+
+  if (strlen(Cmd)<2) {
+       PrintAndLog("Usage:  hf iclass sim    <sim type> <CSN (16 hex symbols)>");
+       PrintAndLog("        sample: hf iclass sim 0 031FEC8AF7FF12E0");
+       return 0;
+  }    
+
+  simType = param_get8(Cmd, 0);
+  if (param_gethex(Cmd, 1, CSN, 16)) {
+       PrintAndLog("A CSN should consist of 16 HEX symbols");
+       return 1;
+  }
+  PrintAndLog("--simtype:%02x csn:%s", simType, sprint_hex(CSN, 8));
+
+  UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType}};
+  memcpy(c.d.asBytes, CSN, 8);
+  SendCommand(&c);
+
+  /*UsbCommand * resp = WaitForResponseTimeout(CMD_ACK, 1500);
+  if (resp != NULL) {
+       uint8_t                isOK  = resp->arg[0] & 0xff;
+       PrintAndLog("isOk:%02x", isOK);
+  } else {
+       PrintAndLog("Command execute timeout");
+  }*/
+
+  return 0;
+}
+
+int CmdHFiClassReader(const char *Cmd)
+{
+  uint8_t readerType = 0;
+
+  if (strlen(Cmd)<1) {
+       PrintAndLog("Usage:  hf iclass reader    <reader type>");
+       PrintAndLog("        sample: hf iclass reader 0");
+       return 0;
+  }    
+
+  readerType = param_get8(Cmd, 0);
+  PrintAndLog("--readertype:%02x", readerType);
+
+  UsbCommand c = {CMD_READER_ICLASS, {readerType}};
+  //memcpy(c.d.asBytes, CSN, 8);
+  SendCommand(&c);
+
+  /*UsbCommand * resp = WaitForResponseTimeout(CMD_ACK, 1500);
+  if (resp != NULL) {
+       uint8_t                isOK  = resp->arg[0] & 0xff;
+       PrintAndLog("isOk:%02x", isOK);
+  } else {
+       PrintAndLog("Command execute timeout");
+  }*/
+
+  return 0;
+}
+
 static command_t CommandTable[] = 
 {
   {"help",    CmdHelp,        1, "This help"},
   {"list",    CmdHFiClassList,   0, "List iClass history"},
   {"snoop",   CmdHFiClassSnoop,  0, "Eavesdrop iClass communication"},
+  {"sim",     CmdHFiClassSim,    0, "Simulate iClass tag"},
+  {"reader",  CmdHFiClassReader, 0, "Read an iClass tag"},
   {NULL, NULL, 0, NULL}
 };
 
Impressum, Datenschutz