推广 热搜:   中国  公司  企业  服务  未来  行业  政策  设备  基金 

从NFC卡(校园卡或者门禁卡)分析看ACR122U读写原理 (转载)

   日期:2024-11-06     作者:caijiyuan    caijiyuan   评论:0    移动:http://22pru.gawce.com/news/9416.html
核心提示:本文转载介绍一个NFC卡制作的全部流程,并对制作过程中的读写原理进行探讨。在逆向分析中,我们会接触多种多样的工

本文转载介绍一个NFC卡制作的全部流程,并对制作过程中的读写原理进行探讨。在逆向分析中,我们会接触多种多样的工具,在使用工具的同时,希望大家思考一下原理,便于更深入的进行了解和学习。

从NFC卡(校园卡或者门禁卡)分析看ACR122U读写原理 (转载)

目录          0x1.工具及卡片介绍         0x2.卡片信息读取         0x3.卡片数据分析及修改         0x4.卡片信息写入 接下来步入正题,先从背景介绍开始。之前购得ACR122U之后闲置了一段时间,最近办理了一张餐饮消费会员卡,于是忍不住拿来分析一下。

0x1.工具及卡片介绍

先说一下会员卡,该卡片是M1卡。所谓的M1芯片,是指菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,常用的有S50及S70两种型号,截止到2013年11月4日,已经有国产芯片与其兼容,利用PVC封装M1芯片、感应天线,然后压制成型后而制作的卡即是智能卡行业所说的M1卡。


工具是读写器硬件设备ACR122U以及配套的用于读写的PC软件。    ACR122U NFC读写器是一款基于13.56 MHz非接触(RFID)技术开发出来的连机非接触式智能卡读写器。它符合ISO/IEC18092近场通信(NFC)标准,支持Mifare®卡、ISO 14443 A类和B类卡、以及全部四种NFC标签。
 


为了确定该读写器的主芯片,将其拆解,确认读写的主芯片为NXP(恩智浦)的PN532
 


0x2.卡片信息读取
    0x2.1  卡片信息读取

该设备的提供的读取程序为M1卡服务程序


 

电脑安装驱动以后,连接读卡器,卡片靠近读卡器,选择读卡器后,点击开始破解,即可等待破解完成。完成后我们就可以拿到M1卡的二进制文件信息,文件扩展名为dump,大小为1KB。下图为读取到的dump文件及分析结果标注


我们先了解一下M1卡的存储结构,M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,存储结构如图所示
 


其中第0扇区用于存储卡片的UID信息以及厂商写入的信息,一般不需要我们分析修改

每个扇区的块0、块1、块2为数据块,可以用于存储数据

块3位控制块,由密码A、存取控制(控制字)、密码B组成,且每个扇区的密码和存取控制都是独立的,即 每个扇区都有自己的密码。


 

接下来我们看一下我们读取到的数据,将dump文件使用十六进制编辑器打开
 


第0扇区我们暂不理会,显然,数据基本存储在第10扇区与第11扇区,且两个扇区的控制块是相同的,后续我们着重分析这两个扇区。


    0x2.2  PN532读写过程


对于PN532而言,读取过程又是怎样的呢?我们先来了解一下PN532。

         PN532由NXP出品,是一款高度集成的载波的13.56MHz传输模块,基于80C51内核有40KROM、1KRAM。 使用不同的固件支持13.56MHz频段的无线协议。

这里我们介绍一下ACR122U对M1卡的读写卡流程


 


PN532读写过程均已经介绍,卡片信息写入时仅介绍操作,不再赘述原理。

0x3.卡片数据分析及修改

分析过程我们需要取多组数据,进行分析来确认不同数据所代表的的意义,此处我们仅分析第10及第11两个扇区。

 


根据上图内容,我们可以看到,10扇区的块0没有数据,10扇区块2和11扇区块0相同,11扇区的块1和块2相同,所以我们仅仅分析10扇区块1,11扇区块0和块1。接下来我们对比不同余额时对应的数据

根据数据结果,我们可以看出,在消费后,只有11扇区块1(块2相同)发生了变化。

其中余额319.4及298.6,以分为单位是31940和29860,转化为十六进制为 0x7CC4和0x74A4,恰好可以与11扇区中块1中的数据对应。

我们继续看下扇区10块1

至此数据基本分析完毕,我们来尝试写入看结果如何。

0x4.卡片信息写入

我们把余额改为600,也就是60000分,十六进制为0xEA60,取反为0x159F,修改如下
修改后保存dump文件,使用MiFare Card Programming工具将其写入到卡中


需要注意的是,每个扇区需要有本身对应的密码才可以写入。


【补充】

写入更改后的余额后,测试可正常消费,为避免因卡号记录追溯到用户信息,可以更改卡号信息,即扇区10块1中的6DB7可以更改,更改后需要同时更改块1的末尾数据,因为末尾的数据51为校验位,是块1的前15位数据取和后获得的值,请大家根据情况自行理解分析,此处不作赘述。

感觉NFC的技术硬件原理讲述的还是挺详细,方便理解各种卡。目前类似的卡的金额等只存储用户名,余额都在他们PC里面。

本文地址:http://www.gawce.com/news/9416.html    阁恬下 http://www.gawce.com/ , 查看更多
 
标签: 门禁卡
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行