(一),以常用设置"08 77 8F 69"控制条件为例,先搞清楚它――具有的访问权限。

1、对"08 77 8F 69"值进行计算,该值定位于各区块3的6,7,8,9四个字节内,字节6=08,字节7=77, 字节8=8F,   字节9=69(默认值,不予计算)。

2、例如:字节6=08,对应其二进制值=00001000, 则对6,7,8这三个字节进行二进制转换结果见下表:

字节6 = 0 0 0 0 1 0 0 0 字节7 = 0 1 1 1 0 1 1 1 字节8 = 1 0 0 0 1 1 1 1

3、参照表2及表4算法,字节6的全部二进制值取反,字节7的低四位二进制值取反,字节8不变,得到:

字节号 对应二进制值 位置 高4位 位置 低4位
字节6 
字节7 
字节8
0 0 0 0 1 0 0 0
0 1 1 1 0 1 1 1
1 0 0 0 1 1 1 1
C2Y
C1Y
C3Y
1 1 1 1
0 1 1 1
1 0 0 0
C1Y
C3Y
C2Y
0 1 1 1
1 0 0 0
1 1 1 1
所 属 块 位 块3 块2 块1 块0   块3 块2 块1 块0

4、对以上6,7,8字节的存取/控制二进制已取反值,依照表2,表4块位转换为各块控制值,如下表:

块3位 字节7,字节6,字节8 = C13,C23,C33 = C1Y,C2Y,C3Y = 0 1 1
块2位
块1位
块0位
字节7,字节6,字节8 = C12,C22,C32 = C1Y,C2Y,C3Y = 1 1 0
字节7,字节6,字节8 = C11,C21,C31 = C1Y,C2Y,C3Y = 1 1 0
字节7,字节6,字节8 = C10,C20,C30 = C1Y,C2Y,C3Y = 1 1 0

注意: 高4位的各块值=低4位的各块值时,其值可用。高4位值≠低4位值时,其值不可用!

5、查对访问权限(数据存取控制依照表3,块3存取控制依照表5),该例"08 77 8F 69"的访问权限为:

◆ 块3 = 011:权限为:KeyA,KeyB均不可读,验证KeyB正确后可改写KeyA和KeyB,验证KeyA或KeyB正确后可读"控制位"。在此可见密钥KeyB的重要性,KeyB不正确是无法看到块3控制值,更无法修改密钥。

◆ 块2 = 块1 = 块0 = 110:权限为:验证KeyA或KeyB后可读该块数据,减值以及初始化值,只有验证KeyB 正确后才可改写该块数据,在此可以看到密钥KeyB对改写数据块也起着关键性作用。

(二)、"08 77 8F 69" 控制条件设置步骤:

由(一)可知:KeyB设置后为不可读,并且改写数据和改写控制位都需要正确验证它,故KeyB设置后程序

操作员必须妥善保管KeyB值,否则以后改写数据和控制位时,不正确的KeyB值将无法实现卡的任何操作!!!

1、修改块3控制位的值:最初的各区块3内的KeyA,KeyB都是厂商12个"F"默认值(KeyA在任何条件下均为不可读,大部分读写机程序表现KeyA为未知的12个"0" ),在修改控制值时,先不要修改默认密码KeyA和KeyB,在控制位修改成功后,再去更改新密码值。即先对块3的控制位进行修改(默认值FF 07 80 69改为新值08 77 8F 69)并执行写操作。控制位写成功后,KeyB亦为12个"0"不可读了,但仍是隐藏的12个"f"默认值。

2、修改块3的KeyA和KeyB值:控制位08 77 8F 69值写成功后,验证KeyB正确后方可改写KeyA和KeyB新密码。在密码操作模式键入要改写区块之先前密码B(先前密码为默认值时,则不需改动和加载),加载后反回数据操作模式,再进行读值,KeyA和KeyB值的改写。

3、修改块0~块2中数据:由新的控制条件08778F69可知,要修改数据,必须先验证KeyB,故先设置密码操作为KeyB认证方式,加载后再返回数据操作模式,对要修改的数据块进行值的改写操作。

4、上例中分析了"08 77 8F 69"的访问条件及其改写步骤,对用户的其它控制条件亦可参照应用。

转自:M1卡修改各区块控制位值和数据 | 堕落的鱼

M1卡修改各区块控制位值和数据相关推荐

  1. 水卡修改金额_【技术分享】关于IC卡,水卡修改控制位教程

    M1卡修改各区块控制位值和数据 mifare 控制字节生成工具,根据读写权限计算S50/S70的密码控制字节,根据控制字节,解析读写的权限. 此软件可根据条件生成控制字节,前三个宇节是控制位,第四个字 ...

  2. 一卡通(M1卡)破解过程记录——理论篇

    前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--准备篇              获取扇区密钥      ...

  3. M1卡的简介与操作命令

    目录 一.M1卡的简单介绍(S50/S70) 二.M1卡的数据块.数值块 三.M1卡的控制块_存取控制 3.1 数据块的存取控制 3.2 控制块的存取控制 3.3 存取控制的一个小工具 四.读写器与S ...

  4. 什么是区块链,为什么数据不可被篡改

    一提到区块链,首先想到的就是比特币.确实比特币是第一个区块链项目,也是最成功的项目,目前的价格是60428¥/btc.想想当初用10000个比特币买了2个披萨的程序员Laszlo,估计怎么也想不到比特 ...

  5. M1卡区块控制位详解

    M1卡区块控制位详解 Mifare 1S50/Mifare 1S70 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取 控制.存取控制为4个字节,共32位,扇区中的每个块(包括 ...

  6. 对于M1卡密钥控制字设置的总结

    前段时间学习M1卡操作,对于密钥控制字专门研究了一番,这里做下总结,免得以后忘记. M1卡分为16个扇区,每个扇区由4块(块0.块1.块2.块3)组成,前3个块是数据区,第4块是密钥区.每个块都能存储 ...

  7. 复旦FM17522芯片读写M1卡(S50/S70)、CPU卡要点摘录

    目录 概述 卡的存储结构/文件结构 M1卡存储结构 复旦CPU卡的文件结构 卡的权限管理方式 M1卡控制字 CPU卡安全状态寄存器 卡的认证 M1卡的三次互相认证 复旦CPU卡的外部认证和内部认证 机 ...

  8. 用ARDUNO自制RFID读写器、复旦M1卡初探

    1. 为什么要用Arduino 一提到,我们可能会想到ACR122.Proxmark3这些设备,还有Radiowar出售的专业级RFID设备,实际上我们完全可以自己使用arduino单片机和RC522 ...

  9. M1卡破解(自从学校升级系统之后,还准备在研究下)

    M1卡说明及使用proxmark3破解方法 看了网上写的一些关于M1卡的文章,多数有些误导之嫌.首先谈谈M1卡的规格,M1卡的容量为1KB,好多网上写8KB,这里其实是有个误区,应该是8K位.1Byt ...

最新文章

  1. java stream操作案例
  2. 安装mysql的rpm包报错_rpm包在centos6.5中安装mysql5.7初始化报错的处理办法
  3. css中width:100%与width:auto的区别
  4. android 新特性笔记
  5. c语言case可以判断多个条件吗,case 多个条件
  6. SAP云平台 CloudFoundry环境下的space guid
  7. ASP.NET Core 中文文档 第三章 原理(5)错误处理
  8. jooq 分页排序_将jOOQ与Spring结合使用:排序和分页
  9. hdu 3507 Print Article(dp+斜率优化)
  10. Delphi 中的 procedure of object
  11. 【matlab】 matlab中如何取整
  12. Java文件上传同时携带参数
  13. pscp新机器提示Store key in cache? 重装后提示Update cached key?的解决方案
  14. win10开机就卡死在桌面上怎么解决
  15. xgboost的plot_importance绘图时出现的f0、f1、f2、f3、f4、f5等改为对应特征的字段名
  16. JavaScript数组倒序算法与性能对比
  17. HQChart使用教程85-股票复权计算
  18. bvlc_googlenet.caffemodel模型及描述文件地址
  19. 大学计算机知识考试题,大学计算机基础理论知识前三章测试题
  20. python 添加半透明水印_如何利用python给图片添加半透明水印

热门文章

  1. Anaconda安装Unpacking payload step frozen
  2. Win10桌面图标无法拖动
  3. Inverse/Reverse/Converse的辨异
  4. 什么样的企业需要舆情优化系统?什么样的企业需要手工监测?
  5. 为什么要用CAT工具辅助翻译?为什么要用翻译管理系统?以memoQ为例
  6. 学PHP时,端口被占用,怎么找端口的占用情况。
  7. Google Earth Engine(GEE)计算NDFI和AWEI
  8. Xcode 12 Beta 3 更新记录SwiftUI2
  9. 【basepro】常用util
  10. java hashtable 数据结构_java数据结构——哈希表(HashTable)