⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 更新二进制文件.txt

📁 明华智能卡的上位机程序
💻 TXT
字号:
;用密文修改二进制文件(密文写入有问题)
RESET

;建立MF结束
SEND 80e0000102 3f00

;删除MF
SEND 800e000008 ffffffffffffffff

;创建MF文件(1PAY.SYS.DDF01)
SEND 80e0000018 ffffffffffffffff 0f01 315041592e5359532e4444463031
ASSERT 9000

;建立DF文件
SEND 80E001000C 2F01 0F 00 44 52 49 56 45 52 30 31
ASSERT 9000

;建KEY文件
SEND 80E0020007 6F 02 05 0F 0F 0F 00
ASSERT 9000

;安装应用维护密钥
SEND 80D4000018 01 01 00 05 0F 0F 0F FF 000102030405060708090A0B0C0D0E0F
ASSERT 9000

;建立二进制文件 id:0005 00:明文,size:2f
SEND 80E0020007 0005 00 0F 0F 00 2f
ASSERT 9000

;建立二进制文件 id:0006 40:明文加mac,size:2f
SEND 80E0020007 0006 40 0F 0F 00 2f
ASSERT 9000

;建立二进制文件 id:0007 88:密文写入,size:2f
SEND 80E0020007 0007 80 0F 0F 00 2f
ASSERT 9000

;建立二进制文件 id:0008 c0:密文加mac,size:2f
SEND 80E0020007 0008 c0 0F 0F 00 2f
ASSERT 9000

;END DF
SEND 80e0010102 2f01
ASSERT 9000

;END MF
SEND 80e0000102 3f 00
ASSERT 9000

BREAK

;********************明文更新过程*****************
reset

;select DF 2f01
SEND 00a4000002 2f01

;select ef 0005
SEND 00a4020002 0005

;update binary
SEND 00d6000108 1122334455667788 
ASSERT 9000

;READ BINARY
SEND 00B00001 08
ASSERT 1122334455667788
BREAK

;********************明文+mac更新过程*****************
RESET
;SELECT DF 2F01
SEND 00a4000002 2f01

;SELECT EF 0006
SEND 00a4020002 0006

;get radom
SEND 0084000004
ASSERT ffd751a6

;GET MAC DATA(04 D6 0001 0C 0011223344556677)
;MAC = 6955b44c

;UPDATE BINARY 
SEND 04 D6 0001 0C 00112233445566776955b44c
ASSERT 9000

;READ BINARY
SEND 00B00001 08
ASSERT 0011223344556677
BREAK

;********************密方更新过程*****************
RESET

;SELECT DF 2F01
SEND 00a4000002 2f01

;SELECT EF 0007
SEND 00a4020002 0007

;data = 07(数据个数) + 00112233445566(数据)
;说明:一定要在数据前加上数据长度,并且data的长度必须是8的
;整数倍,如果不够要在数据后补80 + 00(n个),直到为8的整数倍。
;key = 000102030405060708090A0B0C0D0E0F
;des(key,data) = 2a8dfaf2ae9e4e29

;update binary
SEND 04D6000108 2a8dfaf2ae9e4e29
ASSERT 9000

;read binary
SEND 00B00001 08
ASSERT 00112233445566

BREAK

;********************密方+mac更新过程*****************
;1、复位

;2、选择DF 2f01

;3、选择二进制文件0005
SEND 00A4020002 0005
ASSERT 610C

;4、生成安全报文,步骤如下

;   1)DES计算 密文P
;    密钥为应用维护密钥
;    数据为要更改的数据
;    生成密文P
;例:
;    密钥:000102030405060708090A0B0C0D0E0F(应用维护密钥)
;    数据:07(数据个数) + 00112233445566(数据) (必须为8的整数倍个)
;    密文:2a8dfaf2ae9e4e29(P)

;   2)计算MAC
;    取4字节随机数Q
;    密钥为应用维护密钥
;    数据为 CLA+INS+P1+P2+LC+P(注:LC为P长度加4)
;    初始值 Q+00000000
;    补值为 80
;    生成 	MAC
;5、更新二进制文件 CLA+INS+P1+P2+LC+p+MAC

;例:
reset 
;select df:2f01
SEND 00A4000002 2f01

;select ef:0008
SEND 00a4020002 0008

;get radom
;SEND 00 84 00 00 04
;ASSERT 681ec0bf(Q)

;mac密钥: 000102030405060708090A0B0C0D0E0F(应用维护密钥)
;数据:    04D600010c2a8dfaf2ae9e4e29
;初始值:  681ec0bf00000000
;mac结果: 65bca40c

;update binary
SEND 04D600010c2a8dfaf2ae9e4e2965bca40c
ASSERT 9000   
   
;读文件
SEND 00 B0 00 01 08
ASSERT 00112233445566(P)
BREAK

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -