mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
lua: more fix mix of spaces & tabs
This commit is contained in:
parent
05ff45e550
commit
2d1a077ae4
14 changed files with 1423 additions and 1423 deletions
|
@ -1,73 +1,73 @@
|
|||
--[[
|
||||
Handle Proxmark USB Commands
|
||||
Handle Proxmark USB Commands
|
||||
--]]
|
||||
|
||||
local _commands = require('usb_cmd')
|
||||
|
||||
local _reverse_lookup,k,v = {}
|
||||
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
|
||||
return ("Error, numeric argument expected, got : %s"):format(tostring(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
|
||||
return ("Error, numeric argument expected, got : %s"):format(tostring(command))
|
||||
end
|
||||
|
||||
Command = {
|
||||
|
||||
new = function(self, o)
|
||||
new = function(self, o)
|
||||
|
||||
local o = o or {} -- create object if user does not provide one
|
||||
setmetatable(o, self) -- DIY inheritance a'la javascript
|
||||
self.__index = self
|
||||
local o = o or {} -- create object if user does not provide one
|
||||
setmetatable(o, self) -- DIY inheritance a'la javascript
|
||||
self.__index = self
|
||||
|
||||
o.cmd = o.cmd or _commands.CMD_UNKNOWN
|
||||
o.arg1 = o.arg1 or 0
|
||||
o.arg2 = o.arg2 or 0
|
||||
o.arg3 = o.arg3 or 0
|
||||
local data = o.data or "0"
|
||||
o.cmd = o.cmd or _commands.CMD_UNKNOWN
|
||||
o.arg1 = o.arg1 or 0
|
||||
o.arg2 = o.arg2 or 0
|
||||
o.arg3 = o.arg3 or 0
|
||||
local data = o.data or "0"
|
||||
|
||||
if(type(data) == 'string') then
|
||||
-- We need to check if it is correct length, otherwise pad it
|
||||
local len = string.len(data)
|
||||
if(len < 1024) then
|
||||
--Should be 1024 hex characters to represent 512 bytes of data
|
||||
data = data .. string.rep("0",1024 - len )
|
||||
end
|
||||
if(len > 1024) then
|
||||
-- OOps, a bit too much data here
|
||||
print( ( "WARNING: data size too large, was %s chars, will be truncated "):format(len) )
|
||||
--
|
||||
data = data:sub(1,1024)
|
||||
end
|
||||
else
|
||||
print(("WARNING; data was NOT a (hex-) string, but was %s"):format(type(data)))
|
||||
end
|
||||
o.data = data
|
||||
return o
|
||||
end,
|
||||
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
|
||||
if(type(data) == 'string') then
|
||||
-- We need to check if it is correct length, otherwise pad it
|
||||
local len = string.len(data)
|
||||
if(len < 1024) then
|
||||
--Should be 1024 hex characters to represent 512 bytes of data
|
||||
data = data .. string.rep("0",1024 - len )
|
||||
end
|
||||
if(len > 1024) then
|
||||
-- OOps, a bit too much data here
|
||||
print( ( "WARNING: data size too large, was %s chars, will be truncated "):format(len) )
|
||||
--
|
||||
data = data:sub(1,1024)
|
||||
end
|
||||
else
|
||||
print(("WARNING; data was NOT a (hex-) string, but was %s"):format(type(data)))
|
||||
end
|
||||
o.data = data
|
||||
return o
|
||||
end,
|
||||
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
|
||||
|
||||
}
|
||||
function Command:__tostring()
|
||||
local output = ("%s\r\nargs : (%s, %s, %s)\r\ndata:\r\n%s\r\n"):format(
|
||||
_commands.tostring(self.cmd),
|
||||
tostring(self.arg1),
|
||||
tostring(self.arg2),
|
||||
tostring(self.arg3),
|
||||
tostring(self.data))
|
||||
return output
|
||||
local output = ("%s\r\nargs : (%s, %s, %s)\r\ndata:\r\n%s\r\n"):format(
|
||||
_commands.tostring(self.cmd),
|
||||
tostring(self.arg1),
|
||||
tostring(self.arg2),
|
||||
tostring(self.arg3),
|
||||
tostring(self.data))
|
||||
return output
|
||||
end
|
||||
function Command:getBytes()
|
||||
--If a hex-string has been used
|
||||
local data = self.data
|
||||
local cmd = self.cmd
|
||||
local arg1, arg2, arg3 = self.arg1, self.arg2, self.arg3
|
||||
return bin.pack("LLLLH",cmd, arg1, arg2, arg3, data);
|
||||
--If a hex-string has been used
|
||||
local data = self.data
|
||||
local cmd = self.cmd
|
||||
local arg1, arg2, arg3 = self.arg1, self.arg2, self.arg3
|
||||
return bin.pack("LLLLH",cmd, arg1, arg2, arg3, data);
|
||||
end
|
||||
return _commands
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue