mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 22:03:42 -07:00
Merge pull request #1925 from augustozanellato/gen4_lua_mfc_signature
Add mfc signature support to gen4 lua script
This commit is contained in:
commit
558129c3fd
2 changed files with 25 additions and 12 deletions
|
@ -22,6 +22,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
|
||||||
- Changed `hf iclass decrypt` - mark credentials as decrypted in the dump (@natesales)
|
- Changed `hf iclass decrypt` - mark credentials as decrypted in the dump (@natesales)
|
||||||
- Changed `hf iclass view` - show credentials on a decrypted dump (@natesales)
|
- Changed `hf iclass view` - show credentials on a decrypted dump (@natesales)
|
||||||
- Show NTAG213TT tamper info in `hf mfu info` and add commands for configuring it's tamper feature (@mjaksn)
|
- Show NTAG213TT tamper info in `hf mfu info` and add commands for configuring it's tamper feature (@mjaksn)
|
||||||
|
- Add Mifare Classic EV1 signature write support to gen4 magic tag lua script (@augustozanellato)
|
||||||
|
|
||||||
## [Nitride.4.16191][2023-01-29]
|
## [Nitride.4.16191][2023-01-29]
|
||||||
- Changed `build_all_firmwares.sh` to fit GENERIC 256kb firmware images (@doegox)
|
- Changed `build_all_firmwares.sh` to fit GENERIC 256kb firmware images (@doegox)
|
||||||
|
|
|
@ -13,7 +13,7 @@ local err_lock = 'use -k or change cfg0 block'
|
||||||
local _print = 0
|
local _print = 0
|
||||||
copyright = ''
|
copyright = ''
|
||||||
author = 'Nathan Glaser'
|
author = 'Nathan Glaser'
|
||||||
version = 'v1.0.4'
|
version = 'v1.0.5'
|
||||||
date = 'Created - Jan 2022'
|
date = 'Created - Jan 2022'
|
||||||
desc = 'This script enables easy programming of an Ultimate Mifare Magic card'
|
desc = 'This script enables easy programming of an Ultimate Mifare Magic card'
|
||||||
example = [[
|
example = [[
|
||||||
|
@ -483,17 +483,29 @@ local function write_signature(data)
|
||||||
end
|
end
|
||||||
local info = connect()
|
local info = connect()
|
||||||
if not info then return false, "Can't select card" end
|
if not info then return false, "Can't select card" end
|
||||||
if ulprotocol == '00' then return nil, 'Magic Card is not using the Ultralight Protocol' end
|
if ulprotocol == '00' then
|
||||||
print('Writing new signature',data)
|
print('Writing new MFC signature',data)
|
||||||
local b,c
|
send('CF'.._key..'6B48')
|
||||||
local cmd = 'A2F%d%s'
|
lib14a.disconnect()
|
||||||
local j = 2
|
connect() -- not 100% sure why it's needed, but without this blocks aren't actually written
|
||||||
for i = 1, #data, 8 do
|
local sig1 = data:sub(1, 32)
|
||||||
b = data:sub(i,i+7)
|
local sig2 = data:sub(33, 64)
|
||||||
c = cmd:format(j,b)
|
|
||||||
local resp = send(c)
|
send('CF'.._key..'CD45'..sig1)
|
||||||
if resp ~= '0A' then lib14a.disconnect(); return nil, oops('Failed to write signature') end
|
send('CF'.._key..'CD46'..sig2)
|
||||||
j = j + 1
|
send('CF'.._key..'CD475C8FF9990DA270F0F8694B791BEA7BCC')
|
||||||
|
else
|
||||||
|
print('Writing new MFUL signature',data)
|
||||||
|
local b,c
|
||||||
|
local cmd = 'A2F%d%s'
|
||||||
|
local j = 2
|
||||||
|
for i = 1, #data, 8 do
|
||||||
|
b = data:sub(i,i+7)
|
||||||
|
c = cmd:format(j,b)
|
||||||
|
local resp = send(c)
|
||||||
|
if resp ~= '0A' then lib14a.disconnect(); return nil, oops('Failed to write signature') end
|
||||||
|
j = j + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
lib14a.disconnect()
|
lib14a.disconnect()
|
||||||
return true, 'Ok'
|
return true, 'Ok'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue