Merge branch 'master' into 4x50_standalone

merged master
This commit is contained in:
tharexde 2021-02-14 15:53:44 +01:00
commit 1680a1700e
8 changed files with 737 additions and 641 deletions

View file

@ -32,4 +32,4 @@ rm $2
echo "hf mf eclr" >> $2 echo "hf mf eclr" >> $2
echo "hf mf eload" $1 >> $2 echo "hf mf eload" $1 >> $2
echo "hf mf ekeyprn" >> $2 echo "hf mf ekeyprn" >> $2
echo "hf mf sim u" `cat $1.eml | (read -n 8 uid; echo $uid)` >> $2 echo "hf mf sim -u" `cat $1.eml | (read -n 8 uid; echo $uid)` >> $2

View file

@ -99,7 +99,7 @@ local function nested(key,sak)
else else
print("I don't know how many sectors there are on this type of card, defaulting to 16") print("I don't know how many sectors there are on this type of card, defaulting to 16")
end end
local cmd = string.format('hf mf nested %d 0 A %s d', typ, key) local cmd = string.format('hf mf nested -t %d -b 0 --keya -k %s --dumpkeys', typ, key)
core.console(cmd) core.console(cmd)
end end
@ -123,7 +123,7 @@ local function dump_tag(uid, numsectors)
local dumpfile = 'hf-mf-'..uid..'-dump' local dumpfile = 'hf-mf-'..uid..'-dump'
local dmp = ('hf mf dump %s f %s'):format(typ, dumpfile) local dmp = ('hf mf dump -t %s -f %s'):format(typ, dumpfile)
core.console(dmp) core.console(dmp)
-- Save the global args, those are *our* arguments -- Save the global args, those are *our* arguments

View file

@ -147,7 +147,7 @@ local function main(args)
--Trying to find the other keys --Trying to find the other keys
if useNested then if useNested then
core.console( ('hf mf nested 1 0 A %s d'):format(keyA) ) core.console( ('hf mf nested -t 1 -b 0 --keya -k %s --dumpkeys'):format(keyA) )
end end
core.clearCommandBuffer() core.clearCommandBuffer()

View file

@ -496,7 +496,7 @@ local function main(args)
err = LoadEmulator(uid, blocks) err = LoadEmulator(uid, blocks)
if err then return oops(err) end if err then return oops(err) end
core.clearCommandBuffer() core.clearCommandBuffer()
print('The simulation is now prepared.\n --> run \"hf mf sim u '..uid..'\" <--') print('The simulation is now prepared.\n --> run \"hf mf sim -u '..uid..'\" <--')
end end
end end
main(args) main(args)

File diff suppressed because it is too large Load diff

View file

@ -586,7 +586,7 @@ static void show_help(bool showFullHelp, char *exec_name) {
PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -w -- wait for serial port", exec_name); PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -w -- wait for serial port", exec_name);
PrintAndLogEx(NORMAL, " %s -- runs the pm3 client in OFFLINE mode", exec_name); PrintAndLogEx(NORMAL, " %s -- runs the pm3 client in OFFLINE mode", exec_name);
PrintAndLogEx(NORMAL, "\n to execute different commands from terminal:\n"); PrintAndLogEx(NORMAL, "\n to execute different commands from terminal:\n");
PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -c \"hf mf chk 1* ?\" -- execute cmd and quit client", exec_name); PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -c \"hf mf chk --1k\" -- execute cmd and quit client", exec_name);
PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -l hf_read -- execute lua script " _YELLOW_("`hf_read`")" and quit client", exec_name); PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -l hf_read -- execute lua script " _YELLOW_("`hf_read`")" and quit client", exec_name);
PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -s mycmds.txt -- execute each pm3 cmd in file and quit client", exec_name); PrintAndLogEx(NORMAL, " %s "SERIAL_PORT_EXAMPLE_H" -s mycmds.txt -- execute each pm3 cmd in file and quit client", exec_name);
PrintAndLogEx(NORMAL, "\n to flash fullimage and bootloader:\n"); PrintAndLogEx(NORMAL, "\n to flash fullimage and bootloader:\n");

View file

@ -224,34 +224,58 @@ Check for default keys
``` ```
Options Options
--- ---
<*card memory> <key type (A/B/?)> [t|d|s|ss] <dic (*.dic)> -k, --key <hex> Key specified as 12 hex symbols
* : all sectors --blk <dec> Input block number
card memory : 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K -a Target Key A, if found also check Key B for duplicate
d : write keys to binary file -b Target Key B
-*, --all Target both key A & B (default)
--mini MIFARE Classic Mini / S20
--1k MIFARE Classic 1k / S50 (default)
--2k MIFARE Classic/Plus 2k
--4k MIFARE Classic 4k / S70
--emu Fill simulator keys from found keys
--dump Dump found keys to binary file
-f, --file <filename> filename of dictionary
pm3 --> hf mf chk *1 ? d mfc_default_keys pm3 --> hf mf chk --1k -f mfc_default_keys
``` ```
Check for default keys from local memory Check for default keys from local memory
``` ```
Options Options
--- ---
card memory : 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K -k, --key <hex> Key specified as 12 hex symbols
m : use dictionary from flashmemory --mini MIFARE Classic Mini / S20
--1k MIFARE Classic 1k / S50 (default)
--2k MIFARE Classic/Plus 2k
--4k MIFARE Classic 4k / S70
--emu Fill simulator keys from found keys
--dump Dump found keys to binary file
--mem Use dictionary from flashmemory
-f, --file <filename> filename of dictionary
pm3 --> hf mf fchk 1 m pm3 --> hf mf fchk --1k --mem
``` ```
Dump MIFARE card contents Dump MIFARE card contents
``` ```
Options options:
--- -f, --file <filename> filename of dump
<card memory> : 0 = 320 bytes (MIFARE Mini), 1 = 1K (default), 2 = 2K, 4 = 4K -k, --keys <filename> filename of keys
k <name> : key filename, if no <name> given, UID will be used as filename" --mini MIFARE Classic Mini / S20
f <name> : data filename, if no <name> given, UID will be used as filename --1k MIFARE Classic 1k / S50 (default)
--2k MIFARE Classic/Plus 2k
--4k MIFARE Classic 4k / S70
pm3 --> hf mf dump 1 examples/notes:
pm3 --> hf mf dump 1 k hf-mf-A29558E4-key.bin f hf-mf-A29558E4-dump.bin hf mf dump --mini -> MIFARE Mini
hf mf dump --1k -> MIFARE Classic 1k
hf mf dump --2k -> MIFARE 2k
hf mf dump --4k -> MIFARE 4k
hf mf dump -f hf-mf-066C8B78-key-5.bin -> MIFARE 1k with keys from specified file
pm3 --> hf mf dump
pm3 --> hf mf dump --1k -k hf-mf-A29558E4-key.bin -f hf-mf-A29558E4-dump.bin
``` ```
Convert .bin to .eml Convert .bin to .eml
@ -305,21 +329,21 @@ Simulate MIFARE
``` ```
u : (Optional) UID 4,7 or 10 bytes. If not specified, the UID 4B from emulator memory will be used u : (Optional) UID 4,7 or 10 bytes. If not specified, the UID 4B from emulator memory will be used
pm3 --> hf mf sim u 353c2aa6 pm3 --> hf mf sim -u 353c2aa6
``` ```
Simulate MIFARE Sequence Simulate MIFARE Sequence
``` ```
pm3 --> hf mf chk *1 ? d mfc_default_keys pm3 --> hf mf chk -* --1k --all -f mfc_default_keys
pm3 --> hf mf dump 1 pm3 --> hf mf dump 1
pm3 --> script run data_mf_bin2eml -i dumpdata.bin pm3 --> script run data_mf_bin2eml -i dumpdata.bin
pm3 --> hf mf eload 353C2AA6 pm3 --> hf mf eload 353C2AA6
pm3 --> hf mf sim u 353c2aa6 pm3 --> hf mf sim -u 353c2aa6
``` ```
Clone MIFARE 1K Sequence Clone MIFARE 1K Sequence
``` ```
pm3 --> hf mf chk *1 ? d mfc_default_keys pm3 --> hf mf chk -* --1k --all -f mfc_default_keys
pm3 --> hf mf dump pm3 --> hf mf dump
pm3 --> hf mf restore 1 u 4A6CE843 k hf-mf-A29558E4-key.bin f hf-mf-A29558E4-dump.bin pm3 --> hf mf restore 1 u 4A6CE843 k hf-mf-A29558E4-key.bin f hf-mf-A29558E4-dump.bin
``` ```

View file

@ -57,22 +57,15 @@ hf felica rqspecver
hf felica resetmode hf felica resetmode
hf felica litesim hf felica litesim
hf felica litedump hf felica litedump
hf mf darkside
hf mf nested
hf mf hardnested hf mf hardnested
hf mf staticnested
hf mf autopwn hf mf autopwn
hf mf nack hf mf nack
hf mf chk
hf mf fchk
hf mf decrypt hf mf decrypt
hf mf dump
hf mf rdbl hf mf rdbl
hf mf rdsc hf mf rdsc
hf mf restore hf mf restore
hf mf setmod hf mf setmod
hf mf wrbl hf mf wrbl
hf mf sim
hf mf ecfill hf mf ecfill
hf mf eclr hf mf eclr
hf mf egetblk hf mf egetblk
@ -92,7 +85,6 @@ hf mf cview
hf mf gen3uid hf mf gen3uid
hf mf gen3blk hf mf gen3blk
hf mf gen3freeze hf mf gen3freeze
hf mf ice
lf em 410x lf em 410x
lf em 4x05 lf em 4x05
lf em 4x50 lf em 4x50