zoukankan      html  css  js  c++  java
  • M1卡修改各区块控制位值和数据

     

     

    (一),以常用设置"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 = C13C23C33 = C1YC2YC3Y = 0 1 1
    2
    1
    0
    字节7,字节6,字节8 = C12C22C32 = C1YC2YC3Y = 1 1 0
    字节7,字节6,字节8 = C11C21C31 = C1YC2YC3Y = 1 1 0
    字节7,字节6,字节8 = C10C20C30 = C1YC2YC3Y = 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"的访问条件及其改写步骤,对用户的其它控制条件亦可参照应用。

  • 相关阅读:
    人生中第一份值得纪念的工作
    ZOJ 3829 Known Notation(字符串处理 数学 牡丹江现场赛)
    java基础之内部类
    从计算的本质到编程语言
    【Cocos2dx】资源目录,播放背景音乐,导入外部库
    POJ 3723 Tree(树链剖分)
    hdu 1002 A + B Problem II(大正整数相加)
    时间格式字符串转化为date和时间戳
    深入浅出游戏算法(4)-unity3d算法(1)-球转动
    GeoServer手动发布本地Shapefile地图
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5250703.html
Copyright © 2011-2022 走看看