]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - common/protocols.h
Add Smartcard functions (RDV4.0) (#646)
[proxmark3-svn] / common / protocols.h
index 57e6011f595a25279e21700de3998ede088d6d21..9ba69d5c6e99f809c382bbca0335ddeecdb123ac 100644 (file)
@@ -200,11 +200,12 @@ NXP/Philips CUSTOM COMMANDS
 #define TOPAZ_WRITE_NE8                                        0x1B    // Write-no-erase (eight bytes)
 
 
 #define TOPAZ_WRITE_NE8                                        0x1B    // Write-no-erase (eight bytes)
 
 
-#define ISO_14443A             0
-#define ICLASS                 1
-#define ISO_14443B             2
-#define TOPAZ                  3
-#define PROTO_MIFARE   4
+#define ISO_14443A    0
+#define ICLASS        1
+#define ISO_14443B    2
+#define TOPAZ         3
+#define PROTO_MIFARE  4
+#define ISO_7816_4    5
 
 //-- Picopass fuses
 #define FUSE_FPERS   0x80
 
 //-- Picopass fuses
 #define FUSE_FPERS   0x80
@@ -216,6 +217,29 @@ NXP/Philips CUSTOM COMMANDS
 #define FUSE_FPROD0  0x02
 #define FUSE_RA      0x01
 
 #define FUSE_FPROD0  0x02
 #define FUSE_RA      0x01
 
+// ISO 7816-4 Basic interindustry commands. For command APDU's.
+#define ISO7816_READ_BINARY              0xB0
+#define ISO7816_WRITE_BINARY             0xD0
+#define ISO7816_UPDATE_BINARY            0xD6
+#define ISO7816_ERASE_BINARY             0x0E
+#define ISO7816_READ_RECORDS             0xB2
+#define ISO7816_WRITE_RECORDS            0xD2
+#define ISO7816_APPEND_RECORD            0xE2
+#define ISO7816_UPDATE_RECORD            0xDC
+#define ISO7816_GET_DATA                 0xCA
+#define ISO7816_PUT_DATA                 0xDA
+#define ISO7816_SELECT_FILE              0xA4
+#define ISO7816_VERIFY                   0x20
+#define ISO7816_INTERNAL_AUTHENTICATION  0x88
+#define ISO7816_EXTERNAL_AUTHENTICATION  0x82
+#define ISO7816_GET_CHALLENGE            0xB4
+#define ISO7816_MANAGE_CHANNEL           0x70
+// ISO7816-4   For response APDU's
+#define ISO7816_OK                       0x9000
+//     6x xx = ERROR
+
+
+
 void printIclassDumpInfo(uint8_t* iclass_dump);
 void getMemConfig(uint8_t mem_cfg, uint8_t chip_cfg, uint8_t *max_blk, uint8_t *app_areas, uint8_t *kb);
 
 void printIclassDumpInfo(uint8_t* iclass_dump);
 void getMemConfig(uint8_t mem_cfg, uint8_t chip_cfg, uint8_t *max_blk, uint8_t *app_areas, uint8_t *kb);
 
Impressum, Datenschutz