X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/41524d8a39f999b3a9570aa1adedf088e54b0a63..b67f7ec359806293a6da14208bad56b842dedb60:/client/cmdhficlass.c diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index b945e12b..7bc23e9b 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -364,6 +364,8 @@ int CmdHFiClassReader_Dump(const char *Cmd) snprintf(filename, 100,"iclass_tagdump-%02x%02x%02x%02x%02x%02x%02x%02x", CSN[0],CSN[1],CSN[2],CSN[3], CSN[4],CSN[5],CSN[6],CSN[7]); + //Place the div_key in block 3 + memcpy(iclass_data+(3*8), div_key, 8); saveFile(filename,"bin",iclass_data, iclass_datalen ); } //Aaaand we're finished @@ -451,11 +453,12 @@ int usage_hf_iclass_decrypt() { PrintAndLog("Usage: hf iclass decrypt f o "); PrintAndLog(""); - PrintAndLog("In order to use this function, the file 'iclass_decryptionkey.bin must reside"); + PrintAndLog("OBS! In order to use this function, the file 'iclass_decryptionkey.bin' must reside"); PrintAndLog("in the working directory. The file should be 16 bytes binary data"); + PrintAndLog(""); PrintAndLog("example: hf iclass decrypt tagdump_12312342343.bin"); PrintAndLog(""); - PrintAndLog("OBS! This is pretty stupid implementation, it tries to decrypt every block after block 5. "); + PrintAndLog("OBS! This is pretty stupid implementation, it tries to decrypt every block after block 6. "); PrintAndLog("Correct behaviour would be to decrypt only the application areas where the key is valid,"); PrintAndLog("which is defined by the configuration block."); return 1; @@ -527,7 +530,7 @@ int CmdHFiClassDecrypt(const char *Cmd) size_t blocknum =0; while(bytes_read == 8) { - if(blocknum < 6) + if(blocknum < 7) { memcpy(decrypted+(blocknum*8), enc_dump, 8); }else{