]> git.zerfleddert.de Git - proxmark3-svn/blob - client/scripts/remagic.lua
41a2cb83d160da30f6b246eec5dc462812e29956
[proxmark3-svn] / client / scripts / remagic.lua
1 local getopt = require('getopt')
2
3 example = "script run remagic"
4 author = "Iceman"
5 desc =
6 [[
7 This is a script that tries to bring back a chinese magic card (1k generation1)
8 from the dead when it's block 0 has been written with bad values.
9 or mifare Ultralight magic card which answers to chinese backdoor commands
10
11 Arguments:
12 -h this help
13 -u remagic a Ultralight tag w 7 bytes UID.
14 ]]
15 ---
16 -- A debug printout-function
17 function dbg(args)
18 if DEBUG then
19 print("###", args)
20 end
21 end
22 ---
23 -- This is only meant to be used when errors occur
24 function oops(err)
25 print("ERROR: ",err)
26 end
27 ---
28 -- Usage help
29 function help()
30 print(desc)
31 print("Example usage")
32 print(example)
33 end
34
35 local function cmdUltralight()
36 return {
37 --[[
38 --]]
39 [0] = "hf 14a raw -p -a -b 7 40",
40 [1] = "hf 14a raw -p -a 43",
41 [2] = "hf 14a raw -c -a A2005380712A",
42 [3] = "hf 14a raw -p -a -b 7 40",
43 [4] = "hf 14a raw -p -a 43",
44 [5] = "hf 14a raw -c -a A2010200D980",
45 [6] = "hf 14a raw -p -a -b 7 40",
46 [7] = "hf 14a raw -p -a 43",
47 [8] = "hf 14a raw -c -a A2025B480000",
48 [9] = "hf 14a raw -c -a 5000",
49 }
50 end
51 local function cmdClassic()
52 return {
53 --[[
54 --]]
55 [0] = "hf 14a raw -p -a -b 7 40",
56 [1] = "hf 14a raw -p -a 43",
57 [2] = "hf 14a raw -c -p -a A000",
58 [3] = "hf 14a raw -c -p -a 01020304049802000000000000001001",
59 [4] = "hf 14a raw -c -a 5000",
60 }
61 end
62 ---
63 -- The main entry point
64 function main(args)
65
66 local i
67 local cmds = {}
68 local isUltralight = false
69
70 -- Read the parameters
71 for o, a in getopt.getopt(args, 'hu') do
72 if o == "h" then return help() end
73 if o == "u" then isUltralight = true end
74 end
75
76 core.clearCommandBuffer()
77
78 if isUltralight then
79 cmds = cmdUltralight()
80 else
81 cmds = cmdClassic()
82 end
83
84 for i = 0, #cmds do
85 if cmds[i] then
86 print ( cmds[i] )
87 core.console( cmds[i] )
88 end
89 end
90 end
91
92 main(args)
Impressum, Datenschutz