首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

低成本安全硬件(二) | RFID on PN532

引言 鉴于硬件安全对于大多数新人是较少接触,而这方面又非常吸引我,但是部分专业安全研究设备较高价格使人望而却步。...研究人员剖析了卡片门电路结构从而逆向了加密算法并发现了漏洞。M1卡结构如图所示,其拥有16个扇区,每个扇区有4个,每个扇区第一储存着扇区密钥。 ?...由于无源M1卡每一次刷卡时候,密钥交换采用随机数都是“有规律”,用已经碰撞出某一扇区密钥去试探其它扇区,在此时根据随机数规律即可“套”出密码 Darkside攻击 简单地说就是暴力破解...写卡 直接使用nfc-mfclassic即可对Mifare classic系列卡片写入。主要有M1卡(S50)和4K卡(S70)。...A|B代表用密钥A或者B写入(均可),这里牵扯到Mifare协议东西,读者可以自行查阅相关资料。 结语 本文所含内容具有一定攻击性,切勿用于非法用途!弄出什么新闻也别找我负责!

3.8K101

RFID 破解基础详解

b) 卡从读区密钥和访问条件。然后,卡向读写器发送随机数 (RB)。(第1轮) c) 读写器利用密钥和随机数 (RB) 计算回应值。...M1 卡 16 个数据储存区既"扇区"(0-15),每个扇区又分为 4 个储存单元既"" (0-3),每个扇区尾部(对于 M1 卡是每个扇区第 3 )都有独立一对用于验证密钥 keyA 和...除了访问条件(AC)和密钥,剩下一个未被定义数据字节(U) 访问控制及期控制规则: 在存取控制中每个都有相应三个控制,定义如下: C10--Byte6...尾访问权限控制表 比如图中 FF 07 80 69 因为扇区数据读取需要用到 keyA 和 keyB 所以无论是复制卡还是修改卡内数据都需要先破解密码...数据发生了改变 5.多次刷卡 消费 记下余额 并用 MIFARE 工具保存 对比数据 发现确定只有 10 扇区 0 和 1 改变而且 0 和 1 数据相同 将从保存数据中提出

6.5K31
您找到你想要的搜索结果了吗?
是的
没有找到

RFID-MFRC522射频识别模块,S50卡M1

S50-M1卡 1、主要指标 容量为8K(1KByte)EEPROM 分为16个扇区,每个扇区为4,每块16个字节,以为存取单位 每个扇区有独立一组密码及访问控制 每张卡有唯一序列号,为32...,每个扇区由40、1、2、3)组成,(我们也将16个扇区64个按绝对地址编号为0~63,存贮结构如下图所示: 2、第0扇区0(即绝对地址0),它用于存放厂商代码,已经固化,不可更改...存取控制为4个字节,共32扇区每个(包括数据和控制存取条件是由密码和存取控制共同决定,在存取控制中每个都有相应三个控制,定义如下: 控制1 控制2 控制3 0: C10...C20 C30 1: C11 C21 C31 2: C12 C22 C32 3: C13 C23 C33 三个控制以正和反两种形式存在于存取控制字节中,决定了该访问权限(如 进行减值操作必须验证...0、1、2)存取控制如下: 控制1 控制2 控制3 访 问 条 件 – – – C1X C2X C3X 读 写 增加 减少,传输,存储 0 0 0 KeyA/B KeyA/B KeyA/B

1.3K30

食堂饭卡破解(火爆!!!)

工具 一台具有NFC识别功能手机 一张饭卡 MIFARE Classic Tool_v2.1.0.apk 安装软件 MIFARE Classic Tool_v2.1.0.apk是一款用来读取、写入、分析...读取卡片信息 打开手机上NFC功能,打开软件,将卡片贴附在NFC识别区域,如图所示,会出现发现新标签字样,然后选择读标签: ? 选择启动映射并读取标签,这时软件会读取卡片信息: ?...已知第11扇区存储着金额,55A对应10进制是1370,金额精确到分所以是13.70,后面FFFFFAA5是55A按取反结果。 ? 所以在修改了金额后,也应该将取反后金额一并修改。...写入卡片 打开主界面的写标签功能,因为我们修改了11扇区第1和第2,所以将这两个数据分别写入卡片,点击写。...修改卡号 如图1F7A7是卡号,可以进行修改,但要注意最后87校验,校验过程是该单字节相加,如:01+00+01+00+00+20+73+21+09+29+00+01+F7+A7+00=287,高位舍去

12.8K72

STM32+MFRC522完成IC卡号读取、密码修改、数据读写

Mifare S70容量是S504倍,S50容量是1K字节,S70容量为4K字节。 读写器对卡片操作时序和操作命令,二者完全一致。...Mifare S50和Mifare S70每张卡片都有一个4字节全球唯一序列号,卡数据保存期为10年,可改写10万次,读无限次。...每个扇区0、1、2为数据,可以用于存储数据。数据可以进行读写操作。 每个扇区3为控制,包括了密码A、存储控制、密码B。具体结构如下: 4....每个扇区密码和控制都是独立,可以根据实际需求设定各自密码及存取控制。...存取控制为4个字节,共32扇区每个(包括数据和控制)存取条件是由密码和存取控制共同决定,在存取控制中每个都有一个相应三个控制

3K22

M Tools:移动端rfid校验计算工具

M1 卡有从 0 到 15 共 16 个扇区,每个扇区配备了从 0 到 3 共个段,每个段分为 b0 到 b15 共 16 个区块,并且可以保存 16 字节内容。...每个扇区第 4 段呢是用来保存 KeyA,KeyB 和控制,每张卡 0 扇区还有一个唯一标识 UID 号。...FFFFFFFFFFFF、A0B0C0D0E0F0 等等都是 M1 白卡默认密码,所以当我们使用 acr122u 配套软件 M1 卡服务程序这样工具来爆破时候基本都是用这些默认密码来填充剩余扇区密码...每个扇区第 4 区域,前半部为 keyA 后半为 keyB 直接导入 mifare 工具,手机端图形界面好观察一些。 ? 直接可以看到改扇区信息了。...但其他部分应该还是很好知道规律 such as:第 2 与第 1 做对比,金额 b0 差-4,b1 没有差别,b12 差+1, b15 差-3,刚好钱差 0.04 同理第 3 与第 4 做对比

1.6K20

再也不怕丢三落四了,教你复制门禁卡

高频卡感应距离较远,低频卡比较近,两种辐射距离不同。ID卡只能读不能写。IC卡具有读写功能,可以进行加密,不容易被克隆。 2、 磁卡类型 (1)ID 卡是内含 EM 芯片或其他芯片只读卡片。...此卡可以修改任意扇区,主要应用在 IC 卡复制。本卡是可反复擦写的卡,可改写 0 扇区以及全部扇区数据 ,可实现 M1卡、S50卡复制、克隆功能。工作频率是13.56Khz。...以MifareClassic 1k卡为例,该卡共有16个扇区,分别为0-15个扇区,每个扇区有4,分别为0-3,每个有32个字符;0扇区0为只读,只存储厂商代码和UID号。...其他每个扇区前3为数据库,最后一为密码。密码前12个字符为A区密码,中间8个字符为控制,后面12个字符为B区密码。 ?...(2)读取原来门禁卡的卡数据,将读取出来的卡数据保存好。 ? (3)找一张没有数据空卡,将刚刚读取出来数据载入,再写入空卡中,就可以使用了。 ? ?

5.9K20

基于STM32RC522模块读写数据以及电子钱包充值扣款系统设计

Mifare卡 过多文字描述我也不多说,给大家介绍下Mifare比较重要知识 Mifare工作频率为13.56MHz,每张卡都有16个扇区,每个扇区4,每块6个字节,以为单位...每个扇区都有独立一组密码以及访问控制,如下图 由上图我们可以知道,每张卡0扇区0区存储是我们的卡号以及厂商信息,是出厂时候定死了,不可更改,剩下所有我们都可以人为进行修改。...我们还可以看到,每个扇区第3区,也就是尾,前6是密钥A,后6是密钥B,第6,7,8字节就是访问控制,通过修改每个个尾访问控制,我们可以修改该扇区各个为数值或者数据或者传输配置状态...我们要做电子钱包就需要设置为数值。这里要说明下传输配置状态也具有数值功能。 下面给大家着重讲一下访问控制状态配置,这里我当时学时候也是搞了好久才搞懂。...但是尾访问控制表和其他不一样,它有着单独访问控制表 在这个表里面我们可以看出,密钥A在任何时候都不可读,其他相应都可以通过我们手动去修改它访问控制来达到读写效果。

1.5K40

对于RFID-RC522 模块读写操作【Arduino】

大家好,又见面了,我是你们朋友全栈君。 玩儿板子– 目前百度基本搜不到RC522板子具体操作代码,基本贴出来只有接线,所以这次直接放出读写操作代码算是做贡献吧。...= MFRC522::PICC_TYPE_MIFARE_4K) { Serial.println(F("仅仅适合Mifare Classic卡读写")); return; } // 我们只使用第二个扇区..."显示所有扇区数据")); mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector); Serial.println...Serial.print(F("读取写入后第")); Serial.print(blockAddr); Serial.println(F(" 数据 ...")); status = (MFRC522...// 通过计算字节数量 Serial.println(F("等待验证结果...")); byte count = 0; for (byte i = 0; i < 16; i++) { // 比较一下缓存中数据

1.6K20

rfid-rc522模块中文资料_驱动模块

)卡基础知识 1.每张卡有唯一序列号,32 2.卡容量是8KbitEEPROM 3.分为16个扇区,每个扇区分为4,每块16个字节,以为存取单位 4.每个扇区都有独立一组密码和访问控制...2.内部信息 扇区00用来固化厂商代码; 每个扇区3作为控制,存放:密码A(6字节)、存取控制(4字节)、密码B(6字节) 每个扇区0、1、2作为数据,其作用如下: 1.作为一般数据存储...每个都有相应三个控制,这三个控制存在于存取控制字节中,相应控制决定了该访问权限,控制如图: 就是说,每个扇区所有存取条件控制,都放在了该扇区3中,如图: 4.数据存取控制...对数据,与就是0、1、2存取控制是由对应控制来决定: 从表中得知:对数据存取控制,由于存取控制由三个控制所决定,所以相应访问条件就产生了9种。...目前用CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行方式之一,它们共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式具有各自特点

2.9K20

RFID技术|门禁卡破解|IC卡破解学习过程

常见的卡有 ? 高频 M1 S50卡  目前最常见高频卡,也是我们口中俗称IC卡。M1卡科储存数据大小为8k,分为16个扇区,每个扇区分4个,每个为16个字节,以为存取单位。...每个扇区都有独立一组密码及访问控制,每张卡有唯一一个32序列号。...每个扇区0,1,2为数据,用来存储数据,第3为控制,包括了密A、存取控制、密码B 每张卡第0扇区第0用来春芳厂商代码,不可更改。 ?...T5577一共有8个,每个只能存8数。第0是用来设置卡片类型和调制方式,决定了卡片是ID卡还是HID卡,如果随意修改会导致读不到卡。...获取0扇区密钥 扯远了,默认密码扫描hf mf chk *1 ? t ? 密码是默认密码时候可以扫出来,不是默认密码可以尝试PRNG漏洞获取0扇区密钥hf mf mifare ?

109.1K54

使用Mifare卡加密数据 笔记

(简单可以这样理解, 注意,每个扇区可以设置KeyA和KeyB独立访问条件) 而分区1比较特殊,分区1第一段写着卡硬件ID,这个是出厂时就写进去了,不能更改,并且全球唯一(当然这只是约定)....网上大都是Mifare介绍或者如何破解等...不知道别人是如何设计... 所以在这里写一下自己思路.. 卡内只保存卡号, 不保存任何金额等其他信息.要求与实体卡印的卡号一致....根据卡号(+硬件ID) 生成对应卡号校验数据K.(或者根据算法生成). 使用固定密码 NA 作为密匙A, 读取卡硬件ID,使用加密算法 Fun(ID) 计算出16密码NB....卡信息越少越安全,只在卡写卡号,不储存用户信息金额等. 当然校验信息需要和校验每张卡独有的硬件ID绑定.来防止卡被复制.....但是网上有可写UID白卡,就是可以在不破解算法情况下完全复制..(我们小区门禁卡我就复制了好几张,不然去物业办一张十.)

2.3K10

金诚卡算法分析及自制硬件测试设备

旧卡是12扇区有数据,新卡的话也是12扇区有数据,但是在别的扇区也增加了一些个人信息数据(估计是如果有人破解了好抓人)。可以看到只有12扇区KEYA不是默认密钥,其余均为默认密钥。...毕竟acr122u这种设备已经泛滥,也不管三七二十一就克隆写入到白卡开始卖(也不分析下卡数据),然后一个个全被抓(该!)。而新卡为全加密,数据扇区均保持不变。但是密钥算法还是保持不变。...Ps.上面这个数据是我在网上收集,还修改了涉及到学校代码信息。 三、金钱区块算法分析 12扇区0为金钱值,通过最没有技术含量对比法分析哪个位置是金钱。...于是此阶段水卡金钱扇区就解密了。 四、一卡一密解密 这部分不敢太详细说,怕教坏别人。但是通过金钱区块分析得到生成校检是异或运算。那么KEYA是不是也是通过异或得到?...还有为什么KEY结尾四都是固定?前面8变化?uid也是8?是不是KEYA是根据UID计算出来+固定值?异或好像是可逆运算啊!这段就说到这里了。

65640

Proxmark3 PM3 简单入门操作

常见卡数据结构 目前常用破解工具有:PN532,价格 25 包邮。 还有 ACR122U-9,价格 135 左右,不过真假难辨。...,可擦写,不与其他卡通用 <= 厚卡,常见于签到卡,不讨论因为不常见 UID卡:Mifare UID(Chinese magic card)高频 M1 卡变异版本,可修改 UID,国外叫做中国魔术卡,...T5577(简称可修改 ID 卡) 低频可用来克隆 ID 卡,出厂为空卡,内有扇区也可存数据,个别扇区可设置密码。...<= 可以理解为 ID 空白卡 CPU卡:这个好像没有统一标准 里面是个 FPGA 然后用软核 里面自定义加密程序 还有有的声称是双CPU双加密 充值用接触式 使用用非接触式 ,还有 CPU 模拟卡...黄颜色卡扣为加密IC卡 常见 00 开头10或18低频id卡 第二次尝试破解有密ic卡扣(这个小区比较高级一点可能?)

79210

手机NFC模拟M1门禁卡、写CUID白卡一些研究记录

(本文是对研究过程记录,只作学术研究,作者遵纪守法,是个良民。) 二、卡片分类 M1卡:全称Mifare classic 1K,普通IC卡,0扇区不可修改,其他扇区可以反复擦写。...三、M1卡结构 (计算机领域计数均是从0开始) (M1卡标准储存数据使用16进制,简称HEX,即由0-9、A-F组成,也写作0xAA) (一)存储结构 Mifare classic 1K,...即存储容量1K=1024Byte,包括16个扇区,每个扇区含4个,每个16Byte....第0扇区比较特殊,0区0前8为厂商UID码,可以理解为M1卡识别码。 0-2为储存内容区间。...3为系统保留区间,用于存放卡密码和控制码,其中: 3前12为keyA(密码A),3后12为keyB(密码B),3中间8为控制码。

19K41

小米nfc模拟加密门禁卡详细图文教程(实测可用)—————– IC ID CUID卡区别

物料准备 一张CUID卡,淘宝售价1-2元一张,直接搜索就可以 注:CUID是IC卡 NFC手机一台 加密卡 MIFARE经典工具(Mifare Classic Tool,MCT) 1、打开 MCT,将要被模拟的卡片贴近手机...2、打开上图中工具,选择BCC计算器(实际就是计算UID各个字节XOR sum)输入刚才记下UID,计算,得到两BCC,记下BCC。...注意这次读是你空白卡 4、读卡结束此时应该进入是一个叫“转储编辑器”界面,编辑扇区0,将前10个字符替换UID+BCC(UID有8,BCC有2),点击右上角保存按钮,文件名随便输入一个名字...5、退回MCT主界面,选择写标签功能,勾选“显示选项”,勾选“高级,使能厂商写入”(重要),点击“选择转储”,选择刚才存储转储文件,点击最下面的选择转储。...在选择你想写扇区,保证0扇区被勾选,其他无所谓。将CUID卡贴在NFC区域。点击“好”。此时又会弹出选择秘钥文件界面,选择std.keys。写入转储。

27.6K80

RFID-RC522STM32F103RBKEIL5 简单实现读取卡片ID

文章目录 序章 简单使用 核心源码 工程下载 序章 在这篇文章【 https://blog.csdn.net/qq_28877125/article/details/80437095 】基础修改完成...,每个扇区由四个0、1、2、3)组成 // 将16个扇区64个按绝对地址编号为:0~63 // 第0个扇区0(即绝对地址0),用于存放厂商代码,已经固化不可更改 // 每个扇区...0、1、2为数据,可用于存放数据 // 每个扇区3为控制(绝对地址为:3、7、11.....)包括密码A,存取控制、密码B等 /****************************...IRq值相反 ClearBitMask ( ComIrqReg, 0x80 ); //Set1该位清零时,CommIRqReg屏蔽清零 WriteRawRC ( CommandReg, PCD_IDLE...); //写空闲命令 SetBitMask ( FIFOLevelReg, 0x80 ); //置FlushBuffer清除内部FIFO读和写指针以及ErrRegBufferOvfl标志被清除

1.3K20

STM32F103+RFID-RC522模块 实现简单读卡写卡demo「建议收藏」

串口打印卡UID,验证结果,读取到2扇区0区数据等信息。 注意:只有验证成功扇区,才能对此扇区进行读写操作!...// 验证A密钥 地址 密码 SN // 注意:此处地址0x0B即2扇区3区,此地址只需要指向某一扇区就可以了, // 即2扇区为0x08-0x0B这个范围都有效,且只能对验证过扇区进行读写操作...,每个扇区由四个0、1、2、3)组成 // 将16个扇区64个按绝对地址编号为:0~63 // 第0个扇区0(即绝对地址0),用于存放厂商代码,已经固化不可更改 // 每个扇区...密码 SN // 注意:此处地址0x0B即2扇区3区,可以替换成变量addr ,此地址只需要指向某一扇区就可以了,即2扇区为0x08-0x0B这个范围都有效,且只能对验证过扇区进行读写操作...// 验证A密钥 地址 密码 SN // 注意:此处地址0x0F即3扇区3区,此地址只需要指向某一扇区就可以了,即3扇区为0x0C-0x0F这个范围都有效,且只能对验证过扇区进行读写操作

2.7K30

RC522(RFID模块)实践总结

通讯流程: M1卡存储结构 存储结构: 其中第0扇区0是用于存放厂商代码,已经固化,不可更改,为32(4Bytes); 每个扇区0、1和2数据,可用于存储数据,每块16个字节(...只有S50卡是这样); 每个扇区3控制,包含了密码A、存取控制、密码B,具体结构如下图所示; 2..../usart/bsp_usart.h" #include "stm32f10x_spi.h" // M1卡分为16个扇区,每个扇区由四个0、1、2、3)组成 // 将16个扇区64个按绝对地址编号为...:0~63 // 第0个扇区0(即绝对地址0),用于存放厂商代码,已经固化不可更改 // 每个扇区0、1、2为数据,可用于存放数据 // 每个扇区3为控制(绝对地址为:3、7...…… 不过在找错误过程中也寻找了一些其他人调试失败原因,引以为鉴: 硬件问题:这种情况一般出现在自己设计PCB童鞋身上,那么这时候就应该先购买现成模块,在调试完代码并成功基础再调试硬件; SPI

2K20
领券