CHG: added the possibility to "remagic" the new found Mifare Ultralight tags, which answers to chinese backdoor commands for uid change.

The script now deals with to different kind of tags.  Mifare Classic 1k gen1  and  Mifare Ultralight gen1 (7bytes uid)

-Classic will get    UID: 01 02 03 04
-Ultralight will get UID: 53 80 71 02 00 D9 80
This commit is contained in:
iceman1001 2016-05-15 19:27:04 +02:00
commit 6648776f2a

View file

@ -2,14 +2,15 @@ local getopt = require('getopt')
example = "script run remagic" example = "script run remagic"
author = "Iceman" author = "Iceman"
desc = desc =
[[ [[
This is a script that tries to bring back a chinese magic card (1k generation1) This is a script that tries to bring back a chinese magic card (1k generation1)
from the dead when it's block 0 has been written with bad values. from the dead when it's block 0 has been written with bad values.
or mifare Ultralight magic card which answers to chinese backdoor commands
Arguments: Arguments:
-h this help -h this help
-u remagic a Ultralight tag w 7 bytes UID.
]] ]]
--- ---
-- A debug printout-function -- A debug printout-function
@ -23,7 +24,6 @@ end
function oops(err) function oops(err)
print("ERROR: ",err) print("ERROR: ",err)
end end
--- ---
-- Usage help -- Usage help
function help() function help()
@ -32,31 +32,60 @@ function help()
print(example) print(example)
end end
--- local function cmdUltralight()
-- The main entry point return {
function main(args) --[[
--]]
[0] = "hf 14a raw -p -a -b 7 40",
-- Read the parameters [1] = "hf 14a raw -p -a 43",
for o, a in getopt.getopt(args, 'h') do [2] = "hf 14a raw -c -a A2005380712A",
if o == "h" then help() return end [3] = "hf 14a raw -p -a -b 7 40",
end [4] = "hf 14a raw -p -a 43",
[5] = "hf 14a raw -c -a A2010200D980",
local _cmds = { [6] = "hf 14a raw -p -a -b 7 40",
[7] = "hf 14a raw -p -a 43",
[8] = "hf 14a raw -c -a A2025B480000",
[9] = "hf 14a raw -c -a 5000",
}
end
local function cmdClassic()
return {
--[[ --[[
--]] --]]
[0] = "hf 14a raw -p -a -b 7 40", [0] = "hf 14a raw -p -a -b 7 40",
[1] = "hf 14a raw -p -a 43", [1] = "hf 14a raw -p -a 43",
[2] = "hf 14a raw -c -p -a A000", [2] = "hf 14a raw -c -p -a A000",
[3] = "hf 14a raw -c -p -a 01 02 03 04 04 98 02 00 00 00 00 00 00 00 10 01", [3] = "hf 14a raw -c -p -a 01020304049802000000000000001001",
[4] = "hf 14a raw -c -a 5000",
} }
end
---
-- The main entry point
function main(args)
local i
local cmds = {}
local isUltralight = false
-- Read the parameters
for o, a in getopt.getopt(args, 'hu') do
if o == "h" then return help() end
if o == "u" then isUltralight = true end
end
core.clearCommandBuffer() core.clearCommandBuffer()
local i if isUltralight then
--for _,c in pairs(_cmds) do cmds = cmdUltralight()
for i = 0, 3 do else
print ( _cmds[i] ) cmds = cmdClassic()
core.console( _cmds[i] ) end
for i = 0, #cmds do
if cmds[i] then
print ( cmds[i] )
core.console( cmds[i] )
end
end end
end end