?? 更新二進制文件.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 + -