本文是从RadioWar Wiki修改而来。
曾经我也是在 Radiowar 的 wiki 上学习 RFID hacking,因为 wiki 上的 proxmark3 的命令和使用案例很详细。
现在这个网站打不开了,网上也搜不到这么详细的命令帮助了,决定把以前存的笔记奉献出来。
将一些老的命令修改为2.0新版后的命令。

RadioWar Wiki 已经恢复访问.

使用技巧

  1. Proxmark3的命令使用最小匹配模式,每个命令只要输入到可以唯一识别即可,例如 hf mf chk ,在hf mf 下只有一个c开头的命令chk,所以hf mf chk ,hf mf ch, hf mf c都是等价的,所以看到网上资料里的命令不一样不要怀疑,他们是等价的。

  2. Proxmark3每次运行都会在同目录下产生一个proxmark3.log文本文件,这个文件记录着Proxmark3执行你每条命令的结果。记住,只是命令执行的结果。命令本身存储的同目录.history文件里面。需要看历史记录可以打开proxmark3.log以及.history查看。

  3. 输入所有存在命令,不加任何参数,会直接显示该命令的帮助信息。

  4. 所有的命令帮助中,用大括号{}括起来的,并且有省略号的表示有下一级的命令。例如hf命令下的14a、14b、15、legic、iclass、mf的帮助信息都是{ …}形式,表示还存在下一级的命令。

  5. 当你使用hf mf chk自动化操作的时候,如果全卡为默认Key,请手动创建一个16进制文件名为dumpkeys.bin的文件,并且把已知的所有KeyA/B写入文件内!先写KeyA,在写KeyB,记住不要有空格/回车!然后放在Proxmark3客户端目录下,再执行hf mf dump,你就会得到全卡的dumpdata啦!前提是KeyB为write.

  6. Em4x的卡直接放卡一直不出ID,可以试试这个技巧:一开始先执行410xwatch,然后再往上放卡,一般就能出Tag ID。

  7. 高频命令中针对UID卡的所有命令都不需要Key,直接读写UID卡。

help 主帮助命令(2.0新版及以后)

命令 说明
help 显示帮助. (使用命令 ‘\<command> help’获取相关命令的详细帮助信息。当然直接输入相关命令,不加help,也能出现该命令的帮助信息。)//例如 hw help 与 hw 是等价的。
data 图形窗口/缓冲区数据操作等等
exit 退出Proxmark3的终端环境
hf 高频相关命令
hw 硬件检测相关命令
lf 低频相关命令
script 加载脚本
quit 退出Proxmark3的终端环境等同exit

hw 硬件检测相关命令

命令 说明
help 显示帮助
detectreader [‘l’/‘h’] 检测外部读卡器频率区域(选项“l”或“h”限制到低频LF或高频HF)
fpgaoff 设置FPGA为关闭
lcd <16进制命令> <次数>发送命令/数据到LCD
lcdreset 重置LCD
readmem 从芯片中读取10进制地址的存贮器
reset 重置Proxmark3
setlfdivisor <19 255="" -=""> 在12Mhz/(基数+1)驱动LF天线
setmux <loraw/hiraw/lopkd/hipkd> 设置ADC多路复用器为一个特定的值
tune 测量天线的调谐
status 显示pm3运行状态信息
ping 测试pm3是否响应
version 显示Proxmark3的固件版本信息

data 图形窗口/缓冲区数据操作等命令

命令 说明
help 显示帮助
askedgedetect [threshold] 使用样本差异的长度调整图形,以进行手动询问解调来检测波形的边缘 (use 20-45, def:25)
askem410xdemod [clock] [invert\<0|1>] [maxErr] – 从GraphBuffer解调EM410x卡片(选项可选)
askgproxiidemod 从GraphBuffer解调 a G Prox II 卡片
autocorr [window length] [g]自动校正窗口 - g 保存回GraphBuffer(重写)
biphaserawdecode [offset] [invert<0\&#1241>] [maxErr] – 从DemodBuffer的Biphase中解码bin流(offset= 0&#1241位,用于移位解码的开始位置))
bitsamples 获得原始样本作为bit
buffclear 清除缓冲样本和图形窗口
dec 抽取样本
detectclock [modulation]检测时钟速率(选项:’a’,’f’,’n’,’p’ 分别是 ask, fsk, nrz, psk respectively)
fdxbdemod 从GraphBuffer解调一个FDX-B ISO11784/85标准的双相卡
fskawiddemod 从GraphBuffer解调AWID FSK卡片
fskhiddemod 从GraphBuffer解调HID FSK卡片
fskiodemod 从GraphBuffer解调IO Prox FSK卡片
fskpyramiddemod 从GraphBuffer解调Pyramid FSK卡片
fskparadoxdemod 从GraphBuffer解调Paradox FSK卡片
fskdemod 作为HID的FSK显示波形图形窗口
getbitstream 转换GraphBuffer’s >=1的值到1或者1到0之间
grid 在图形上窗口覆盖网格,用0值关闭
hexsamples <区块> [<偏移>]作为16进制转储较大缓冲区
bin2hex – 二进制转换成十六进制
hide 隐藏图形窗口
hpf 从轨迹线移除直流偏移
load <文件名>从文件加载轨迹(给图形窗口)
ltrim 从左轨迹整理样本
rtrim –从右轨迹整理样本
manrawdecode [invert] [maxErr]曼彻斯特解调二进制流(选项“i”颠倒输出)
norm 正常大小改变最大/最小至+/-500
plot 显示图形窗口(点击窗口中的’h’显示按键帮助)
printdemodbuffer [x] [o] –打印DemodBuffer中的数据 - ‘x’十六进制输出
pskindalademod [clock] [invert<0&#1241>] – 从GraphBuffer 解调indala卡片(PSK1) (参数可选)
psknexwatchdemod 从GraphBuffer 解调NexWatch卡片(nexkey, quadrakey) (PSK1)
rawdemod [modulation] … -查看帮助(h option) – 解调GraphBuffer中的数据并输出二进制
samples [512 - 40000] 从图形窗口获取原始样本
save <文件名> 保存轨迹(从图形窗口)
scale <数值> 设置光标的显示比例
setdebugmode <0&#1241> – 设置解调时是否开启调试模式
shiftgraphzero – Shift 0 for Graphed wave + or - shift value
dirthreshold – Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev
tune 在图形化窗口显示hw tune样本
undec Un-decimate samples by 2
threshold <阈值>根据阈值最大化/最小化图形窗口
zerocrossings 计算零交点的时间

lf 低频相关命令

命令 说明
help 显示帮助
cmdread <’0’ period> <’1’ period> [‘h’] – Modulate LF reader field to send command before read (所有操作在毫秒内) (选项 ‘h’是134)
em4x EM4X卡类相关命令
config Set config for LF sampling, bit/sample, decimation, frequency
flexdemod 解调FlexPass样本
hid HID卡类相关命令
awid AWID卡类命令
io ioProx卡类命令
indalademod [‘224’]解调Indala样本的64位UID(选项’224’是224位)
indalaclone [‘l’]– 克隆Indala到 T55x7卡片 (卡片必须在天线上)(UID是十六进制)(选项 ‘l’是224 UID卡
read [‘s’ silent] 读取 125/134 kHz 低频仅ID卡. 输入 ‘lf read h’获取帮助
search [offline] [‘u’] 读取和搜索已知有效卡片(在离线模式你可以先加载再搜索) - ‘u’用来搜索未知卡片
sim [GAP] – 从buffer中可选的GAP模拟低频卡 (毫秒内)
simask [clock] [invert <1|0>] [biphase/manchester/raw <’b’|’m’|’r’>] [msg separator ‘s’] [d \<hexdata>] – 从demodbuffer或输入模拟低频ASK卡片
simfsk [c \<clock>] [i] [H \<fcHigh>] [L \<fcLow>] [d \<hexdata>] – 从demodbuffer或输入模拟低频FSK卡
simpsk [1|2|3] [c \<clock>] [i] [r \<carrier>] [d \] – 从demodbuffer或输入模拟低频PSK卡
simbidir 模拟低频卡(with bidirectional data transmission between reader and tag)
snoop [‘l’|’h’|\<divisor>] [trigger threshold]– 嗅探低频卡(l:125khz, h:134khz)
ti TI卡类相关命令
hitag Hitag标签与应答相关
vchdemod [‘clone’]解调VeriChip公司样本
t55xx T55xx卡类相关命令
pcf7931 PCF7931卡类相关命令

lf em4x (EM4X卡类相关命令…)

命令 说明
help 显示帮助
em410xdemod [findone] – 从EM410x卡片中提取ID(选项 0不停的读取, 1仅一张卡)
em410xread [clock rate]从GraphBuffer提取EM410x标签的ID
em410xsim 模拟EM410x标签
em410xwatch 读取EM410x标签,2000次取样获取ID
em410xspoof [‘h’] — 观察EM410x 125/134 kHz卡的数据,并且重放. (选项 ‘h’指定 134kHz卡片)
em410xwrite <’0’ T5555> <’1’ T55x7> 把EM410x UID写入T5555(Q5)或T55x7标签
em4x50read 从EM4x50标签中读取数据
readword -读取EM4xxx字符数据
readwordPWD 在密码模式下读取EM4xxx字符数据
writeword 写入EM4xxx字符数据
writewordPWD 在密码模式下写入EM4xxx字符数据

lf hid (HID卡类相关命令…)

命令 说明
help 显示帮助
fskdemod [‘1’]实时的HID FSK解调器(选项’1’意为只能一张卡)
sim 模拟HID标签
clone [‘l’]克隆HID到T55x7卡(标签必须是在天线上)(选项’l’意为84bit ID)

lf t55xx (t55xx卡类相关命令…)

命令 说明
help 显示帮助
config 设置/获取 T55XX配置信息文件 (调制, 反转, 偏移量, 比率)
detect [1] 尝试从读取配置数据块来检测卡片的调制信息
read [password] –读取 T55xx 数据块(page 0) [可指定密码]
write [password] – 写入 T55xx 数据块(page 0) [可指定密码]
trace [1] 显示 T55xx 可追溯的数据 (page 1/ blk 0-1)
info [1] 显示 T55xx 配置信息数据 (page 0/ blk 0)
dump [password] 导出 T55xx 卡片的 0-7数据块. [可指定密码]
special 用 64不同的偏移量显示数据块的变化

lf ti (TI卡类相关命令…)

命令 说明
help 显示帮助
demod 解调TI型低频卡的原始位
read 读取和解码TI类134kHz的标签
write 写入新的数据到一个能读/写的TI类134kHz标签

lf hitag (Hitag标签与应答相关…)

命令 说明
help 显示帮助
list 列出Hitag嗅探的数据
reader 作为读卡器读取Hitag标签的数据
sim 模拟Hitag应答
snoop 窃听Hitag通信

hf 高频相关命令

命令 说明
help 显示帮助
14a ISO14443A卡的相关命令
14b ISO14443B卡的相关命令
15 ISO15693卡的相关命令
epa 德国身份证的相关命令
legic LEGIC卡的相关命令
iclass ICLASS卡的相关命令
mf MIFARE卡的相关命令
mfu { MIFARE Ultralight卡片相关命令… }
topaz { TOPAZ (NFC Type 1)卡片相关命令… }
tune 连续测量高频天线的调谐
list List protocol data in trace buffer
search 检测已知的高频卡[预先步骤]
snoop 通用高频嗅探

hf 14a (ISO14443A卡的相关命令…)

命令 说明
help 显示帮助
list [Deprecated] 列出窃听到的ISO14443A类卡与读卡器的通信历史记录
reader 读取ISO14443A类卡的UID等数据
cuids 收集指定数目的随机UID,显示开始和结束时间
sim 模拟ISO 14443A类标签
snoop 窃听ISO14443A类卡与读卡器的通信数据
raw 发送原始十六进制数据到标签

hf 14b (ISO14443B卡的相关命令…)

命令 说明
help 显示帮助
info 打印14443B卡片信息
list 列出窃听到的ISO14443B类卡与读卡器通信历史记录
reader 读取ISO14443B类卡的信息
sim 模拟ISO14443B类标签
snoop 监听ISO14443B类卡与读卡器之间的通信数据
sri512read 读取SRI512标签的内容
srix4kread 读取SRIX4K标签的内容
sriwrite 写入数据到SRI512或SRIX4K卡片
raw 发送原始十六进制数据到标签

hf 15 (ISO15693卡的相关命令…)

命令 说明
help 显示帮助
demod 调制ISO15693协议的标签
read 读取ISO15693类卡的信息
record 记录ISO15693标签样本
reader 作为ISO15693卡类的读卡器,读取信息
sim 模拟ISO15693协议的标签
cmd 向ISO15693协议的标签直接发送命令
findafi 暴力一个ISO15693标签的AFI
dumpmemory 读取ISO15693标签的所有页内存数据

hf epa (德国身份证相关命令…)

命令 说明
help 显示帮助
cnonces 在d秒内收集n个字节长度为m的加密值
preplay 重放指定的APDUs开始PACE 协议

hf legic (LEGIC卡的相关命令…)

命令 说明
help 显示帮助
decode 显示非混淆的解码后的LEGIC的射频标签数据(在使用hf legic reader之后)
reader [offset [length]] – 从LEGIC卡读取字节
save []存储样本数据
load 恢复样本数据
sim [phase drift [frame drift [req/resp drift]]]开始模拟标签 (在使用load或者read之后)
write 向缓冲区写数据(在使用load或者read之后)
fill 填写/写标签恒定值

hf iclass (ICLASS卡的相关命令…)

命令 说明
help 显示帮助
calcnewkey [options..] 计算多种key (blocks 3 & 4) 来写入新的key
clone [options..] 认证并从iClass二进制文件克隆
decrypt [f ]解密卡片dump文件
dump [options..]认证并导出iClass卡片的AA1
eload [f ] (experimental实验性) 加载数据给iClass模拟器内存
encryptblk 加密指定数据块
list 列出窃听到的iClass类卡与读卡器的通信历史记录
loclass [options..] 使用loclass来运行读卡器的暴力攻击存储
managekeys [options..] 管理使用iClass卡片的密码
readblk [options..]认证并读取iClass数据块
reader 读取iClass标签
readtagfile [options..] 显示卡片文件的内容
replay 通过Reply Attack读取iClass卡片
sim [options..] 模拟iClass标签
snoop 窃听iClass类卡与读卡器的通信数据
writeblk [options..]认证并写入iClass数据块

hf mf (MIFARE卡的相关命令…)

命令 说明
help 显示帮助
dbg 设置默认调试模式
rdbl 读取MIFARE classic卡的区块数据
rdsc 读取MIFARE classic卡的扇区数据
dump 导出MIFARE classic卡的数据到二进制文件
restore 从二进制文件恢复数据到空白的MIFARE classic卡
wrbl 改写MIFARE classic卡的区块数据
chk 测试MIFARE classic卡的各个区块KEY A/B
mifare 基于PRNG漏洞,执行mifare “DarkSide”攻击操作
nested 测试嵌套认证漏洞,基于一个已知Key,获取都有扇区Keys
sniff 嗅卡片与读写器之间的通讯(等同于hf 14a snoop)
sim 模拟一个MIFARE卡片
eclr 清除仿真内存的各区块数据
eget 获取仿真内存的各区块数据
eset 设置仿真内存的各区块数据
eload 从导出的文件加载仿真数据
esave 导出保存仿真数据到文件
ecfill 利用仿真器的keys来填补仿真内存
ekeyprn 打印输出仿真内存中的keys
csetuid 写UID卡的ID
csetblk 写UID卡的数据
cgetblk 读取UID卡对应区块数据
cgetsc 读取UID卡对应扇区数据
cload 写入dump数据到UID卡
csave 保存UID卡数据到文件或者仿真内存
decrypt [nt] [ar_enc] [at_enc] [data] - 解密嗅探或者跟踪的数据

ps:在编辑表格的时候,因为hexo对|的解析有问题,导致表格被分裂错位,用\转义也不起作用。于是搜了下。
解决:
使用&#124;代替|
参考:https://stackoverflow.com/questions/17319940/how-to-escape-a-pipe-char-in-a-code-statement-in-a-markdown-table/17320389#17320389