// Are we handling the (optional) second part uid?
if (long_uid > 0xffffffff) {
- PrintAndLog("Emulating ISO/IEC 14443 type A tag with 7 byte UID (%014llx)",long_uid);
+ PrintAndLog("Emulating ISO/IEC 14443 type A tag with 7 byte UID (%014"llx")",long_uid);
// Store the second part
c.arg[2] = (long_uid & 0xffffffff);
long_uid >>= 32;
int CmdLegicRfWrite(const char *Cmd)
{
UsbCommand c={CMD_WRITER_LEGIC_RF};
- int res = sscanf(Cmd, " 0x%llx 0x%llx", &c.arg[0], &c.arg[1]);
+ int res = sscanf(Cmd, " 0x%"llx" 0x%"llx, &c.arg[0], &c.arg[1]);
if(res != 2) {
PrintAndLog("Please specify the offset and length as two hex strings");
return -1;
PrintAndLog("Key not found (lfsr_common_prefix list is null). Nt=%08x", nt); \r
} else {\r
printf("------------------------------------------------------------------\n");\r
- PrintAndLog("Key found:%012llx \n", r_key);\r
+ PrintAndLog("Key found:%012"llx" \n", r_key);\r
\r
num_to_bytes(r_key, 6, keyBlock);\r
isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key);\r
}\r
if (!isOK) \r
- PrintAndLog("Found valid key:%012llx", r_key);\r
+ PrintAndLog("Found valid key:%012"llx, r_key);\r
else\r
{\r
if (isOK != 2) PrintAndLog("Found invalid key. ( Nt=%08x ,Trying use it to run again...", nt); \r
if (res)\r
res = mfCheckKeys(trgBlockNo, trgKeyType, 8, &keyBlock[6 * 8], &key64);\r
if (!res) {\r
- PrintAndLog("Found valid key:%012llx", key64);\r
+ PrintAndLog("Found valid key:%012"llx, key64);\r
\r
// transfer key to the emulator\r
if (transferToEml) {\r
if (res)\r
res = mfCheckKeys(trgBlockNo, trgKeyType, 8, &keyBlock[6 * 8], &key64);\r
if (!res) {\r
- PrintAndLog("Found valid key:%012llx", key64); \r
+ PrintAndLog("Found valid key:%012"llx, key64);\r
e_sector[trgBlockNo / 4].foundKey[trgKeyType] = 1;\r
e_sector[trgBlockNo / 4].Key[trgKeyType] = key64;\r
}\r
PrintAndLog("|sec|key A |res|key B |res|");\r
PrintAndLog("|---|----------------|---|----------------|---|");\r
for (i = 0; i < SectorsCnt; i++) {\r
- PrintAndLog("|%03d| %012llx | %d | %012llx | %d |", i, \r
+ PrintAndLog("|%03d| %012"llx" | %d | %012"llx" | %d |", i,\r
e_sector[i].Key[0], e_sector[i].foundKey[0], e_sector[i].Key[1], e_sector[i].foundKey[1]);\r
}\r
PrintAndLog("|---|----------------|---|----------------|---|");\r
}\r
memset(keyBlock + 6 * keycnt, 0, 6);\r
num_to_bytes(strtoll(buf, NULL, 16), 6, keyBlock + 6*keycnt);\r
- PrintAndLog("chk custom key[%d] %012llx", keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
+ PrintAndLog("chk custom key[%d] %012"llx, keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
keycnt++;\r
}\r
} else {\r
res = mfCheckKeys(b, t, size, keyBlock +6*c, &key64);\r
if (res !=1) {\r
if (!res) {\r
- PrintAndLog("Found valid key:[%012llx]",key64);\r
+ PrintAndLog("Found valid key:[%012"llx"]",key64);\r
if (transferToEml) {\r
uint8_t block[16];\r
mfEmlGetMem(block, get_trailer_block(b), 1);\r
}\r
keyA = bytes_to_num(data, 6);\r
keyB = bytes_to_num(data + 10, 6);\r
- PrintAndLog("|%03d| %012llx | %012llx |", i, keyA, keyB);\r
+ PrintAndLog("|%03d| %012"llx" | %012"llx" |", i, keyA, keyB);\r
}\r
PrintAndLog("|---|----------------|----------------|");\r
\r
UsbCommand c = {CMD_WRITE_TI_TYPE};
int res = 0;
- res = sscanf(Cmd, "0x%llx 0x%llx 0x%llx ", &c.arg[0], &c.arg[1], &c.arg[2]);
+ res = sscanf(Cmd, "0x%"PRIu64"x 0x%"PRIu64"x 0x%"PRIu64"x ", &c.arg[0], &c.arg[1], &c.arg[2]);
if (res == 2) c.arg[2]=0;
if (res < 2)
PrintAndLog("Please specify the data as two hex strings, optionally the CRC as a third");
/*
// Debug
printf("UsbCommand length[len=%zd]\n",sizeof(UsbCommand));
- printf(" cmd[len=%zd]: %llx\n",sizeof(UC->cmd),UC->cmd);
- printf(" arg0[len=%zd]: %llx\n",sizeof(UC->arg[0]),UC->arg[0]);
- printf(" arg1[len=%zd]: %llx\n",sizeof(UC->arg[1]),UC->arg[1]);
- printf(" arg2[len=%zd]: %llx\n",sizeof(UC->arg[2]),UC->arg[2]);
+ printf(" cmd[len=%zd]: %"llx"\n",sizeof(UC->cmd),UC->cmd);
+ printf(" arg0[len=%zd]: %"llx"\n",sizeof(UC->arg[0]),UC->arg[0]);
+ printf(" arg1[len=%zd]: %"llx"\n",sizeof(UC->arg[1]),UC->arg[1]);
+ printf(" arg2[len=%zd]: %"llx"\n",sizeof(UC->arg[2]),UC->arg[2]);
printf(" data[len=%zd]: %02x%02x%02x...\n",sizeof(UC->d.asBytes),UC->d.asBytes[0],UC->d.asBytes[1],UC->d.asBytes[2]);
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include "proxmark3.h"
#include "sleep.h"
//#include "proxusb.h"
#include "flash.h"
*state = resp.arg[0];
break;
default:
- fprintf(stderr, "Error: Couldn't get proxmark state, bad response type: 0x%04llx\n", resp.cmd);
+ fprintf(stderr, "Error: Couldn't get proxmark state, bad response type: 0x%04"llx"\n", resp.cmd);
return -1;
break;
}
UsbCommand ack;
ReceiveCommand(&ack);
if (ack.cmd != CMD_ACK) {
- printf("Error: Unexpected reply 0x%04llx (expected ACK)\n", ack.cmd);
+ printf("Error: Unexpected reply 0x%04"llx" (expected ACK)\n", ack.cmd);
return -1;
}
return 0;
#include <stdlib.h>
#include <string.h>
#include "sleep.h"
-//#include "proxusb.h"
+#include "proxmark3.h"
#include "flash.h"
#include "uart.h"
#include "usb_cmd.h"
void cmd_debug(UsbCommand* UC) {
// Debug
printf("UsbCommand length[len=%zd]\n",sizeof(UsbCommand));
- printf(" cmd[len=%zd]: %016llx\n",sizeof(UC->cmd),UC->cmd);
- printf(" arg0[len=%zd]: %016llx\n",sizeof(UC->arg[0]),UC->arg[0]);
- printf(" arg1[len=%zd]: %016llx\n",sizeof(UC->arg[1]),UC->arg[1]);
- printf(" arg2[len=%zd]: %016llx\n",sizeof(UC->arg[2]),UC->arg[2]);
+ printf(" cmd[len=%zd]: %016"llx"\n",sizeof(UC->cmd),UC->cmd);
+ printf(" arg0[len=%zd]: %016"llx"\n",sizeof(UC->arg[0]),UC->arg[0]);
+ printf(" arg1[len=%zd]: %016"llx"\n",sizeof(UC->arg[1]),UC->arg[1]);
+ printf(" arg2[len=%zd]: %016"llx"\n",sizeof(UC->arg[2]),UC->arg[2]);
printf(" data[len=%zd]: ",sizeof(UC->d.asBytes));
for (size_t i=0; i<16; i++) {
printf("%02x",UC->d.asBytes[i]);
// MIFARE Darkside hack
//-----------------------------------------------------------------------------
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+#define llx PRIx64
+
#include "nonce2key.h"
#include "ui.h"
// Reset the last three significant bits of the reader nonce
nr &= 0xffffff1f;
- PrintAndLog("\nuid(%08x) nt(%08x) par(%016llx) ks(%016llx)\n\n",uid,nt,par_info,ks_info);
+ PrintAndLog("\nuid(%08x) nt(%08x) par(%016"llx") ks(%016"llx")\n\n",uid,nt,par_info,ks_info);
for (pos=0; pos<8; pos++)
{
#ifndef __NONCE2KEY_H
#define __NONCE2KEY_H
-#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include "crapto1.h"
int main(int argc, char* argv[]) {
srand(time(0));
+
+ printf("lala: %08"llx"",(uint64_t)0xaabb11223344);
+ return 0;
if (argc < 2) {
printf("syntax: %s <port>\n\n",argv[0]);
#ifndef PROXMARK3_H__
#define PROXMARK3_H__
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+#define llx PRIx64
+
#include <usb.h>
#include "usb_cmd.h"
#include "crapto1.h"
+#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+#define llx PRIx64
#include <stdio.h>
typedef unsigned char byte_t;
}
sscanf(argv[1],"%08x",&uid);
sscanf(argv[2],"%08x",&nt);
- sscanf(argv[3],"%016llx",&par_info);
- sscanf(argv[4],"%016llx",&ks_info);
+ sscanf(argv[3],"%016"llx,&par_info);
+ sscanf(argv[4],"%016"llx,&ks_info);
// Reset the last three significant bits of the reader nonce
nr &= 0xffffff1f;
- printf("\nuid(%08x) nt(%08x) par(%016llx) ks(%016llx)\n\n",uid,nt,par_info,ks_info);
+ printf("\nuid(%08x) nt(%08x) par(%016"llx") ks(%016"llx")\n\n",uid,nt,par_info,ks_info);
for (pos=0; pos<8; pos++)
{
state = lfsr_common_prefix(nr,rr,ks3x,par);
lfsr_rollback_word(state,uid^nt,0);
crypto1_get_lfsr(state,&key_recovered);
- printf("\nkey recovered: %012llx\n\n",key_recovered);
+ printf("\nkey recovered: %012"llx"\n\n",key_recovered);
crypto1_destroy(state);
return 0;