MIFARE经典1K - 错误功能读出数据块 [英] Mifare Classic 1k - Error function ReadBlock

查看:445
本文介绍了MIFARE经典1K - 错误功能读出数据块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建一个应用程序,可以让我在阅读不同的标签数据。我目前正在与标记工作 MIFARE经典1K

I am creating an application that allows me to read data in different tags. I am currently working with a tag Mifare Classic 1k.

要验证我的数据的读取是正确的,我用的是官方的应用程序 NXP ,发现数据的相互pretation一些差异。

To verify that the reading of my data is correct, I use the official application NXP and have found some differences in the interpretation of data.

在我的code,我使用读出数据块了解每个部门的所有块。所有的数据都相隔每个扇区的第3块正确读取。事实上,根据 NXP 就应该是这个样子: ffffffffffffff078069ffffffffffff ,但我的应用程序读取以下块: 0000000000000000078069ffffffffffff 。我不知道这是否是 NXP 的应用程序错误什么的,但是当我读到块,我用已经存在,不是由我创造的功能。

In my code, I read all the blocks in each sector using the ReadBlock. All data are read properly apart the 3rd block of each sector. In fact, according to NXP it should look something like this: ffffffffffffff078069ffffffffffff, but my application reads the following block: 0000000000000000078069ffffffffffff. I do not know if it is Nxp's application error or something, but when I read the block, I use a function that already exists and wasn't created by me.

谁能给我澄清?

推荐答案

当你读扇区尾(即一个扇区的最后块),键A的内容总是会返回全零。当它被设定为不可读这同样适用于密钥B。
(但是,因为你能够读取该块,你知道密钥,这样你就可以得到什么实际存储在芯片中。)

When you read the sector trailer (i.e. the last block of a sector), the contents of key A will always be returned as all-zeroes. The same holds for key B when it is set to be not readable. (However, because you were able to read that block, you know the key, so you can derive what is actually stored in the chip.)

这篇关于MIFARE经典1K - 错误功能读出数据块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆