登录
  • 人们都希望被别人需要 却往往事与愿违

我只是想复制个门禁卡👿

瞎搞 Benny小土豆 15次浏览 1373字 2个评论
我本来只是想复制一张门禁卡,最后写了个跨平台 NFC 工具

9 月 10 日,下楼太急。走到车边才发现车没解锁,摸摸裤兜:手机忘拿了,门禁卡也没拿。😅

脑子飞速运转了一下:

  • 备用门禁卡放在信箱里,早就被人偷了;
  • 另一张备用门禁卡在车里,但车打不开;
  • 手表没办法解锁车,而且是 Wi‑Fi 版,也没办法联系别人帮我开车门;
  • 甚至手表的离线支付都没开……;
  • 等了一会儿也没人进出,没法尾随;
  • 门禁呼叫功能全是坏的。

最后只能去物业 😂

物业大姐一脸诧异:“什么???”
然后护送我到单元门,用手机给我开了门 🤨

物业办卡要 10 元。我知道门禁卡可以复制——之前就用小妹妹的手机复制过🥺,所以当时就想:不如多准备几张,给自己留点冗余。

给自己的解决方案是:

  • 一张放信箱里,希望这次别再被偷;
  • 一张放电瓶车里;
  • 再弄一张超小超薄的 NFC 贴纸,贴到 Apple Watch 表带上。⌚️

既然要准备这么多张卡,想着自己买设备复制,应该比物业办卡便宜,而且还能做成贴纸贴在表带上。虽然理论上这并不合法🫠

后来又顺手研究了一下九号和小鹏 NFC 卡的技术实现。🔍

研究结果是:

九号的 NFC 卡(至少我这个型号)就是普通 MIFARE Classic 卡,扇区密钥都是默认的 FFFFFFFFFFFF,复制起来很简单。

小鹏 NFC 卡则本质上是带安全芯片的智能卡:车辆通过专用协议与卡内不可导出的密钥进行加密认证,验证成功才解锁或启动。UID 只是公开编号,单纯复制 UID 基本无效。🔐


于是买了 PN532 作为 NFC 读卡器,正好我手上有一个以前修路由器时买的 FT232RL

我只是想复制个门禁卡👿

在 Codex 的帮助下,很快写好了 Python 脚本,可以读卡写卡,也能完成我需要的任务。

其实到这里,我最开始的问题已经解决了。
但脚本每次都要运行,虽然可用,还是不够方便。


搜了一圈后发现,跨平台的 GUI 工具几乎没有:

  • 一个 MifareTools 只支持 Windows,而且已经停更;😵
  • 另一个支持 macOS 的工具又不支持 FT232 串口,支持的是 CH340;🤕
  • Linux用户?你们不是都自己编译然后用CLI的吗?😵‍💫

于是想着:既然没找到一个三个平台都好用的,那要不自己弄一个……🤔

别人没做,那我行我也上。👻

然后事情就开始失控了。😅

一个周末、几百万 token 之后,弄出了 NFCX。🚀

NFCX - NFC eXtended: Cross-platform NFC toolkit for Windows, macOS and Linux.

该有的功能都有。一行代码没写,我只负责调试和训诫 GPT。🙂

我只是想复制个门禁卡👿

欢迎使用:

官网:https://nfcx.tools 
GitHub:BennyThink/NFCX 

最后一点感受与经验:有 AI 写代码确实很方便,但“一行代码没写”并不等于“一点活没干”。😥
需求、架构、实机测试、跨平台兼容、不断发现问题再让 AI 修,最后还是折腾得腰疼。😨

不过这样的 App 如果让我一边探索一边自己实现,我估计真的得写几个月。尤其 Windows,光编译和打包就来回炸了不知道多少次,各种 patch 才终于跑通。🤯

所以虽然花掉了几百万 token,但至少把几个月压缩成了一个周末。钱包疼,腰也疼,但东西真的跑起来了。🤐

当然,也要强调一下:请仅用于自己拥有或获得明确授权测试的卡片和系统,不要用于任何非法用途。⚠️

另外,本文采用了古法写作技术。


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/nfc-clone.html
喜欢 (3)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(2)个小伙伴在吐槽
  1. windows上还有个PCR532来着,可以试试看
    Grayawa2026-09-16 19:29 (5 小时前)回复
  2. 能写到手机吗
    老孙2026-09-16 18:59 (5 小时前)回复