]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - include/mifare.h
CHG: `lf em` - refactored @marshmellow42 's em paritycheck.
[proxmark3-svn] / include / mifare.h
index 403132ac8a8294c75598050632503a2109a93083..e6643f5f235f95b34d82631f56019539c393a8d6 100644 (file)
@@ -11,7 +11,7 @@
 #ifndef _MIFARE_H_
 #define _MIFARE_H_
 
-#include "../include/common.h"
+#include "common.h"
 
 //-----------------------------------------------------------------------------
 // ISO 14443A
@@ -26,14 +26,59 @@ 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_command_t;
 
+
+//-----------------------------------------------------------------------------
+// ISO 14443B
+//-----------------------------------------------------------------------------
+typedef struct {
+       byte_t uid[10];
+       byte_t uidlen;
+       byte_t atqb[7];
+       byte_t chipid;
+       byte_t cid;
+} __attribute__((__packed__)) iso14b_card_select_t;
+
+
+typedef enum ISO14B_COMMAND {
+       ISO14B_CONNECT =                        (1 << 0),
+       ISO14B_DISCONNECT =                     (1 << 1),
+       ISO14B_APDU =                           (1 << 2),
+       ISO14B_RAW =                            (1 << 3),
+       ISO14B_REQUEST_TRIGGER =        (1 << 4),
+       ISO14B_APPEND_CRC =                     (1 << 5),
+       ISO14B_SELECT_STD =                     (1 << 6),
+       ISO14B_SELECT_SR =                      (1 << 7)
+} iso14b_command_t;
+
+//-----------------------------------------------------------------------------
+// "hf 14a sim x", "hf mf sim x" attacks
+//-----------------------------------------------------------------------------
+typedef struct {
+  uint32_t cuid;
+  uint32_t nonce;
+  uint32_t ar;
+  uint32_t nr;
+  uint32_t nonce2;
+  uint32_t ar2;
+  uint32_t nr2;
+  uint8_t  sector;
+  uint8_t  keytype;
+  enum {
+               EMPTY,
+               FIRST,
+               SECOND,
+       } state;
+} nonces_t;
+
 #endif // _MIFARE_H_
Impressum, Datenschutz