mifare读卡器能操作cpu卡吗

wartim 2010-04-11 02:59:11
我们公司之前用的卡都是普通的ic卡,用mifare读卡器和驱动来初始化加密成自己的卡
现在用cpu卡,想也加密成自己密码的卡,因为之前这块是别人在做的,所以没什么经验
应该是兼容m1的cpu卡,因为用一个程序可以读出16个扇区数据,而且控制字和m1规则一样,而且可以算出是用keyb验证
但我用omnikey mifare one 读卡器提供的函数验证扇区控制块keyb密钥无法验证通过,
rc=SCardCLMifareStdAuthent(FCard, i*4+3 , 97, 1, 1,KeyB,6)
一直返回0x81300005,对应的错误是“The requested functionality is not supported at this time / under this OS / in this situation etc.”难道是不支持?
查找网上资料,改用winapi,而且是通过loadkey后读卡器来验证密码
ucByteSend[0] = 0xff;
ucByteSend[1] = 0x88;
ucByteSend[2] = 0x00;
ucByteSend[3] = 0x01;
ucByteSend[4] = 0x61;
ucByteSend[5] = 0x01;
rc = SCardTransmit(FCard, ref pioSendPci, ucByteSend, 6, null, ucByteReceive, ref dwRecvLength);
ucByteReceive 一直返回0x6986,对应错误“Volatile memory is not available”
再查资料,发现新标准里说上面这种验证方式已经被取消了
This command is obsolete and should not be used any more !
那用新的格式
ucByteSend[0] = 0xff;
ucByteSend[1] = 0x86;
ucByteSend[2] = 0x00;
ucByteSend[3] = 0x00;
ucByteSend[4] = 0x01;
ucByteSend[5] = 0x00;
ucByteSend[6] = 0x01;
ucByteSend[7] = 0x61;
ucByteSend[8] = 0x01;
rc = SCardTransmit(FCard, ref pioSendPci, ucByteSend, 9, null, ucByteReceive, ref dwRecvLength);
依旧同样的错误
而上述2中方法对于一般的mi卡片都没问题,
网上看了不少关于mi和cpu的,好像cpu有外部验证,内部验证之类的,还随机数什么的,难道cpu卡真的这么难弄吗?
我只要能修改扇区密码和控制字就可以了,既然我这cpu卡兼容m1,那别人的程序和一块电路板就能读到卡片的16个扇区和每个扇区的控制块,为什么我就读不到呢



...全文
876 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuting416333 2010-08-09
  • 打赏
  • 举报
回复
相当不错,受益匪浅
sgb44 2010-07-31
  • 打赏
  • 举报
回复
你说的M1 卡是cpu模拟出来的 8K 的M1 卡,结构跟 M1 S50 是一样的,操作也是一样的

但毕竟是CPU模拟出来的,所以,看看 CPU 卡的说明文档,找到相关的操作就可以了。
geniusdu 2010-07-29
  • 打赏
  • 举报
回复
两种不同的卡,指令都不一样,功能也不一样,我觉得有点夸张。
眯眯豆儿 2010-07-28
  • 打赏
  • 举报
回复
如果你的CPU卡是兼容M1的,那么你就不需要考虑CPU和M1的区别,直接把CPU当成M1处理,按照流程来就行。之所以密钥通不过,有可能是数据转换的问题。
lstc 2010-04-18
  • 打赏
  • 举报
回复
这个要看读卡器厂家是否支持,找读卡器厂家
用户 昵称 2010-04-17
  • 打赏
  • 举报
回复
cpu卡也可以是非接触的
zhangnanonnet 2010-04-17
  • 打赏
  • 举报
回复
mifare one 是非接触卡,CPU卡是接触卡,关键还是看你的读卡器是否支持读写接触卡了,而且CPU卡的芯片类型也不同,是否支持,主要在于读卡器的软件是否支持那种卡的协议,最好问问读卡器供应商
liumenghappy 2010-04-15
  • 打赏
  • 举报
回复
不懂,学习
用户 昵称 2010-04-12
  • 打赏
  • 举报
回复
mifare和cpu卡的通讯是有一点差异的,按协议分层,mifare比cpu卡少了最后一层。

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧