mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-17 18:50:32 +08:00
Merge branch 'master' into hf_mf_changelog
This commit is contained in:
commit
5d63834512
2 changed files with 13 additions and 14 deletions
|
@ -3,8 +3,9 @@ All notable changes to this project will be documented in this file.
|
||||||
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
|
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
|
||||||
|
|
||||||
## [unreleased][unreleased]
|
## [unreleased][unreleased]
|
||||||
- Fix Mifare Classic simulation more flexible anti-collision check (@McEloff)
|
- Fix 'hf mf sim' - Mifare Classic simulation more flexible anti-collision check (@McEloff)
|
||||||
- Change: Mifare Classic simulation not respond NACK on invalid authentication request (@McEloff)
|
- Change: 'hf mf sim ' - Mifare Classic simulation not respond NACK on invalid authentication request (@McEloff)
|
||||||
|
- Change: 'read_pwd_mem.lua' now handles Mifare Classic dictionaries large than 4096 bytes (@iceman)
|
||||||
- Change: Don't clear trace log during 'hf mf chk', to save whole process history (@McEloff)
|
- Change: Don't clear trace log during 'hf mf chk', to save whole process history (@McEloff)
|
||||||
- Add support for WSL in proxmark.sh (@doegox)
|
- Add support for WSL in proxmark.sh (@doegox)
|
||||||
- Add documentation for usage of Proxmark3 under WSL (@doegox)
|
- Add documentation for usage of Proxmark3 under WSL (@doegox)
|
||||||
|
|
|
@ -81,18 +81,19 @@ local function main(args)
|
||||||
if o == 'o' then offset = tonumber(a) end
|
if o == 'o' then offset = tonumber(a) end
|
||||||
|
|
||||||
-- num of bytes to read
|
-- num of bytes to read
|
||||||
if o == 'l' then length = tonumber(a) end
|
if o == 'l' then
|
||||||
|
length = tonumber(a)
|
||||||
|
if length < 0 or length > 256 then
|
||||||
|
return oops('Error: Length is not valid. Must be less than 256')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- keylength
|
-- keylength
|
||||||
if o == 'k' then keylength = tonumber(a); usedkey = true end
|
if o == 'k' then keylength = tonumber(a); usedkey = true end
|
||||||
|
|
||||||
if o == 'm' then keylength =6; usedkey = true; offset = 0x3F000-0x6000; end
|
if o == 'm' then keylength = 6; usedkey = true; length = 8192; offset = 0x3F000-0x6000; end
|
||||||
if o == 't' then keylength =4; usedkey = true; offset = 0x3F000-0x3000; end
|
if o == 't' then keylength = 4; usedkey = true; length = 4096; offset = 0x3F000-0x3000; end
|
||||||
if o == 'i' then keylength =8; usedkey = true; offset = 0x3F000-0x4000; end
|
if o == 'i' then keylength = 8; usedkey = true; length = 4096; offset = 0x3F000-0x4000; end
|
||||||
end
|
|
||||||
|
|
||||||
if length < 0 or length > 256 then
|
|
||||||
return oops('Error: Length is not valid. Must be less than 256')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if (offset < 0) or (offset % 4 ~= 0) then
|
if (offset < 0) or (offset % 4 ~= 0) then
|
||||||
|
@ -102,9 +103,7 @@ local function main(args)
|
||||||
print('Memory offset', offset)
|
print('Memory offset', offset)
|
||||||
print('Length ', length)
|
print('Length ', length)
|
||||||
print('Key length ', keylength)
|
print('Key length ', keylength)
|
||||||
print( string.rep('--',20) )
|
print( string.rep('--', 20) )
|
||||||
|
|
||||||
if usedkey then length = 4096 end
|
|
||||||
|
|
||||||
data, err = core.GetFromFlashMem(offset, length)
|
data, err = core.GetFromFlashMem(offset, length)
|
||||||
if err then return oops(err) end
|
if err then return oops(err) end
|
||||||
|
@ -116,7 +115,6 @@ local function main(args)
|
||||||
|
|
||||||
local kl = keylength * 2
|
local kl = keylength * 2
|
||||||
for i = 1, keys do
|
for i = 1, keys do
|
||||||
|
|
||||||
key = string.sub(s, (i - 1) * kl + 1, i * kl )
|
key = string.sub(s, (i - 1) * kl + 1, i * kl )
|
||||||
print(string.format('[%02d] %s',i, key))
|
print(string.format('[%02d] %s',i, key))
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue