小米手环刷公司门禁

主要参考的这篇文章PN532全加密门禁卡模拟成功

记一下破解密码的相关命令

  • mfcuk -C -R 0:A -s 250 -S 250 #该命令貌似是破解密钥但是我没成功过,它在链接我的NFC设备的时候总报错
  • mfoc -O test.dmp #该命令是可以把内容整个dump出来并且可以破解key的
  • nfc-list #该命令是libnfc中带着的命令,可以列出UID
  • nfc-mfsetuid xxxxxx #该命令也是libnfc中用来设置UID的命令
  • nfc-mfclassic w a test.dmp #该命令是用来将数据整个写入到卡里,我理解上是直接复制卡内容,但是好像是有限制的,我在复制的时候也不确定有没有成功。

    PS:

    小米手环模拟卡片后不知道为什么使用mfoc -O xxx.dmp不能dump里面的数据,但基本可以确定数据已经复制进去了。不过后来我发现虽然那些门禁卡都是加密卡,但是起作用的只是UID,所以一定程度上我们只需要复制UID就可以了。

    复制UID

    复制UID的流程就很简单了:
  • 将需要复制的卡放到读卡器上使用nfc-list读书UID并记录
  • 将空白卡放到读卡器上使用nfc-mfsetuid设置上面的UID
  • 小米手环复制非加密卡功能来复制空白卡即可(因为小米限制了复制加密卡)

    复制加密内容

    经过测试部分门禁还是会校验加密内容,如果测试过只复制UID无效情况下,可以尝试下面的方法把加密内容一起复制进去,虽然手环在命令读取下没有数据返回但是通过测试发现应该还是有写入成功的。
  • mfoc -O test.dmp #来复制卡片内容同时会破解卡片
  • 先通过复制UID的过程让小米手环模拟白卡
  • 修改test.dmp文件中,将除了有数据的64blok保留其他都删掉
  • 按照文章中所示修改对应行的数据
  • nfc-mfclassic w a test.dmp #将文件内的数据写入到卡片里

    PS:

    读卡器可能会因为驱动问题写入失败,多试几次确保写入成功。