X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/ad5bc8cc8c0a6573d6b2c7bc58bf94f7ab66ad4c..5b749dcb0e33306ac3845d43ded3b391da0c9bc5:/common/protocols.h?ds=sidebyside diff --git a/common/protocols.h b/common/protocols.h index 38c72fc0..96a4b178 100644 --- a/common/protocols.h +++ b/common/protocols.h @@ -1,6 +1,11 @@ #ifndef PROTOCOLS_H #define PROTOCOLS_H +#include +#include +#include + + //The following data is taken from http://www.proxmark.org/forum/viewtopic.php?pid=13501#p13501 /* ISO14443A (usually NFC tags) @@ -326,8 +331,11 @@ ISO 7816-4 Basic interindustry commands. For command APDU's. #define MFDES_AUTHENTICATION_FRAME 0xAF // LEGIC Commands -#define LEGIC_HSK_22 0x19 -#define LEGIC_HSK_256 0x39 +#define LEGIC_MIM_22 0x0D +#define LEGIC_MIM_256 0x1D +#define LEGIC_MIM_1024 0x3D +#define LEGIC_ACK_22 0x19 +#define LEGIC_ACK_256 0x39 #define LEGIC_READ 0x01 #define LEGIC_WRITE 0x00 @@ -386,5 +394,27 @@ void getMemConfig(uint8_t mem_cfg, uint8_t chip_cfg, uint8_t *max_blk, uint8_t * uint32_t GetT55xxClockBit(uint32_t clock); +// iclass / picopass chip config structures and shared routines +typedef struct { + uint8_t app_limit; //[8] + uint8_t otp[2]; //[9-10] + uint8_t block_writelock;//[11] + uint8_t chip_config; //[12] + uint8_t mem_config; //[13] + uint8_t eas; //[14] + uint8_t fuses; //[15] +} picopass_conf_block; + + +typedef struct { + uint8_t csn[8]; + picopass_conf_block conf; + uint8_t epurse[8]; + uint8_t key_d[8]; + uint8_t key_c[8]; + uint8_t app_issuer_area[8]; +} picopass_hdr; + + #endif // PROTOCOLS_H