X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/5f6d6c900397b1c5cd6c31577480577f1c0d5cda..d3f8d76d6c157e7ffc8cf03536f73c30fe2ab561:/include/mifare.h?ds=inline diff --git a/include/mifare.h b/include/mifare.h index e2b7a7c5..dbf5ed39 100644 --- a/include/mifare.h +++ b/include/mifare.h @@ -13,6 +13,15 @@ #include "common.h" +#define MF_KEY_A 0 +#define MF_KEY_B 1 + +#define MF_MAD1_SECTOR 0x00 +#define MF_MAD2_SECTOR 0x10 + +// Fixed encrypted nonce used for nested attack with fixed nonce tags +#define NESTED_FIXED_NR_ENC {0x70, 0x69, 0x77, 0x69} + //----------------------------------------------------------------------------- // ISO 14443A //----------------------------------------------------------------------------- @@ -26,14 +35,31 @@ typedef struct { } __attribute__((__packed__)) iso14a_card_select_t; typedef enum ISO14A_COMMAND { - ISO14A_CONNECT = 1, - ISO14A_NO_DISCONNECT = 2, - ISO14A_APDU = 4, - ISO14A_RAW = 8, - ISO14A_REQUEST_TRIGGER = 0x10, - ISO14A_APPEND_CRC = 0x20, - ISO14A_SET_TIMEOUT = 0x40, - ISO14A_NO_SELECT = 0x80 + ISO14A_CONNECT = (1 << 0), + ISO14A_NO_DISCONNECT = (1 << 1), + ISO14A_APDU = (1 << 2), + ISO14A_RAW = (1 << 3), + ISO14A_REQUEST_TRIGGER = (1 << 4), + ISO14A_APPEND_CRC = (1 << 5), + ISO14A_SET_TIMEOUT = (1 << 6), + ISO14A_NO_SELECT = (1 << 7), + ISO14A_TOPAZMODE = (1 << 8), + ISO14A_NO_RATS = (1 << 9), + ISO14A_SEND_CHAINING = (1 << 10), + ISO14A_CLEAR_TRACE = (1 << 11) } iso14a_command_t; +typedef struct { + uint32_t cuid; + uint8_t sector; + uint8_t keytype; + uint32_t nonce; + uint32_t ar; + uint32_t nr; + uint32_t at; + uint32_t nonce2; + uint32_t ar2; + uint32_t nr2; +} nonces_t; + #endif // _MIFARE_H_