]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlft55xx.h
ADD: `analyse nuid` - generates NUID 4byte from a UID 7byte. Mifare Classic Ev1...
[proxmark3-svn] / client / cmdlft55xx.h
index 4276b1fa46582f737db96eb9542d9a0beaf8e9e2..131cc88221226085183fde7836cd70ca7d4f2f8a 100644 (file)
 #ifndef CMDLFT55XX_H__\r
 #define CMDLFT55XX_H__\r
 \r
 #ifndef CMDLFT55XX_H__\r
 #define CMDLFT55XX_H__\r
 \r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <inttypes.h>\r
+#include "proxmark3.h"\r
+#include "ui.h"\r
+#include "graph.h"\r
+#include "cmdmain.h"\r
+#include "cmdparser.h"\r
+#include "cmddata.h"\r
+#include "cmdlf.h"\r
+#include "util.h"\r
+#include "data.h"\r
+#include "lfdemod.h"\r
+#include "cmdhf14a.h" //for getTagInfo\r
+\r
+\r
+#define T55x7_CONFIGURATION_BLOCK 0x00\r
+#define T55x7_PAGE0 0x00\r
+#define T55x7_PAGE1 0x01\r
+#define T55x7_PWD      0x00000010\r
+#define REGULAR_READ_MODE_BLOCK 0xFF\r
+\r
 // config blocks\r
 #define T55X7_DEFAULT_CONFIG_BLOCK      0x000880E8      // compat mode, data rate 32, manchester, ST, 7 data blocks\r
 #define T55X7_RAW_CONFIG_BLOCK          0x000880E0      // compat mode, data rate 32, manchester, 7 data blocks\r
 // config blocks\r
 #define T55X7_DEFAULT_CONFIG_BLOCK      0x000880E8      // compat mode, data rate 32, manchester, ST, 7 data blocks\r
 #define T55X7_RAW_CONFIG_BLOCK          0x000880E0      // compat mode, data rate 32, manchester, 7 data blocks\r
-\r
 #define T55X7_EM_UNIQUE_CONFIG_BLOCK    0x00148040      // emulate em4x02/unique - compat mode, manchester, data rate 64, 2 data blocks\r
 #define T55X7_EM_UNIQUE_CONFIG_BLOCK    0x00148040      // emulate em4x02/unique - compat mode, manchester, data rate 64, 2 data blocks\r
-\r
-\r
 // FDXB requires data inversion and BiPhase 57 is simply BipHase 50 inverted, so we can either do it using the modulation scheme or the inversion flag\r
 // we've done both below to prove that it works either way, and the modulation value for BiPhase 50 in the Atmel data sheet of binary "10001" (17) is a typo,\r
 // and it should actually be "10000" (16)\r
 // FDXB requires data inversion and BiPhase 57 is simply BipHase 50 inverted, so we can either do it using the modulation scheme or the inversion flag\r
 // we've done both below to prove that it works either way, and the modulation value for BiPhase 50 in the Atmel data sheet of binary "10001" (17) is a typo,\r
 // and it should actually be "10000" (16)\r
@@ -107,7 +126,6 @@ typedef struct {
 t55xx_conf_block_t Get_t55xx_Config();\r
 void Set_t55xx_Config(t55xx_conf_block_t conf);\r
 \r
 t55xx_conf_block_t Get_t55xx_Config();\r
 void Set_t55xx_Config(t55xx_conf_block_t conf);\r
 \r
-\r
 int CmdLFT55XX(const char *Cmd);\r
 int CmdT55xxSetConfig(const char *Cmd);\r
 int CmdT55xxReadBlock(const char *Cmd);\r
 int CmdLFT55XX(const char *Cmd);\r
 int CmdT55xxSetConfig(const char *Cmd);\r
 int CmdT55xxReadBlock(const char *Cmd);\r
@@ -131,6 +149,7 @@ int printConfiguration( t55xx_conf_block_t b);
 \r
 bool DecodeT55xxBlock();\r
 bool tryDetectModulation();\r
 \r
 bool DecodeT55xxBlock();\r
 bool tryDetectModulation();\r
+bool testKnownConfigBlock(uint32_t block0);\r
 bool test(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk, bool *Q5);\r
 int special(const char *Cmd);\r
 int AquireData( uint8_t page, uint8_t block, bool pwdmode, uint32_t password );\r
 bool test(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk, bool *Q5);\r
 int special(const char *Cmd);\r
 int AquireData( uint8_t page, uint8_t block, bool pwdmode, uint32_t password );\r
Impressum, Datenschutz