mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 05:13:46 -07:00
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:
parent
8fd9bfb0e3
commit
6648776f2a
1 changed files with 49 additions and 20 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue