X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/d19929cbe8d681b60496ca6d9d9cbd806822e163..6b758d652db1f0eae526ec62b0ccb9bcd303b1f4:/include/hitag2.h diff --git a/include/hitag2.h b/include/hitag2.h index 3ed2b9fc..2406c649 100644 --- a/include/hitag2.h +++ b/include/hitag2.h @@ -7,14 +7,29 @@ //----------------------------------------------------------------------------- // Hitag2 type prototyping //----------------------------------------------------------------------------- +// HitagS added +//----------------------------------------------------------------------------- #ifndef _HITAG2_H_ #define _HITAG2_H_ +#ifdef _MSC_VER +#define PACKED +#else +#define PACKED __attribute__((packed)) +#endif + typedef enum { - RHT2F_PASSWORD = 21, - RHT2F_AUTHENTICATE = 22, - RHT2F_TEST_AUTH_ATTEMPTS = 25, + RHTSF_CHALLENGE = 01, + RHTSF_KEY = 02, + WHTSF_CHALLENGE = 03, + WHTSF_KEY = 04, + RHT2F_PASSWORD = 21, + RHT2F_AUTHENTICATE = 22, + RHT2F_CRYPTO = 23, + WHT2F_CRYPTO = 24, + RHT2F_TEST_AUTH_ATTEMPTS = 25, + RHT2F_UID_ONLY = 26, } hitag_function; typedef struct { @@ -23,11 +38,18 @@ typedef struct { typedef struct { byte_t NrAr[8]; + byte_t data[4]; } PACKED rht2d_authenticate; +typedef struct { + byte_t key[6]; + byte_t data[4]; +} PACKED rht2d_crypto; + typedef union { rht2d_password pwd; rht2d_authenticate auth; + rht2d_crypto crypto; } hitag_data; #endif