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

NFC Mi的超轻伪造响应数据

龙新荣
2023-03-14

我正在使用带有离子/电容器的PhoneGap NFC,并试图锁定NXP NTAG213。

根据数据表(https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf)我必须写入页面0x2B以设置PWD,页面0x2C用于PACK。

const set_password_cmd = Uint8Array.from([
    0xA2, //WRITE
    0x2B, //address 2B
    1, 2, 3, 4//pwd
]);
let res = await nfc.transceive(set_password_cmd);

const set_pack_cmd = Uint8Array.from([
    0xA2, //WRITE
    0x2C, //address 2C
    2, 7, 0, 0//pack
]);
res = await nfc.transceive(set_pack_cmd);

密码应该是1234,包应该是27。

问题是我不断得到0xA(LF)作为对这两个命令的响应,并且标签不会锁定自己。

之后我在addTagDiscoveredListener调用中调用.connect(tech)和.close(),发送GET_VERSION命令按预期工作并返回正确的数据。

共有1个答案

蒋俊人
2023-03-14

请记住,默认情况下仅设置密码和包不会启用密码保护,您还需要告诉它要保护卡的哪些部分。

AUTH0 字节(ntag213 上页面 0x29h 的第四个字节)的默认值设置为 0xFFh,这意味着设置的密码不会保护任何页面(请参阅数据表中第 8.5.7 节中的表 11)

AUTH0定义需要进行密码验证的页面地址。字节AUTH0的有效地址范围是从00h到FFh。如果AUTH0设置为高于用户配置中最后一页的页地址,则密码保护将被有效禁用

因此,您可能希望将AUTH0字节设置为至少0x4h(用户数据区的开始)或更低的值,以启用密码保护。

您还应该检查n瘤213的PROP页面上的0x2Ah访问位是否设置为您的需要,因为默认值仅用于密码保护写访问

 类似资料:
  • 问题内容: 我正在为进行AJAX调用的JavaScript写一些QUnit测试。 为了隔离,我重写以将AJAX调用的参数数组写入变量。这可以测试方法如何使用AJAX函数,但是我很难测试 从位于http://api.jquery.com/load/的文档中: 当检测到成功的响应时(即,当textStatus为“成功”或“未修改”时),. load()将匹配元素的HTML内容设置为返回的数据。 因此,

  • 比如说,我的应用程序中有一个依赖于外部API的特性--我提供了一个接口,它调用我的服务器,服务器依赖于它,调用一些外部API并对客户端做出响应。如果我想为此用cucumber编写一个验收测试,我如何将对外部API的调用存根,例如,对的任何GET调用都将立即返回带有预定义头的某些预定义JSON响应,对该url的任何POST请求都将返回带有预定义状态和头的响应,等等。如果使用cucumber,如何进行

  • 问题内容: 问题 我一直在寻找Express.js的请求/响应超时,但是一切似乎都与连接有关,而不是请求/响应本身。 如果请求花费很长时间,则应该超时。显然,这不应该发生,但即使是一个简单的错误,如具有不调用回调或不调用的路由处理程序,浏览器将永远等待答复。 空路由处理程序就是一个很好的例子。 固定 我 之前 添加了以下内容 ,并且似乎添加了超时功能。有人对此有任何经验/意见吗? 请注意,我已将超

  • 我使用Slim框架创建了一个PHP API。问题是,当我将API移动到新服务器时,我开始对响应产生问题。响应正文中的数据正在复制 例如,不要在响应中只获取一次: {data:[{用户名:'某人',密码:'某物'}]} 我明白了: {data:[{用户名:'某人',密码:'某物' }] } {data:[{用户名:'某人',密码:'某物' }] } {data:[{用户名:'某人',密码:'某物'}

  • 如果我们有一个无法检测到的后门,没有找到一种有效的方法将这个后门传递给目标计算机。在现实生活中,如果我们要求目标下载并运行可执行文件,它可能不会下载并运行它,所以我们现在研究如何伪造更新,以便用户希望下载并安装可执行文件。 在我们处于连接中间之前,此方案将起作用。例如,当通过移动电话重定向流量,实施中间人攻击或使用虚假网络时。 在本节中,我们将介绍ARP中毒的DNS欺骗。这意味着我们与目标机器位于

  • 问题内容: 所有, 我正在尝试在一些古老的Java代码中进行一些单元测试(无接口,无抽象等)。 这是一个使用ServletContext的servlet(我假设它是由Tomcat设置的),并且它的数据库信息在web.xml / context.xml文件中设置。现在,我已经弄清楚了如何制作Fake ServletContext,但是代码已经 遍布整个地方(因此替换它是不可行的)。我需要找到一种方法