X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/49dc1d0a9eafdb1e369ead88c3c8882bc6959a17..0ad1a1d492ab62eb42c1eb7b4ce6fff05d90e0a3:/client/cmdhfmfdes.c diff --git a/client/cmdhfmfdes.c b/client/cmdhfmfdes.c index c3cdde2c..516b41bd 100644 --- a/client/cmdhfmfdes.c +++ b/client/cmdhfmfdes.c @@ -24,6 +24,8 @@ #include "cmdparser.h" #include "util.h" #include "cmdhfmfdes.h" +#include "cmdhf14a.h" + uint8_t CMDPOS = 0; uint8_t LENPOS = 1; @@ -34,9 +36,6 @@ uint8_t key_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, uint8_t key_picc_data[16] = { 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f }; static int CmdHelp(const char *Cmd); -static void xor(unsigned char * dst, unsigned char * src, size_t len); -static int32_t le24toh (uint8_t data[3]); - int CmdHF14ADesWb(const char *Cmd) { @@ -158,7 +157,7 @@ int CmdHF14ADesInfo(const char *Cmd){ PrintAndLog(" Production date : week %02x, 20%02x",resp.d.asBytes[33], resp.d.asBytes[34]); PrintAndLog(" -----------------------------------------------------------"); PrintAndLog(" Hardware Information"); - PrintAndLog(" Vendor Id : %s", GetVendorStr(resp.d.asBytes[7])); + PrintAndLog(" Vendor Id : %s", getTagInfo(resp.d.asBytes[7])); PrintAndLog(" Type : 0x%02X",resp.d.asBytes[8]); PrintAndLog(" Subtype : 0x%02X",resp.d.asBytes[9]); PrintAndLog(" Version : %d.%d",resp.d.asBytes[10], resp.d.asBytes[11]); @@ -166,7 +165,7 @@ int CmdHF14ADesInfo(const char *Cmd){ PrintAndLog(" Protocol : %s",GetProtocolStr(resp.d.asBytes[13])); PrintAndLog(" -----------------------------------------------------------"); PrintAndLog(" Software Information"); - PrintAndLog(" Vendor Id : %s",GetVendorStr(resp.d.asBytes[14])); + PrintAndLog(" Vendor Id : %s", getTagInfo(resp.d.asBytes[14])); PrintAndLog(" Type : 0x%02X",resp.d.asBytes[15]); PrintAndLog(" Subtype : 0x%02X",resp.d.asBytes[16]); PrintAndLog(" Version : %d.%d",resp.d.asBytes[17], resp.d.asBytes[18]); @@ -211,17 +210,6 @@ int CmdHF14ADesInfo(const char *Cmd){ return 1; } -char * GetVendorStr( uint8_t id){ - static char buf[30]; - char *retStr = buf; - - if ( id == 0x04 ) - sprintf(retStr, "0x%02X (NXP)",id); - else - sprintf(retStr,"0x%02X (Unknown)",id); - return buf; -} - /* The 7 MSBits (= n) code the storage size itself based on 2^n, the LSBit is set to '0' if the size is exactly 2^n @@ -649,23 +637,14 @@ int CmdHF14ADesAuth(const char *Cmd){ } -static void xor(unsigned char * dst, unsigned char * src, size_t len) { - for( ; len > 0; len--,dst++,src++) - *dst ^= *src; -} - -static int32_t le24toh (uint8_t data[3]) { - return (data[2] << 16) | (data[1] << 8) | data[0]; -} - static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"auth", CmdHF14ADesAuth, 0, "Tries a MIFARE DesFire Authentication"}, - {"rb", CmdHF14ADesRb, 0, "Read MIFARE DesFire block"}, - {"wb", CmdHF14ADesWb, 0, "write MIFARE DesFire block"}, {"info", CmdHF14ADesInfo, 0, "Get MIFARE DesFire information"}, {"enum", CmdHF14ADesEnumApplications,0, "Tries enumerate all applications"}, + {"auth", CmdHF14ADesAuth, 0, "Tries a MIFARE DesFire Authentication"}, + {"rdbl", CmdHF14ADesRb, 0, "Read MIFARE DesFire block"}, + {"wrbl", CmdHF14ADesWb, 0, "write MIFARE DesFire block"}, {NULL, NULL, 0, NULL} };