1 //-----------------------------------------------------------------------------
2 // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // See LICENSE.txt for the text of the license.
15 //-----------------------------------------------------------------------------
16 // Low frequency Hitag support
17 //-----------------------------------------------------------------------------
19 #ifndef CMDLFHITAG_H__
20 #define CMDLFHITAG_H__
25 #define HITAG2_CONFIG_OFFSET (HITAG_BLOCK_SIZE * HITAG2_CONFIG_BLOCK)
26 #define HITAG_DICTIONARY "ht2_default"
28 int CmdLFHitag(const char *Cmd
);
30 int readHitagUid(void);
31 void annotateHitag1(char *exp
, size_t size
, const uint8_t *cmd
, uint8_t cmdsize
, bool is_response
);
32 void annotateHitag2(char *exp
, size_t size
, const uint8_t *cmd
, uint8_t cmdsize
, uint8_t bits
, bool is_response
, const uint64_t *keys
, uint32_t keycount
, bool isdecrypted
);
33 void annotateHitagS(char *exp
, size_t size
, const uint8_t *cmd
, uint8_t cmdsize
, bool is_response
);
35 void annotateHitag2_init(void);
36 bool hitag2_get_plain(uint8_t *plain
, uint8_t *plen
);
37 void hitag2_annotate_plain(char *exp
, size_t size
, const uint8_t *cmd
, uint8_t cmdsize
, uint8_t bits
);
39 uint8_t hitag1_CRC_check(uint8_t *d
, uint32_t nbit
);