【问题标题】:Mifare Ultralight C 3DES key changeMifare Ultralight C 3DES 密钥更改
【发布时间】:2012-12-12 14:01:47
【问题描述】:

我正在尝试更改 Ultralight C 卡上的 3DES 密钥。我可以将值写入地址 44-47,正如我在此处的某些主题中找到的那样。但是我在使用它时无法进行身份验证。如果我写回默认密钥,它可以正常工作。

我认为有些东西我不明白,这可能是问题的根源,查看免费库示例以及来自这个和 libnfc 论坛的一些帖子,我发现超轻 C 中的默认键是:425245414b4d454946594f5543414e21 (ASCII“BREAKMEIFYOUCAN!”的十六进制值),但在客户端解密时使用的密钥49454D4B41455242214E4143554F5946

我不知道这两个键之间的关系是什么,但我认为需要进行一些预先确定的操作才能从另一个生成一个,这就是我失败的原因。有人有幸这样做吗?感谢您的每一次帮助

对于我所有的代码,我使用了this code as an starting point

【问题讨论】:

  • 您好,49454D4B41455242214E4143554F5946 是身份验证密钥。你可以看看这里了解它是如何工作的。link

标签: key nfc 3des mifare


【解决方案1】:

您是否设法解决了您的问题?您介意与社区分享您的代码吗?

如果你没有,这里是前提:

如果十六进制键是:“00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F”那么你必须写序列“07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08" 共 4 页,从第 0x2C (44) 页到第 0x2F (47) 页。

如果您想更改需要身份验证的位置(哪些页面),请执行以下操作:

  • 0x2A 定义身份验证的页面地址 必需的。例如。如果 0x2A = 0x30 则不需要身份验证 内存上升到 0x2F。
  • 0x2B 定义读/写是否需要身份验证 (0x2B=0) 或 仅用于写访问 (0x2B=1)

【讨论】:

  • 抱歉,我是几年前为客户制作的,我没有代码,也不记得详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多