X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/7a23fca13a06266f169b7d739ef907d9ba9aebcb..2e16354693c5b0b2ea03a7824e6f9e527c0a66e9:/client/scripts/e.lua diff --git a/client/scripts/e.lua b/client/scripts/e.lua new file mode 100644 index 00000000..4dd71490 --- /dev/null +++ b/client/scripts/e.lua @@ -0,0 +1,69 @@ +local getopt = require('getopt') +local utils = require('utils') + +example = "script calculates many checksums (CRC) over the provided hex input" +author = "Iceman" +desc = +[[ +This script calculates many checksums (CRS) over the provided hex input. + +Arguments: + -b data in hex + -w width of the CRC algorithm. defaults to all known CRC presets. +Examples : + script run e -b 010203040506070809 + script run e -b 010203040506070809 -w 16 +]] + +--- +-- A debug printout-function +function dbg(args) + if DEBUG then + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) + return nil,err +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +--- +-- The main entry point +function main(args) + + local data = '01020304' + local width = 0 + + -- Read the parameters + for o, a in getopt.getopt(args, 'hb:w:') do + if o == "h" then return help() end + if o == "b" then data = utils.ConvertHexToa end + if o == "w" then width = a end + end + + print('Width of CRC: '..width..' bytes: '..data) + print('') + print('Model','CRC', 'CRC_Reverse') + + local lists = core.reveng_models(width) + for _,i in pairs(lists) do + local one = core.reveng_runmodel(i, data, 0,0) + local two = core.reveng_runmodel(i, data, 1,0) + + print(i, one, two) + end + + if 1 == 1 then + return + end +end + +main(args) \ No newline at end of file