首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡仿真Mifare

卡仿真Mifare
EN

Stack Overflow用户
提问于 2013-07-11 21:20:22
回答 1查看 3.5K关注 0票数 2

基于this article,我尝试在android.According上模拟mifare卡管理APDU来接收APDU,我的应用程序应该回答正确的APDU,从而模拟mifare的行为。

使用rfidiot.py,读一张mifare卡片会给我:

代码语言:javascript
复制
>  FF CA 00 00 00
<  CD EA 7D 2B 90 0 
    Tag ID: CDEA7D2B
    ATR: 3B8F8001804F0CA000000306030001000000006A

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  6C 10
>  FF B0 00 01 10
<  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 0 
    01: 00000000000000000000000000000000 ................

用我的应用程序模拟卡片,我得到了一个错误的行为:

代码语言:javascript
复制
>  FF CA 00 00 00
<  08 F0 82 65 90 0 
    Tag ID: 08F08265
    ATR: 3B80800101

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  69 81
    Failed: Command incompatible with file structure

FF B0 00 01 01 APDU命令出现错误。我不知道6981 APDU命令是从哪里来的..

有没有人能帮我解决这个"bug“?

EN

回答 1

Stack Overflow用户

发布于 2013-07-13 05:15:57

你想要做的事情是不可能的。@NikolayElenkov所做的是模拟ISO 7816-4兼容的卡。MIFARE Classic与ISO 7816-4不兼容(它不使用APDU命令和响应进行通信)。事实上,它甚至不符合ISO 14443-4 :它在ISO 14443-3之上使用专有加密。

事实是,从阅读器端看起来像APDU的通信,是因为您的阅读器在传递数据之前剥离了所有加密,并将数据包装在“虚拟”APDU中。这样,MIFARE卡可以与只能处理ISO 7816-4兼容卡的软件一起使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17594513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档