//-----------------------------------------------------------------------------
-// 2011, Merlok
+// 2011, 2017 Merlok
// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>, Hagen Fritsch
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
static int CmdHelp(const char *Cmd);
static int waitCmd(uint8_t iLen);
-// structure and database for uid -> tagtype lookups
-typedef struct {
- uint8_t uid;
- char* desc;
-} manufactureName;
-
const manufactureName manufactureMapping[] = {
// ID, "Vendor Country"
{ 0x01, "Motorola UK" },
{ 0x00, "no tag-info available" } // must be the last entry
};
-
// get a product description based on the UID
// uid[8] tag uid
// returns description of the best match
PrintAndLog("Usage: hf 14a apdu [-s] [-k] [-t] <APDU (hex)>");
PrintAndLog(" -s activate field and select card");
PrintAndLog(" -k leave the signal field ON after receive response");
- PrintAndLog(" -t executes TLV decoder if it possible");
+ PrintAndLog(" -t executes TLV decoder if it possible. TODO!!!!");
return 0;
}
PrintAndLog("<<<< %s", sprint_hex(data, datalen));
- PrintAndLog("APDU response: %02x %02x", data[datalen - 2], data[datalen - 1]); // TODO add APDU descriptions
+ PrintAndLog("APDU response: %02x %02x - %s", data[datalen - 2], data[datalen - 1], GetAPDUCodeDescription(data[datalen - 2], data[datalen - 1]));
// here TLV decoder...
if (decodeTLV) {