IC卡复制:以校园卡为例
什么是 IC卡?
当你想复制一张校园卡时,首先你得知道它是什么类型的?
市面上的卡大多分为IC、ID、CPU卡。由于IC卡具有数据可改写、加密的特性,大多数场所使用的是非接触式IC卡(接触式IC卡即为CPU卡)。非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。在此我们就不多叙述,想仔细了解请移步百度。
所以,我们确认要复制的卡片类型为IC卡。
如何判别我们手上的卡是IC卡呢?
请移步百度:ID卡与IC卡的区别以及ID卡与IC卡的辨别
IC 卡的数据结构
IC 卡(比如Philips Mifare1卡 S50)可以记录约 1000 个字符的内容,存储信息分为 16 个扇区(0-15),每个扇区又分为 4 个区域块,共64块。 每个扇区都有独立的一对密码 keyA 和 keyB,负责控制对每个扇区数据的读写操作,具有多个子系统独立管理功能.
第 0 扇区的块 0(即绝对地址0块)用于存放厂商代码(比如卡号),已经固化,不可更改。其他各扇区的块 0、块 1、块 2 为数据块 ,用于存贮数据;块 3 为控制块 ,存放 keyA、存取控制、keyB。IC 的信息可以被读卡器或者手机 NFC 读取出来,它是一个.dump文件,其结构如下:
IC卡的分类
- Mifare S50(M1)
MIFARE Classic 是恩智浦半导体开发的可用于非接触式智能卡,有 S20,S50(M1),S70 几种规格。M1 卡容量 1K 字节,每张卡片都有一个 4 字节的全球唯一序列号,0 扇区不可以修改,其他扇区可反复擦写,卡上数据保存期为 10 年,可改写 10 万次,读无限次。日常使用的电梯卡、门禁卡等智能卡发卡商所使用的都是 M1 卡,可以理解为物业发的原卡(母卡)。常见校园卡、公交卡等也是 M1 卡。M1 卡仅仅适合发卡方发新卡使用。
- UID 卡
普通 IC 复制卡,可以重复擦写所有扇区。UID 可被重复修改,响应后门指令(意味着可被使用后门指令检测是否为克隆卡的机器发现),遇到带有防火墙的读卡器就会失效。平常去地摊上找老大爷配的门禁卡就是这种。
- CUID 卡
UID 的升级版,可擦写防屏蔽卡,可以重复擦写所有扇区,不响应后门指令(意味着不容易被反克隆系统发现),可以绕过防火墙。
- FUID 卡
不可擦写防屏蔽卡,此卡的特点 0 扇区只能写入一次,写入一次后变成 M1 卡,不能重复利用,修改后和 M1 卡完全一样,很难被屏蔽检测。
- UFUID 卡
高级 IC 复制卡,可以理解为是 UID 和 FUID 的合成卡,需要封卡操作,不封卡就是 UID 卡,封卡后就变为 M1 卡。
- CPU 卡
CPU 卡芯片内含有一个微处理器,配合操作系统即片上 OS,可以达到金融级别的安全等级。适用于金融、保险、交警、政府行业等多个领域。CPU 卡由 CPU 部分 7K 以及 M1 部分 1K 组成,最多破解其中 M1 部分,CPU 区域数据无法破解。实际上由于 CPU 部分和 M1 部分的数据会交互,所以基本上 CPU 卡无法破解。
复制 IC 卡的准备工作
工欲善其事,必先利其器
复制前我们要准备好工具,IC卡市面上常用的廉价读写装置有:PN532、ACR122U
当然土豪也可以选择PM3 Proxmark 。
这几种读写装置以后我们再展开说明,本文章选用PN532作为读写装置。在日常生活中,PN532足够使用了。
淘宝上贩卖的PN532大多都是裸板,没有供我们连接PC的接口。所以,这里我们需要一个USB转TTL转换器来连接PN532和PC。USB转TTL接线操作
有需要复制的卡片就有要读写的卡片,这里为方便我们选择UID卡和CUID卡为例子。
有了硬件就需要软件,不然我们用座机敲二进制吗? 关于PN532的上位机软件,网络上有很多。这里我推荐用MifareOneTool。这是在GitHub开源的软件,使用起来更放心。
总结一下,我们需要的是:
- PN532
- USB转TTL转换器(CH340g模块)
- UID和CUID卡
- MifareOneTool
开始操作:
连接和初始化
首先我们需要使用CH340g将PN532和PC连接起来。 USB转TTL接线操作
打开MT1软件,点击检测连接检测是否有设备连接 再依次点击扫描卡片和检测加密。 值得注意的是,在检测卡片时,只有在下图红框中显示为08/18才能继续下一步。显示为其他卡片请点击右上角退出,本文帮不了你。 另:如显示卡片类型为Mifare Classic 4K卡片(S70)请在软件设置中将数据写入保护关闭。
读取数据
现在我们已经成功安装扫描卡片并检测类型了。下一步就是找到密码了。感谢开发者给我们一个金手指! 点击下图中的一键解原卡,然后最小化软件界面,找一个你喜欢的电源。。。哈哈,夸张了,由于硬件机能的限制,破解原卡密码需要大约20分钟。能多久破开就完全看运气了。当然,如果你不想等那么久,可以加钱购买PM3 Proxmark来进行破解,这就另外一说了。 密码破解完成后,软件会提示我们保存一个后缀为.dump的文件,当然你也可以选择只保存后缀为.mfd文件。
修改数据
.dump文件就包含原卡中所有的数据。存放的数据中就包含原卡的信息, 我们可以更改.dump文件来达到一些目的。当然,你得清楚厂家数据加密的格式才能有效更改。这里不过多叙述,原因嘛。。你懂的。 m1t软件提供了修改dump和对比dump的工具,分别是根目录下winhex.exe和软件高级操作模式下的集成辅助工具。
写数据入卡
获取了原卡的所有数据后,点击中间红框的加载密钥,将保存的.dump文件加载。总而言之就是需要原卡的数据,无论你怎么得到的。
下面,我们就要开始将数据写入新卡了。
将原卡从设备上拿开,放上新卡。 然后回到上位机软件,点击高级操作模式。
我个人不推荐使用下图中右边红框的工具,当然你可以不听,随你。
我推荐购买的卡片为UID卡和CUID卡,这里我们分开讨论。
-
UID
点击下图中的UID写,可以快速的 将数据写入UID卡中。由于存在后 门,读取UID卡数据也不需要密码,所以在一些情况下使用UID卡更加方便。
-
CUID
CUID不同于UID,它没有后面所以可以绕过一些机器的检测。M1T在CUID写入数据时有个需要注意的地方。点击下图CUID写后数据写入后数据实际只写入了15个扇区,0扇区没有写入,这是就需要点击高级扇区中普通卡操作依次点击选择key.mfd(文件也可以选择.dump文件)、写M1;将0扇区数据写入CUID卡中。
UID卡读写操作视频:
而理论上,有了数据,就有了卡片。至于你怎么操作,那就要发挥你的想象了。
鉴于本文是新手向文章,故大部分原理并没有依次说明,若有疑问可以继续百度。
申明:本文仅供学习交流,禁止作非法用途。