从命令行翻车到 10 分钟读完一张卡:RFID卡片可视化工具 Proxmark3GUI 上手实录
2026/8/20 1:48:23 网站建设 项目流程

从命令行翻车到 10 分钟读完一张卡:RFID卡片可视化工具 Proxmark3GUI 上手实录

【免费下载链接】Proxmark3GUIA cross-platform GUI for Proxmark3 client | 为PM3设计的跨平台图形界面项目地址: https://gitcode.com/gh_mirrors/pr/Proxmark3GUI

Proxmark3GUI 是一款跨平台的 RFID卡片可视化工具,专门帮 Proxmark3 用户把读卡、写卡、密钥测试这类操作从命令行里解放出来。如果你的抽屉里躺着一块 Proxmark3,却一直因为那串hf mf开头的命令迟迟没有开封,这篇文章就是写给你的——官方版和冰人版固件都支持,Windows、Linux、macOS 都能跑,新手和老手都适合。我花了一个晚上从"连不上设备"折腾到"十分钟读完一张卡",下面的记录就是那条能让你少走弯路的近道。

我是在哪个瞬间决定放弃纯命令行的

先说我的翻车现场,保证你也有同款经历。

第一次用 PM3 客户端,我干了三件事,件件踩坑:先是分不清hf mf rdblhf mf rdsc的参数顺序,读块读到一半开始报错;然后对着满屏的db日志找密钥,眼睛快瞎了也没拼出完整的 KeyA;最后好不容易读出来,发现输出里混着十六进制、ASCII 和缩进,想存成文件还得自己拼命令。前后折腾两个小时,卡里的数据一片都没完整落地。

后来我意识到,问题不在我记性差,而在信息呈现方式。命令行把所有步骤揉成一团,GUI 则把"我要读哪一区、用什么密钥、结果存到哪"拆成了几个看得见摸得着的操作。Proxmark3GUI 就是冲着这件事来的。

先用 30 秒认识它:一款称职的 RFID卡片可视化工具长什么样

先澄清一个误会:它不是"换个皮肤的命令行",而是给高频操作配了真正的图形入口。

  • 端口自动扫描:插上设备点一下"刷新",串口列表自己就出来了,不用再去设备管理器里翻名字。
  • 双客户端适配:官方版和冰人版(RRG/Iceman)通吃,在设置里选对应配置文件即可——config/config_official.json对应官方版,config_rrgv4.*.json一类对应冰人版。
  • 中英文界面:切到中文后,按钮、提示、状态栏全是人话,妈妈再也不用担心我看不懂日志。
  • 状态一目了然:底部状态栏直接显示固件版本、连接状态和运行状态,还带一个"停止"按钮,跑飞的命令随时掐断。

这是 Proxmark3GUI 的主界面:左侧是扇区数据列表,右侧是密钥面板,中间一排按钮覆盖读取、写入、攻击和文件操作。

第一次连接:把"找不到串口"变成历史

连接这件事只痛苦一次,但第一次配置有几个容易漏的细节,我按顺序给你捋一遍。

  1. 填客户端路径:Windows 下建议直接下载 release 里带客户端的压缩包(名字类似Vx.x.x-win64-xxxxxxx.7z,解压后打开GUI\Proxmark3GUI.exe);也可以只下纯 GUI 版,在顶部"客户端路径"里指向你自己的proxmark3.exe
  2. 选配置文件:进设置面板,按固件版本选官方版或冰人版配置。
  3. 补启动参数:冰人版客户端通常要在"启动参数"里加-p <port> -f,Linux 下把<port>换成/dev/开头的设备路径——很多"连不上"其实就是漏了这一步。
  4. 配预加载脚本:如果客户端平时靠setup.bat启动(它负责设置QT_PLUGIN_PATH等环境变量),把这个 bat 的路径填进"预加载脚本路径",GUI 会在启动客户端前自动执行,且不污染系统环境变量。

Linux 上编译也直接,依赖就两样:qt5-defaultlibqt5serialport5-dev

sudo apt-get install git build-essential qt5-default libqt5serialport5-dev git clone https://gitcode.com/gh_mirrors/pr/Proxmark3GUI --depth=1 cd Proxmark3GUI mkdir build && cd build qmake ../src make -j4 ./Proxmark3GUI

连接成功后,状态栏会出现类似RRG/iceman/master/v4.9237-...的固件信息,到这一步,配置这条路就算走完了。

十分钟读懂一张卡:Mifare 卡片读写的完整动作拆解

读一张卡的本质只有三步:告诉它卡型、给它密钥、告诉它读哪里。

Mifare Classic 卡按容量分四种:MINI(320 字节)、1K(S50,最常见)、2K、4K(S70)。不确定卡型时,默认选 1K 基本不会错,这个选择框就在界面左上角。

  1. 选好卡型,在密钥面板填密钥。不知道密钥?先点Fill Keys一键填充常见默认密钥(比如FFFFFFFFFFFF),再点Check Default验证。
  2. 读取信息,界面会显示 UID 和卡型等基本信息。
  3. 勾选要读的扇区,点读取选中块,或者干脆读取全卡。

这里必须夸一下它的读卡逻辑:遇到没密钥的扇区,它不会整个中断,而是跳过失败的块继续往下读。最后你拿到的是"部分读成功"的结果——哪些块读出来了、哪些还空着,一眼就能分辨,而不是像命令行那样半途而废。

数据出来后,双击任意一行即可直接编辑,输入时不用手动补齐字节间的空格;左侧文件区支持把.bin/.dump/.eml文件直接拖进去加载,程序会自动识别格式并填到对应的数据块里。

把数据文件拖进窗口即可载入,卡型、密钥与数据同步就位,加载完直接就能接着编辑。

密钥管理:把 KeyA 和 KeyB 从你的笔记本里解放出来

Mifare 卡每个扇区的访问由 KeyA、KeyB 和访问控制位共同决定,手动维护这套东西最容易出错,而密钥表格把这事变得可勾选、可复制、可批量。

  • Check Default:一键测试常用默认密钥。我实测一张卡,日志显示Check: 0.4s | found 20/32 keys——0.4 秒从 32 个密钥里命中 20 个,比你手输快得多。
  • Fill Keys:把常见默认密钥批量填进表格,适合先试探再细读。
  • 密钥文件导入/导出:密钥可单独存成文件,换电脑、换项目直接导入。
  • KeyBlocks <-> Key:在密钥块(Trailer)和密钥列表之间互相搬运,方便把读出来的 Trailer 数据反向解析成密钥。

密钥区和数据区之间还有双向同步功能,填好的密钥可以直接映射进数据区对应位置,省掉复制粘贴的功夫。

门禁卡数据备份方法:两步保存、三步恢复

把一张门禁卡完整备份下来,是 Proxmark3GUI 最日常的用法,也是我建议每个人上手后先做一遍的练习。全程两次点击、一次选择,不用敲任何命令。

  1. 读卡:接好设备,用上面的流程把卡读出来。
  2. 保存:在文件区勾选"数据",点保存,选格式。二进制格式(.bin/.dump)与卡片容量逐字节对应,适合原样备份;文本格式(.eml)能用任意文本编辑器打开,适合人眼阅读和修改。
  3. 恢复:换一张空白卡,加载刚才的文件,选好卡型、填好密钥,点写入。

文件加载窗口支持.bin.dump.eml等多种格式,选中后程序会自动判断格式并填充数据。

保存时按需选择二进制或文本格式,这份文件就是你卡片数据的完整快照。

这里有个很多人不知道的细节:这套数据编辑流程即使没有 Proxmark3 硬件也能用。官方文档明确提过,你可以在电脑上加载一份 dump 文件离线编辑,改完再保存——想先练手,或者临时改个数据文件再拿去写卡,完全可行。格式转换也顺手:加载二进制 → 存成文本 → 用编辑器改 → 再存回二进制,几步完成。

当默认密钥全部失效:Nested、Darkside、Hardnested 怎么选

默认密钥攻不下来的时候就得靠攻击,但三种攻击不是"随便点一个都行",它们各有各的适用位置。

  1. Nested 攻击:最常用。需要一个已知密钥做起点,通过捕获认证随机数推算未知密钥,速度快,多数常见卡都适用。
  2. Darkside 攻击:适合连一个已知密钥都没有的情况,利用认证漏洞直接盲猜,成功率不如 Nested,但胜在起点低。
  3. Hardnested 攻击:成功率最高的方案,靠大量采样和计算暴力推导,代价是耗时明显更长,适合 Nested 失败或需要稳定拿全密钥的场合。

攻击时可以勾选多个目标扇区,进度和结果实时刷新,不用像命令行那样干等。

我的经验是:先 Check Default,再 Nested,最后才上 Hardnested——不少卡其实第一步就解开了,别一上来就开重火力。

进阶玩法:Trailer 解码、UID 卡和 Raw 命令

读完写完之后,还有几个容易被忽略的功能,值得单独拎出来。

Trailer 解码器:每个扇区的最后一块(Trailer)存着密钥和访问控制位,这些位的组合晦涩难懂。Trailer Decoder 会把它翻译成"这个块谁能读、谁能写"的人话,做安全评估和修复数据时都离不开。

Trailer 解码器把访问控制位翻译成可读可写的权限说明,评估卡片安全配置时一目了然。

UID 卡(Chinese Magic Card):这类卡不校验密钥,Proxmark3GUI 专门给它开了一组"不需要密码"的操作入口,UID 快速读写、UFUID 锁卡一步到位。

Raw 命令面板:想练命令,或者要用界面没覆盖的功能时,直接在 Raw 面板敲 PM3 原生命令,结果实时回显,相当于一个带日志的官方客户端。

低频模块:125kHz/134kHz 频段的读、嗅探、搜索和天线调谐(Tune)也都有入口,覆盖 LF 卡的基本玩法。

布局自定义:各选项卡可以拆分、拖拽、重组,日志窗口、数据面板、密钥面板想放哪放哪。这是纯 GUI 工具里少见的自由度。

把 Raw 命令日志拖到左侧停靠,主界面依然清爽——布局完全按你的习惯来。

这六个坑,我替你提前踩过了

新手期最容易踩的坑,集中回答一遍,都是真实翻车现场换来的。

Q1:提示 Not Connected,连不上?先查 USB 线和端口选择,再确认客户端路径填对没。冰人版记得补-p <port> -f,很多"连不上"其实只是参数没带上。

Q2:读取时 Authentication failed?密钥不对。先 Fill Keys 再 Check Default,很多卡的默认密钥就是FFFFFFFFFFFF。另外确认卡型没选错,1K 的卡按 2K 读自然对不上。

Q3:攻击跑了很久没结果?先别急着换方案。环境干扰、卡片离天线太远都会拖慢进度;确定是密钥本身复杂,再考虑上 Hardnested。

Q4:Windows 解压后打不开?把压缩包解压到不含中文和空格的路径,且 GUI 目录和客户端目录不要放在一起,这是文档里明确提醒过的。

Q5:树莓派上连上几秒就断开?在设置里勾选"在 PM3 断开后保持客户端运行",这是 Raspbian 用户专属的小开关。

Q6:命令能跑但结果看不懂?去 Raw 面板看原始输出,同时对照底部状态栏的固件版本确认配置文件选对了——官方版和冰人版的输出格式本来就不一样。

今天就能完成的三件小事

聊到这里,最后给你一份"今晚就能做完"的行动清单:

  1. 下载并连上设备:Windows 用户直接拿 release 里带客户端的版本,Linux/macOS 按上面的命令编译,先完成连接这一步,确认状态栏出现固件版本。
  2. 备份一张你手边的卡:哪怕只是一张普通门禁卡,走一遍"读卡 → 保存 → 换卡恢复"的完整流程,你就掌握了这套工具最核心的用法。
  3. 读一遍官方教程:仓库doc/tutorial/下有三份文档——快速上手、ProxSpace 配合使用、Mifare 数据编辑。前两份二十分钟能读完,第三份就是今天备份流程的完整版图解,仓库doc/preview/里还有全套动图演示可以对照。

下一步该去哪,你已经知道了。卡片就在桌上,设备就在手边,把清单里第一件事做掉,剩下的,界面会一步步告诉你。😉

【免费下载链接】Proxmark3GUIA cross-platform GUI for Proxmark3 client | 为PM3设计的跨平台图形界面项目地址: https://gitcode.com/gh_mirrors/pr/Proxmark3GUI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询