最近研究IC卡的数据结构很分析,肝了1天多找到了一些规律,但是效验算法一直想不出来
CARD:(同卡不同金额)
78.09
66 a5 81 1e 06 5a //00 00 00 00 03 00 00 03 00// 55
78.06
96 a5 7e 1e 09 5a //00 00 00 00 03 00 00 03 00// 55
78.03
99 9c 7b 1e 03 63 //00 00 00 00 03 00 00 03 00// 5e
78.02
9f 9c 7a 1e 04 63 //00 00 00 00 03 00 00 03 00// 5e
77.99
91 9c 77 1e 07 63 //00 00 00 00 03 00 00 03 00// 5e
其他三张不同卡片:
ID:007188 0.00元 : FD 02 0000 02 FD 000000000200000200 FA
ID:007131 0.00元 : FE 01 0000 01 FE 000000000100000100 FD
ID:001926 23.00元 :0F 08 FC08 04 F7 000000000100000100 F6
#可以看出这一行(第10扇区1,3行的 3,4位控制金额 为3,4位换位转10进制即为余额)
#第2位的十进制 等于第3,4,5位十进制数字的和
#第2位与第6位是取反
#第1位的值等于从第2位异或运算到第15位(也可能是第6位)
这几张卡的算法肯定是一样的,但是不知道这两张0.00元为啥不一样,可能是效验用到了金额以外的数据(比如刷卡次数什么的,不清楚)
ID:007188 0.00元 : FD 02 0000 02 FD 000000000200000200 FA
ID:007131 0.00元 : FE 01 0000 01 FE 000000000100000100 FD
请指教,困惑一天了,难受