普通门禁卡及各类复制卡相关知识

article/2025/11/7 9:52:13

转自: https://nfctool.cn/42

本文带你了解M1卡的数据结构,为以后的破解提供理论基础。同时带你了解各种IC卡,让你对破解和复制有更清晰的目标。请注意,ID卡没有密码,一读一写即可复制,手机手环不能模拟ID卡,这里就不讲ID卡了。

一、M1卡数据结构:

Mifare Classic提供1k-4k的容量,现在国内门禁采用的多数是Mifare Classic 1k(S50)[后面简称M1卡]。

M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个段,每个段可以保存16字节的内容,为什么这里要强调从0开始呢?这跟C语言里面数组下标默认从0开始是差不多的,好计算地址偏移,我们不必太过在意,只是要记住是从0开始,写入数据的时候不要写错地方就可以了。每个扇区的第4个段(也就是3段)是用来保存KeyA,KeyB和控制位的,因为M1卡允许每个扇区有一对独立的密码保护,这样能够更加灵活的控制数据的操作,控制位就是这个扇区各种详细权限计算出来的结果。

每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0扇区)的第一段(0段),也称为厂商段,其中前4个字节(就是前8位,两位一个字节)是卡的UID,第5个字节是卡UID的校验位,剩下的是厂商数据。并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,当然也有例外,有种叫UID卡的特殊卡,UID是没有设置保护的,其实就是厂家不按规范生产的卡,M1卡出厂是要求要锁死UID的。下图很清晰的列出了M1卡的结构。

更多的M1卡结构可以下载这个PDF仔细阅读。

高频IC卡指南

大家要先了解M1卡的结构,这能够为后期的破解做铺垫。

二、M1卡种类:

IC(Integrated Circuit)卡是1970年由法国人Roland

Moreno发明的,他第一次将可编程设置的IC芯片放于卡片中,使卡片具有更多功能。“IC卡”和“磁卡”都是从技术角度起的名字,不能将其和“信用卡”、“电话卡”等从应用角度命名的卡相混淆。自IC卡出现以后,国际上对它有多种叫法。英文名称有“Smart

Card”、“IC Card”等;在亚洲特别是香港、台湾地区,多称为“聪明卡”、“智慧卡”、“智能卡”等;在我国,一般简称为“IC卡”。

如图,普通IC卡,0扇区不可以修改,其他扇区可反复擦写,我们使用的电梯卡、门禁卡等智能卡发卡商所使用的都是 M1

卡,可以理解为物业发的母卡。其他IC卡都是后门卡,可通过各种写入方法修改0扇区,实现复制母卡的目的。

UID 卡(国外称GEN1)

普通复制卡,主要应用在IC卡复制上,遇到带有防火墙的门禁读卡器就会失效。这类门禁读卡器在刷卡的时候会默认发出后门指令修改UID卡卡号,导致UID卡无法再次使用,即UID卡只能使用一次。UID卡失效后可通过比对卡号是否被修改来判断门禁读卡器是否带防火墙。

由于只有读卡器才能发出后门指令,手机不支持发送后门指令,所以UID卡只能通过读卡器修改卡号和免密读写,无法使用手机修改卡号。UID卡即使写入时数据错误,也可以通过后门指令强行格式化救活。

CUID 卡(国外称GEN2)

可擦写防屏蔽卡,可以重复擦写所有扇区,门禁读卡器带防火墙的话,就可以使用CUID绕过防火墙。CUID无需锁卡自动起防屏蔽作用,不会像FUID或UFUID等需要锁卡后才起到防屏蔽作用。

CUID卡不响应后门指令,直接使用普通指令就可以修改卡号,所以可以用手机修改卡号。不过正因为CUID卡不响应后门指令,所以一旦写入过程数据出错,那么卡片将直接报废。

FUID 卡(国外称GEN2)

不可擦写防屏蔽卡,此卡的特点是0扇区只能写入一次,写入一次后FUID就变成普通 M1 卡,CUID卡绕过防火墙失败的话可以使用FUID尝试。

UFUID 卡

高级复制卡,我们可理解为是 UID 和 FUID 的合成卡,执行锁卡操作后变为 普通M1 卡,过程不可逆,不锁卡就是 UID 卡。市面上支持锁卡指令的读卡器和软件很少,我们的APP和读卡器支持UFUID卡的锁卡指令。

GTU/GUID/GDMIC卡

滚动码复制卡,用于滚动码防复制电梯系统,GTU卡锁卡后数据不再改变,每次断电后都会恢复为锁卡前的数据,从而使滚动码电梯系统无法正常滚动卡内数据,实现破解滚动码系统的目的。GTU可解锁,解锁后可通过GTU专用指令进行数据修改。

三、知识延伸-SAK是什么

IC卡数据0扇区0块的第6字节代表着芯片类型,普通的IC卡SAK类型为:08,CPU模拟卡为:28,纯CPU卡为:20

以下图片收集了一些其他不常见的类型卡供大家参考。

参考: https://zhuanlan.zhihu.com/p/67532665

https://blog.csdn.net/D_azzle/article/details/85012669

http://www.jinmuyu.com.cn/kp-s50.html

https://blog.csdn.net/kclax/article/details/93387122


http://chatgpt.dhexx.cn/article/FWUBbZx8.shtml

相关文章

IC卡与ID卡

IC卡与ID卡定义 IC卡全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形式,芯片含的存储器(ROM、EEPR…

IC授权卡和复制卡的区别_一起来了解苹果礼品卡的区别,解决你购买时的困惑...

要说到现在过节送什么,除了日常的烟、酒之外。Apple礼品卡也是不少年轻人的选择。但是,如果您去购买Apple礼品卡,您会很快发现事情变得有些混乱。因为有多种Apple礼品卡可供选择,它们的名称各不相同,作用也是不同,为了解决你的困惑,我们一起来了解一下Apple礼品卡的区别…

Python 读写IC卡、复制IC卡

本示例使用的发卡器:https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.3614789e318TMs&id615391857885https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.3614789e318TMs&id615391857885 #python通过缩进来表示代…

IC卡防批量复制破解 Mifare卡一卡一密方案说明 门禁卡校园卡水卡会员卡防破解方案

目前市面上大部分的IC卡(如门禁卡,门锁卡,水卡,校园卡,会员卡等)均属于Mifare1S50卡。该类卡片虽然在采购价格上较有优势,但同时也存在被批量破解、复制等安全性风险。如果更换为CPU卡&#xff…

php ic卡,IC卡的数据结构认识

讲解一下滚动码: 滚动码是一种防复制的技术,判断滚动码的方法非常的简单。 拿到物业发的原卡先解密,解密后数据保存。保存完成之后,拿着你的物业卡原卡去刷一下电梯或者门禁。然后再回来对比一下数据。看下刷电梯前的数据和刷电梯…

IC卡分类

M1 普通IC卡,0扇区不可以修改,其他扇区可反复擦写。我们日常碰到的单位食堂卡,小区门禁卡,单元的电梯卡都使用的是M1卡。 UID卡 所有区块可被重复读写 卡片ID可改写且使用后门指令更改ID 卡片ID可重复修改 相应后门指令&#xff…

使用ACR122U和Proxmark3复制IC卡

常见IC卡片介绍及使用ACR122U和Proxmark3复制卡方法 一、常见IC卡片介绍 1.1 ID卡和IC卡 ID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格…

Delphi 复制IC卡写UID卡0区0块

本示例使用的发卡器:https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.7154789eKODONP&id615391857885https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.7154789eKODONP&id615391857885 unit declaredll;interf…

PN532模块复制IC加密卡

PN532模块复制IC加密卡 忍受够了每天都需要带着各种各样的卡片,如果可以将卡复制进手机里,那我就可以只带着手机,每天出门都是轻装上阵。 只要你的手机拥有nfc功能,那你可以直接将卡模拟进手机里,当然这样并没有完全…

IC卡、ID卡及车库蓝牙卡的复制说明!(小区的门禁系统)

随着科技的发展,各种新的技术也不断的出现,如现在很多的小区物业管理和其它一些关于关卡出入的管理方面都采取了门禁卡的形式,若是门禁卡丢失了,那么可能会被物业管理公司几倍的罚款,为了避免这种情况的出现&#xff0…

PyCharm 关闭 Test 功能

PyCharm自带的功能,检测Python文件中,以“test”开头的函数名,作为测试用例,导致在调试时,优先启动“test”函数,对于我们正常想调试的内容进行干扰。 如果不想使用这个功能,需要关闭&#xff…

scalaTest的使用

配置 修改pom.xml&#xff0c;添加以下内容 <!--依赖--> <dependency><groupId>org.scalatest</groupId><artifactId>scalatest_2.11</artifactId><version>3.0.0</version><scope>test</scope> </dependenc…

GoLang之go test测试

文章目录 GoLang之go test测试1.介绍2.函数3.测试函数格式3.1格式3.2失败示例3.3成功示例13.4成功示例23.5成功示例33.6成功实例4 4.基准函数4.1成功实例14.2成功实例24.3性能比较函数 GoLang之go test测试 1.介绍 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go…

Linux下使用Speedtest测试网速

Speedtest是用来测试网络性能的开源软件&#xff0c;在Linux下面安装Speedtest可以用来测试网络出口的上传和下载速度&#xff0c;帮助排查网络方面导致的故障。 Speedtest介绍 由于公司几个项目用户访问的时候响应较慢&#xff0c;项目本身没问题&#xff0c;服务及调用的接口…

@SpringBootTest注解进行单元测试

1、首先我们通过idea创建一个Springboot项目&#xff0c;项目目录生成后&#xff0c;默认都会带main和test目录&#xff0c;如下&#xff1a; 2、我们在test目录下创建测试类&#xff0c;正常情况下创建项目的时候会自带生成对应的测试类&#xff0c;如下&#xff1a; 此时你发…

C++Test使用入门

CTest使用入门 Parasoft Ctest 是一款自动化测试工具&#xff0c;是经广泛证明的最佳实践集成解决方案&#xff0c;它能有效提高开发团队工作效率和软件质量。 创建项目导入cpp文件生成测试用例添加桩函数运行测试用例 1.创建项目 填写项目名&#xff0c;Project type选择Em…

docker安装speedtest

平常测试网速的时候常用speedtest进行测试&#xff08;测速网 - 专业网速测试, 游戏测速, 直播测速, 5G测速, 物联网监测-SpeedTest.cn&#xff09;&#xff0c;但是网站通常测试的是带宽的速度。内网速度的测试&#xff0c;一般通过传输大文件&#xff0c;查看稳定速率来计算速…

simulinktest

Smulink Test Notebook 序Subsystem Test使用Testharness对模型进行测试------------------------分割线-------------------------------------------- 序 Simulink Test 为模型的仿真&#xff0c;测试&#xff0c;验证和代码生成提供工具&#xff1b; 它包括Test Sequence&a…

Testbench编写指南(1)基本组成与示例

对于小型设计来说&#xff0c;最好的测试方式便是使用TestBench和HDL仿真器来验证其正确性。一般TestBench需要包含这些部分&#xff1a;实例化待测试设计、使用测试向量激励设计、将结果输出到终端或波形窗口便于可视化观察、比较实际结果和预期结果。下面是一个标准的HDL验证…

Device Self-test

DST Device Self-test命令Command CompletionDevice Self-test Operations (Optional)Short Device Self-Test OperationExtended Device Self-Test Operation Device Self-test命令 Device Self-test命令用于开始一个device self-test操作&#xff0c;或者中止一个device self…