欢迎你的到来~ 如果觉得本站不错,记得收藏哦~ 商务合作请联系邮箱 me@echo.cool

使用PM3读取银行闪付卡

PM3 echo 138106次 0评论

银行卡虽是CPU卡 但是我们可以通过原始指令的方式与卡片交互 

这里使用python对银行闪付卡进行了读取。

以下为程序流程介绍

启动Proxmark3,此处自行设置proxmark3客户端所在的路径以及设备名

pm3 = subprocess.Popen("/home/satan/Program/proxmark3-iceman/client/proxmark3 /dev/ttyACM0", shell=True, stdout=subprocess.PIPE,stdin=subprocess.PIPE,stderr=subprocess.PIPE)

选择支付系统PSE-1PAY.SYS.DDF01,并建立连接

pm3.stdin.write('hf 14a raw -c -s -p 0200A404000E315041592E5359532E4444463031\n')

借记卡最后一位为1贷记卡为2

pm3.stdin.write('hf 14a raw -c 0300A4040008A000000333010101 -p\n')

发送银行卡信息查询命令

pm3.stdin.write('hf 14a raw -c 0200B2010C -p\n')

发送卡主信息查询指令

pm3.stdin.write(‘hf 14a raw -c 0300B2020C -p\n’)

循环发送消费记录查询命令

for i in range(1, 11):
    head = '02'
    if i % 2 == 0: head = '03'
    if i != 10: i = "0" + str(i)
    pm3.stdin.write('hf 14a raw -c ' + head + '00B2'+ str(i) +'5C00 -p\n')

断开银行卡连接

pm3.stdin.write('hf 14a raw -a\n')
out = pm3.communicate()[0]

最后我们将其显示出来

for i in range(5,15):
    history.append(outarray[i].split('\n')[2].replace(' ','')[2:100])
print '----------------------------------------------------------------------------------------'
print '                                   银行闪付卡信息显示                                   '
print '----------------------------------------------------------------------------------------'
if len(idnumber) >= 90:
    print u'姓      名:' + binascii.a2b_hex(idnumber[60:-8]).decode('gbk')
    print u'卡主身份证:' + binascii.a2b_hex(idnumber[12:48]).decode('gbk')
print u'银行卡卡号:' + cardnumber
print u'银行卡类型:' + getCardType(cardnumber)
print '----------------------------------------------------------------------------------------'
print u'编号	交易时间			交易金额		交易地点'
for i in range(len(history)):
    print '----------------------------------------------------------------------------------------'
    print getHistory(history[i],i+1)

这样我们就完成了银行卡的读取。

此脚本需要再linux下执行

完整程序见附件。

PBOC

PBOC目录下的主程序为PBOC_Reader.py,该程序可以读取带有银联标志的所有闪付卡的信息和交易记录,目前可读取借记卡。

TravelCard

TravelCard目录下的主程序为TravelCard_Reader.py,该程序用于读取交通卡的余额以及交易记录,目前只测试了上海的卡,其他城市如有需要可issue提交。

转载请注明:Proxmark 实验室 » 使用PM3读取银行闪付卡

喜欢 (3)or分享 (0)
发表我的评论
取消评论
表情
(1)个小伙伴在吐槽
  1. 请问怎么提交issue啊
    匿名2020-03-17 12:08 回复