]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/lualibs/commands.lua
I just merged @marshmellow's branch "iclass" and that was a lot of new functionality...
[proxmark3-svn] / client / lualibs / commands.lua
index 2f4a7ea3a44443815fe15618ab95a11e13d53295..97b40d98882173d3e8ff4ab750f6f9f3be383cda 100644 (file)
@@ -46,6 +46,7 @@ local _commands = {
        CMD_T55XX_WRITE_BLOCK =                                              0x0215,
        CMD_T55XX_READ_TRACE =                                               0x0216,
        CMD_PCF7931_READ =                                                   0x0217,
+       CMD_PCF7931_WRITE =                                                  0x0223,
        CMD_EM4X_READ_WORD =                                                 0x0218,
        CMD_EM4X_WRITE_WORD =                                                0x0219,
        CMD_IO_DEMOD_FSK =                                                   0x021A,
@@ -56,7 +57,8 @@ local _commands = {
        CMD_ASK_SIM_TAG =                                                    0x021F,
        CMD_PSK_SIM_TAG =                                                    0x0220,
        CMD_AWID_DEMOD_FSK =                                                 0x0221,
-
+       CMD_VIKING_CLONE_TAG =                                               0x0222,
+       
        --/* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */
 
        --// For the 13.56 MHz tags
@@ -89,11 +91,17 @@ local _commands = {
        CMD_EPA_PACE_COLLECT_NONCE =                                         0x038A,
        CMD_EPA_PACE_REPLAY =                                                0x038B,
 
+       CMD_ICLASS_READCHECK =                                               0x038F,
+       CMD_ICLASS_CLONE =                                                   0x0390,
+       CMD_ICLASS_DUMP =                                                    0x0391,
        CMD_SNOOP_ICLASS =                                                   0x0392,
        CMD_SIMULATE_TAG_ICLASS =                                            0x0393,
        CMD_READER_ICLASS =                                                  0x0394,
        CMD_READER_ICLASS_REPLAY =                                                                                       0x0395,
-       CMD_ICLASS_ISO14443A_WRITE =                                                                             0x0397,
+       CMD_ICLASS_READBLOCK =                                               0x0396,
+       CMD_ICLASS_WRITEBLOCK =                                              0x0397,
+       CMD_ICLASS_EML_MEMSET =                                              0x0398,
+       CMD_ICLASS_AUTHENTICATION =                                          0x0399,
 
        --// For measurements of the antenna tuning
        CMD_MEASURE_ANTENNA_TUNING =                                         0x0400,
@@ -154,10 +162,10 @@ local _commands = {
 
 
 local _reverse_lookup,k,v = {}
-       for k, v in pairs(_commands) do
-               _reverse_lookup[v] =  k
-       end
-       _commands.tostring = function(command)
+for k, v in pairs(_commands) do
+       _reverse_lookup[v] =  k
+end
+_commands.tostring = function(command)
        if(type(command) == 'number') then
                return ("%s (%d)"):format(_reverse_lookup[command]or "ERROR UNDEFINED!", command) 
        end
@@ -173,7 +181,6 @@ Command = {
                self.__index = self
 
                o.cmd = o.cmd or _commands.CMD_UNKNOWN
-               --o.arg1 = "test"
                o.arg1 = o.arg1 or 0
                o.arg2 = o.arg2 or 0
                o.arg3 = o.arg3 or 0 
@@ -195,14 +202,14 @@ Command = {
                else 
                        print(("WARNING; data was NOT a (hex-) string, but was %s"):format(type(data)))
                end
-               o.data = data
-               
+               o.data = data   
                return o
        end,
-       parse = function (packet)
-               local count,cmd,arg1,arg2,arg3,data = bin.unpack('LLLLH512',packet)
+       parse = function(packet)
+               local count, cmd, arg1, arg2, arg3, data = bin.unpack('LLLLH511', packet)
                return Command:new{cmd = cmd, arg1 = arg1, arg2 = arg2, arg3 = arg3, data = data}
-       end,
+       end
+
 }
 function Command:__tostring()
        local output = ("%s\r\nargs : (%s, %s, %s)\r\ndata:\r\n%s\r\n"):format(
Impressum, Datenschutz