mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-27 09:37:15 +08:00
broke out type prototyping from mifare.h
This commit is contained in:
parent
67c175fe7a
commit
5202eb8587
3 changed files with 195 additions and 0 deletions
43
include/iso14b.h
Normal file
43
include/iso14b.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// (c) 2020 Iceman
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// ISO 14443B type prototyping
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _ISO14B_H_
|
||||
#define _ISO14B_H_
|
||||
|
||||
#include "common.h"
|
||||
typedef struct {
|
||||
uint8_t uid[10];
|
||||
uint8_t uidlen;
|
||||
uint8_t atqb[7];
|
||||
uint8_t chipid;
|
||||
uint8_t cid;
|
||||
} PACKED iso14b_card_select_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t uid[4];
|
||||
uint8_t pc;
|
||||
uint8_t fc;
|
||||
} PACKED iso14b_cts_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_SET_TIMEOUT = (1 << 8),
|
||||
ISO14B_SEND_CHAINING = (1 << 9),
|
||||
ISO14B_SELECT_CTS = (1 << 10),
|
||||
} iso14b_command_t;
|
||||
|
||||
#endif // _ISO14B_H_
|
33
include/iso15.h
Normal file
33
include/iso15.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// (c) 2020 Iceman
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// ISO 15693 type prototyping
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _ISO15_H_
|
||||
#define _ISO15_H_
|
||||
|
||||
#include "common.h"
|
||||
typedef struct {
|
||||
uint8_t uid[10];
|
||||
uint8_t uidlen;
|
||||
uint8_t atqb[7];
|
||||
uint8_t chipid;
|
||||
uint8_t cid;
|
||||
} PACKED iso14b_card_select_t;
|
||||
|
||||
typedef enum ISO15_COMMAND {
|
||||
ISO15_CONNECT = (1 << 0),
|
||||
ISO15_NO_DISCONNECT = (1 << 1),
|
||||
ISO15_RAW = (1 << 2),
|
||||
ISO15_APPEND_CRC = (1 << 3),
|
||||
ISO15_HIGH_SPEED = (1 << 4),
|
||||
ISO15_READ_RESPONSE = (1 << 5)
|
||||
} iso15_command_t;
|
||||
|
||||
|
||||
#endif // _ISO15_H_
|
119
include/iso18.h
Normal file
119
include/iso18.h
Normal file
|
@ -0,0 +1,119 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// (c) 2020 Iceman
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// ISO 18002 / FeliCa type prototyping
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef _ISO18_H_
|
||||
#define _ISO18_H_
|
||||
|
||||
#include "common.h"
|
||||
|
||||
typedef enum FELICA_COMMAND {
|
||||
FELICA_CONNECT = (1 << 0),
|
||||
FELICA_NO_DISCONNECT = (1 << 1),
|
||||
FELICA_RAW = (1 << 3),
|
||||
FELICA_APPEND_CRC = (1 << 5),
|
||||
FELICA_NO_SELECT = (1 << 6),
|
||||
} felica_command_t;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// FeliCa
|
||||
//-----------------------------------------------------------------------------
|
||||
// IDm = ID manufacturer
|
||||
// mc = manufactureCode
|
||||
// mc1 mc2 u1 u2 u3 u4 u5 u6
|
||||
// PMm = Product manufacturer
|
||||
// icCode =
|
||||
// ic1 = ROM
|
||||
// ic2 = IC
|
||||
// maximum response time =
|
||||
// B3(request service)
|
||||
// B4(request response)
|
||||
// B5(authenticate)
|
||||
// B6(read)
|
||||
// B7(write)
|
||||
// B8()
|
||||
|
||||
// ServiceCode 2bytes (access-rights)
|
||||
// FileSystem = 1 Block = 16 bytes
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint8_t IDm[8];
|
||||
uint8_t code[2];
|
||||
uint8_t uid[6];
|
||||
uint8_t PMm[8];
|
||||
uint8_t iccode[2];
|
||||
uint8_t mrt[6];
|
||||
uint8_t servicecode[2];
|
||||
} PACKED felica_card_select_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t sync[2];
|
||||
uint8_t length[1];
|
||||
uint8_t cmd_code[1];
|
||||
uint8_t IDm[8];
|
||||
} PACKED felica_frame_response_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t status_flag1[1];
|
||||
uint8_t status_flag2[1];
|
||||
} PACKED felica_status_flags_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
uint8_t node_number[1];
|
||||
uint8_t node_key_versions[2];
|
||||
} PACKED felica_request_service_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
uint8_t mode[1];
|
||||
} PACKED felica_request_request_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
felica_status_flags_t status_flags;
|
||||
uint8_t number_of_block[1];
|
||||
uint8_t block_data[16];
|
||||
uint8_t block_element_number[1];
|
||||
} PACKED felica_read_without_encryption_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
felica_status_flags_t status_flags;
|
||||
} PACKED felica_status_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
uint8_t number_of_systems[1];
|
||||
uint8_t system_code_list[32];
|
||||
} PACKED felica_syscode_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
felica_status_flags_t status_flags;
|
||||
uint8_t format_version[1];
|
||||
uint8_t basic_version[2];
|
||||
uint8_t number_of_option[1];
|
||||
uint8_t option_version_list[4];
|
||||
} PACKED felica_request_spec_response_t;
|
||||
|
||||
typedef struct {
|
||||
felica_frame_response_t frame_response;
|
||||
uint8_t m2c[8];
|
||||
uint8_t m3c[8];
|
||||
} PACKED felica_auth1_response_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t code[1];
|
||||
uint8_t IDtc[8];
|
||||
uint8_t IDi[8];
|
||||
uint8_t PMi[8];
|
||||
} PACKED felica_auth2_response_t;
|
||||
|
||||
#endif // _ISO18_H_
|
Loading…
Reference in a new issue