zoukankan      html  css  js  c++  java
  • 如何使用小米手环与PN532(或类似芯片)复制验证卡号的IC卡

    好久没发博客了,之前在搭的主页也没开始迁移……最近正好研究了下IC卡相关的东西,权当记录一下。
    学校换了新的饭卡,之前直接上PN532的方法不好使了。推测是新读卡机会检测0扇区,操作过后果然可行。
    本文不会详细讲解PN532驱动、软件等操作流程,主要也是因为网络上软件资源种类太多,能基本上都一致,简单操作就可使用。
    PN532操作参考阅读:PN532!便宜又好用的NFC设备!


    I 小米手环IC卡写入的几个难度等级

    在尝试将IC卡写入小米手环的时候,如果不太了解IC卡的分类与原理,可以按照以下顺序尝试:

    1. 无加密IC卡 - 直接使用小米手环app“复制卡片”功能可以复制
      现在已经很少了。
    2. 加密IC卡,不验证0扇区 - 使用PN532类
      加密的卡片不能直接复制,需要使用芯片读取写入。
    3. 加密IC卡,验证0扇区卡号 - PN532 + 一张UID白卡 + “卡片复制”功能
      由于直接读取、写入不会涉及0扇区,需要一张能写入0扇区的卡(UID)然后将0扇区和其他信息分别写入。
    4. 加密IC卡,验证0扇区卡号和厂商信息 - 基本无解
      小米手环由于对厂商信息的保护,无论如何都不能复制厂商信息。

    II 卡片分区

    简单讲解一下关于卡片分区的问题,以便解释卡片不能直接复制的原因。
    IC卡分区
    来源:小米手环4 NFC 添加加密门禁卡

    首先,一般情况下0扇区的信息是不会被检测的,常规IC(M1)卡(包括小米手环“白卡”功能)也无法写入0扇区。但是,有些厂商的读卡机会检测0扇区的“卡号”内容,这时就需要一些手段来写入0扇区;
    一种特殊的IC卡,UID卡能够写入0扇区。
    因此,我们使用一张UID卡复制一个只有0扇区的信息,因为加密的部分全部被去除了,可以直接用小米手环app“复制卡片”。此时0扇区(除了厂商信息)会被写入小米手环。
    最后,再使用PN532常规手段写入其他扇区的信息即可。

    III 写入0扇区

    除了需要小米手环(NFC),PN532芯片及软件之外,还需要:

    • 一张UID白卡
    • dump编辑(或转换)软件
    • 小米手环手机app
    1. 首先使用PN532读取饭卡的全部信息,存储进dump文件。
    2. 创建一个dump文件的复制,删除除0扇区之外所有扇区0-2区块的信息,改为00。在1扇区0区块加入一行信息(随机即可)防止复制失败。
    3. 将删除完之后的文件写入空UID卡.
    4. 使用小米手环app“复制卡片”复制这张UID卡。正确的话,会显示成功,否则是被加密之类的。
    5. 复制成功后再使用PN532,将存在小米手环里的卡片当作一张白卡,写入初始dump文件的信息即可。由于0扇区实际上无法写入,不用担心被复写。

    步骤图

  • 相关阅读:
    寫程序方法
    phpDesigner注冊碼
    如何获取SQL Server数据库元数据(转)
    WPF中的事件(Event)
    访问数据源的架构信息(系统表、信息结构图、GetSchema)
    MSbuild生成WPF程序
    数据契约
    window动态调整大小后无法关闭
    sql server 2000 系统表详细介绍(转,收藏一下)
    Linq2Sql:使用Sqlmetal.exe
  • 原文地址:https://www.cnblogs.com/miserweyte/p/13752227.html
Copyright © 2011-2022 走看看