X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/f6c18637ca504d2eea0bc3accaabddd132d749fb..0a0d9a582816e7e9dd3c19baafe4d551991db40c:/client/cmdhfmfdes.c diff --git a/client/cmdhfmfdes.c b/client/cmdhfmfdes.c index c0c7a67e..f72cfecd 100644 --- a/client/cmdhfmfdes.c +++ b/client/cmdhfmfdes.c @@ -12,7 +12,8 @@ #include #include #include -#include +//#include +#include "loclass/des.h" #include "cmdmain.h" #include "proxmark3.h" #include "../include/common.h" @@ -23,13 +24,15 @@ #include "cmdparser.h" #include "util.h" #include "cmdhfmfdes.h" +#include "cmdhf14a.h" + uint8_t CMDPOS = 0; uint8_t LENPOS = 1; -uint8_t key_zero_data[16] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; +uint8_t key_zero_data[16] = { 0x00 }; +uint8_t key_ones_data[16] = { 0x01 }; uint8_t key_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; -uint8_t key_ones_data[16] = { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 }; 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); @@ -157,7 +160,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]); @@ -165,7 +168,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]); @@ -210,17 +213,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 @@ -236,7 +228,7 @@ char * GetCardSizeStr( uint8_t fsize ){ uint16_t lsize = 1 << (fsize >>1); // is LSB set? - if ( fsize & (1 << 0 ) ) + if ( fsize & 1 ) sprintf(retStr, "0x%02X (%d - %d bytes)",fsize, usize, lsize); else sprintf(retStr, "0x%02X (%d bytes)", fsize, lsize); @@ -251,7 +243,7 @@ char * GetProtocolStr(uint8_t id){ if ( id == 0x05) sprintf(retStr,"0x%02X (ISO 14443-3, 14443-4)", id); else - sprintf(retStr,"0x%02X", id); + sprintf(retStr,"0x%02X (Unknown)", id); return buf; } @@ -537,11 +529,6 @@ int CmdHF14ADesEnumApplications(const char *Cmd){ return 1; } -int CmdHF14ADesNonces(const char *Cmd){ - return 1; -} - -// // MIAFRE DesFire Authentication // #define BUFSIZE 256 @@ -670,7 +657,6 @@ static command_t CommandTable[] = {"wb", CmdHF14ADesWb, 0, "write MIFARE DesFire block"}, {"info", CmdHF14ADesInfo, 0, "Get MIFARE DesFire information"}, {"enum", CmdHF14ADesEnumApplications,0, "Tries enumerate all applications"}, - {"nonce", CmdHF14ADesNonces, 0, " Collect n>0 nonces"}, {NULL, NULL, 0, NULL} };