X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/7d5ebac99397fe7661760259377a4f222fdb92cb..100fe0a5ee2ca8ce0ef38f1dd4438c06aa1f659e:/client/scripts/remagic.lua?ds=inline

diff --git a/client/scripts/remagic.lua b/client/scripts/remagic.lua
index d2b869c3..41a2cb83 100644
--- a/client/scripts/remagic.lua
+++ b/client/scripts/remagic.lua
@@ -2,14 +2,15 @@ local getopt = require('getopt')
 
 example = "script run remagic"
 author = "Iceman"
-
 desc =
 [[
 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.
+or mifare Ultralight magic card which answers to chinese backdoor commands
 
 Arguments:
-	-h 		this help
+	-h		this help
+	-u		remagic a Ultralight tag w 7 bytes UID.
 ]]
 --- 
 -- A debug printout-function
@@ -23,7 +24,6 @@ end
 function oops(err)
 	print("ERROR: ",err)
 end
-
 --- 
 -- Usage help
 function help()
@@ -32,31 +32,60 @@ function help()
 	print(example)
 end
 
+local function cmdUltralight()
+	return {
+    --[[
+    --]]
+	[0] = "hf 14a raw -p -a -b 7 40",
+	[1] = "hf 14a raw -p -a 43",
+	[2] = "hf 14a raw -c -a A2005380712A",
+	[3] = "hf 14a raw -p -a -b 7 40",
+	[4] = "hf 14a raw -p -a 43",	
+	[5] = "hf 14a raw -c -a A2010200D980",
+	[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",
+	[1] = "hf 14a raw -p -a 43",
+	[2] = "hf 14a raw -c -p -a A000",
+	[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, 'h') do
-		if o == "h" then help() return end
+	for o, a in getopt.getopt(args, 'hu') do
+		if o == "h" then return help() end
+		if o == "u" then isUltralight = true end
 	end
-	
-	local _cmds = {
-    --[[
-    --]]
-	[0] = "hf 14a raw -p -a -b 7 40",
-	[1] = "hf 14a raw -p -a 43",
-	[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",
-	}
+
 	core.clearCommandBuffer()
 	
-	local i
-	--for _,c in pairs(_cmds) do 
-	for i = 0, 3 do
-	    print ( _cmds[i] )
-		core.console( _cmds[i] )
+	if isUltralight then
+		cmds = cmdUltralight()
+	else
+		cmds = cmdClassic()
+	end
+	
+	for i = 0, #cmds do
+		if cmds[i]  then 
+			print ( cmds[i] )
+			core.console( cmds[i] )
+		end
 	end
 end