From 3d77fdfab52f8837dbd704f5d9efe4bafa057285 Mon Sep 17 00:00:00 2001
From: caioxmag <caioxmag@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Date: Fri, 2 Sep 2011 08:33:45 +0000
Subject: [PATCH] Dump1k now writes keys to dumpdata.bin even when they are
 masked with zeroes in a read command

---
 client/cmdhfmf.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c
index 064aaaa5..9bfa055b 100644
--- a/client/cmdhfmf.c
+++ b/client/cmdhfmf.c
@@ -330,7 +330,6 @@ int CmdHF14AMfDump1k(const char *Cmd)
 	
 	for (i=0 ; i<16 ; i++) {
 		for (j=0 ; j<4 ; j++) {
-			
 			if (j == 3){
 				UsbCommand c = {CMD_MIFARE_READBL, {i*4 + j, 0, 0}};
 				memcpy(c.d.asBytes, keyA[i], 6);
@@ -358,6 +357,20 @@ int CmdHF14AMfDump1k(const char *Cmd)
 			if (resp != NULL) {
 				uint8_t isOK  = resp->arg[0] & 0xff;
 				uint8_t *data  = resp->d.asBytes;
+				if (j == 3) {
+					data[0]  = (keyA[i][0]);
+					data[1]  = (keyA[i][1]);
+					data[2]  = (keyA[i][2]);
+					data[3]  = (keyA[i][3]);
+					data[4]  = (keyA[i][4]);
+					data[5]  = (keyA[i][5]);
+					data[10] = (keyB[i][0]);
+					data[11] = (keyB[i][1]);
+					data[12] = (keyB[i][2]);
+					data[13] = (keyB[i][3]);
+					data[14] = (keyB[i][4]);
+					data[15] = (keyB[i][5]);
+				}
 				if (isOK) {
 					fwrite ( data, 1, 16, fout );
 				}
-- 
2.39.5