当前位置: 首页 > 知识库问答 >
问题:

米法尔超轻 C 锁

景俊拔
2023-03-14

我正在尝试锁定Mifare超轻C标签。我想将 NDEF 页面0x04设置为只读0x27。我认为这可以通过Ndef.makeReadonly()来实现。

此外,我想将页面0x29设置为密码保护(用于读取和写入),以便它们只能在身份验证成功后访问。我很难理解需要在锁定字节中设置哪些字节(第0x28页,字节0,1),以及是否需要设置扇区0x2A和0x2B。

共有1个答案

郜杰
2023-03-14

不一定,Ndef。makeReadonly()可能仅在功能容器中设置只读标志(根据NFC论坛类型2标签操作规范)。

如果要确保设置实际的锁定位,可以将标记连接为NfcAMifareUltralight标记技术,并为锁定位发出写入命令。

NfcA nfcA = NfcA.get(tag);
nfcA.connect();

byte[] result1 = nfcA.transceive(new byte[] {
    (byte)0xA2,  /* CMD = WRITE */
    (byte)0x02,  /* PAGE = 2    */
    (byte)0x00, (byte)0x00, (byte)0xFF, (byte)0xFF  /* DATA = lock pages 3..15 */
});

byte[] result2 = nfcA.transceive(new byte[] {
    (byte)0xA2,  /* CMD = WRITE */
    (byte)0x28,  /* PAGE = 40   */
    (byte)0x0F, (byte)0x00, (byte)0x00, (byte)0x00  /* DATA = lock pages 16..27 */
});

另请参阅 Mifare Ultralight:锁定特定页面以对锁位进行编码。

使用我上面显示的 write 命令,您将首先将身份验证密钥写入第 44..47 页。然后,您将 AUTH1(第 43 页)写为全零。最后,您将 AUTH0(第 42 页)编写为0x29 0x00 0x00 0x00,以要求对第 41 页及更高版本进行身份验证。实际上,我建议锁定第 40 页及以上,以便没有人可以为这些页面设置锁定位。或者,您可以设置块锁定位(即将0x1F 0x0F 0x00 0x00写入第 40 页),以便无法更改未锁定页面的锁定位。

 类似资料:
  • 我在兜圈子,同时确定一个最好的“轻量级”路由,同时具有saml和Oauth服务器功能 要求 有一个沉重的saml idp完美运行和集成到应用程序(shib) 用户需要使用一种独特的身份验证组合(是的,基于网络/浏览器,至少在一段时间内,我们预计不会改变这种浏览器要求(嵌入式或其他) 以下哪项是一个好的权衡? > 运行独立的(但在我们的控制下)Oauth服务器——使用shib idp进行身份验证(s

  • 如何在日历视图中设置泰米尔日期,在应用程序中设置泰米尔字体?

  • 面试部门为上海车机部门,本人为c++选手,个人项目:6.828操作系统项目,一个muduo库,一篇1区文章。 面试官态度很好,对我不熟悉或者答的不完整的问题都会做一些解答和拓展 问题: 1.介绍了一下论文。 2.网络库项目: 问了网络库的结构,线程池的管理,tcp连接的管理,事件轮训检测与分发。 介绍了一下所做的各类事件触发机制。 3.操作系统项目 操作系统是宏内核还是微内核。 bios到kern

  • 在phpmyadmin中,我将字符集设置为utf-8,泰米尔文字看起来很棒 但在导出到sql文件后,看起来: 问题出在哪里?

  • #小米# 许愿hr# 40多分钟,面试官人挺好的,不过迟到了两分钟,整体就对着简历细问项目和说个人经历,终于有一次面试没问我为什么跨考了。 1、先自我介绍 2、研究方向(这能反映个人研究生经历,怎么没写?然后自己说了一通研究方向干啥了 ps:我要有好文章怎么可能不写,还不是我菜) 3、打过竞赛吗?(随便说了一下参加的水比赛) 4、介绍第一个项目,然后各个点细问,讲了有一会 5、多线程编程遇到过死锁

  • #小米# 大概40分钟左右,女面试官,人挺温柔的,总体就是项目+手撕 1、自我介绍 2、讲一下简历上项目(webserver):项目成果是什么大致讲一下、几个人做的? 3、读研期间方向,然后个人方向展开讲讲 4、研究生很本科专业不一样,为什么跨考?自己自学的吗? 5、讲一下另外一个嵌入式相关的项目?做了多久?碰到问题、难点、怎么解决的。这部分讲了挺久的。 6、研究生跨专业那你数据结构、操作系统自学