#include <inttypes.h>
#include <string.h>
#include <unistd.h>
+#include <ctype.h>
#include "util.h"
#include "util_posix.h"
#include "iso14443crc.h"
static int CmdHelp(const char *Cmd);
static int waitCmd(uint8_t iLen);
+// structure and database for uid -> tagtype lookups
+typedef struct {
+ uint8_t uid;
+ char* desc;
+} manufactureName;
-const manufactureName manufactureMapping[] = {
+static const manufactureName manufactureMapping[] = {
// ID, "Vendor Country"
{ 0x01, "Motorola UK" },
{ 0x02, "ST Microelectronics SA France" },
break;
case 'x':
case 'X':
- cm = cm - ISO14A_CONNECT;
+ cm &= ~ISO14A_CONNECT;
break;
default:
PrintAndLog("Unknown command.");
PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen));
PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]);
- PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]);
+ PrintAndLog(" SAK : %02x [%" PRIu64 "]", card.sak, resp.arg[0]);
if(card.ats_len >= 3) { // a valid ATS consists of at least the length byte (TL) and 2 CRC bytes
PrintAndLog(" ATS : %s", sprint_hex(card.ats, card.ats_len));
}
PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen));
PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]);
- PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]);
+ PrintAndLog(" SAK : %02x [%" PRIu64 "]", card.sak, resp.arg[0]);
bool isMifareClassic = true;
switch (card.sak) {
#include <stdint.h>
#include <stdbool.h>
-// structure and database for uid -> tagtype lookups
-typedef struct {
- uint8_t uid;
- char* desc;
-} manufactureName;
-
int CmdHF14A(const char *Cmd);
int CmdHF14AList(const char *Cmd);
int CmdHF14AMifare(const char *Cmd);
res = rsa_public(&cp->ctx, buf, result);
if(res) {
- printf("RSA encrypt failed. Error: %x data len: %d key len: %d\n", res * -1, len, keylen);
+ printf("RSA encrypt failed. Error: %x data len: %zd key len: %zd\n", res * -1, len, keylen);
return NULL;
}
res = rsa_private(&cp->ctx, buf, result); // CHECK???
if(res) {
- printf("RSA decrypt failed. Error: %x data len: %d key len: %d\n", res * -1, len, keylen);
+ printf("RSA decrypt failed. Error: %x data len: %zd key len: %zd\n", res * -1, len, keylen);
return NULL;
}
}
if (cert_tlv->len != enc_pk->mlen) {
- printf("ERROR: Certificate length (%d) not equal key length (%d)\n", cert_tlv->len, enc_pk->mlen);
+ printf("ERROR: Certificate length (%zd) not equal key length (%zd)\n", cert_tlv->len, enc_pk->mlen);
return NULL;
}
kcp = crypto_pk_open(enc_pk->pk_algo,
un_tlv,
NULL);
if (!data || data_len < 3) {
- printf("ERROR: can't decode message. len %d\n", data_len);
+ printf("ERROR: can't decode message. len %zd\n", data_len);
return NULL;
}
tmp = crypto_pk_get_parameter(pubk, 0, &tmp_len);
if (tmp_len != sizeof(pk_N) || memcmp(tmp, pk_N, tmp_len)) {
- fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %d len %d\n", tmp_len, sizeof(pk_N));
+ fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %zd len %zd\n", tmp_len, sizeof(pk_N));
free(tmp);
goto close_pub;
}
tmp = crypto_pk_get_parameter(privk, 0, &tmp_len);
if (tmp_len != sizeof(pk_N) || memcmp(tmp, pk_N, tmp_len)) {
- fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %d len %d\n", tmp_len, sizeof(pk_N));
+ fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %zd len %zd\n", tmp_len, sizeof(pk_N));
free(tmp);
goto close;
}
else if (x >= 'A' && x <= 'F')
x -= 'A' - 10;
else {
- printf("Discovered unknown character %c %d at idx %d of %s\n", x, x, source - start, start);
+ printf("Discovered unknown character %c %d at idx %d of %s\n", x, x, (unsigned int)(source - start), start);
return 0;
}
// output