位顺序的拖车部门在Mifare经典4k

本文关键字:Mifare 经典 4k 车部 顺序 | 更新日期: 2023-09-27 18:09:29

参考8.7.1到8.7.3 NFC Mifare规范文档。我需要知道尾部扇区字节的位顺序,即字节6,7,8。这样我就可以在拖车扇区上做进一步的处理,例如,将带有访问字节的新键写入拖车扇区,因为当我写入拖车扇区时,它变得不可访问。

对于字节6,我不清楚

bits 0,1,2,3,4,5,6,7 

 bits 7,8,6,5,4,3,2,1,0
尾扇区第6字节的

表示

~C10    ~C11    ~C12    ~C13    ~C20    ~C21    ~C22    ~C23 

位顺序的拖车部门在Mifare经典4k

通常情况下,您的平台和NFC/智能卡读卡器前端会关心传输位顺序。因此,你真的不需要关心这个。

对于访问位,这些映射到访问字节(扇区尾片的6-8字节),如下所示(第7位是最高有效位,第0位是最低有效位):

<>之前位:7 6 5 4 3 2 1 0字节6:~ C2 <子> 3 ~ C2 <子> 2 ~ C2 <子> 1 ~ C2 <子> 0 ~ C1 <子> 3 ~ C1 2 <子> ~ C1 <子> 1 ~ C1 <子> 0 字节7:C1 <子> 3 C1 <子> 2子> 1子> 0 ~ C3 <子> 3 ~ C3 <子> 2 ~ 1 C3 <子> ~ C3 <子> 0 字节6:C3 <子> 3 C3 <子> 2子> 1子> 0 C2 <子> 3 C2 <子> 2子> 1子> 0 之前因此,为了设置
  • C1 <子> 3 = 0 (C1 => ~ <子> 3 = 1)
  • C1 2 <子> = 1 (C1 => ~ <子> 2 = 0)
  • C1 <子> = 1 (C1 => ~ <子> 2 = 0)
  • C1 <子> 0 = 0 (C1 => ~ <子> 2 = 1)
  • C2 <子> 3 = 1 (=> ~ C2 <子> 3 = 0)
  • C2 <子> 2 = 0 C2(=> ~ <子> 2 = 1)
  • C2 <子> 1 = 0 C2(=> ~ <子> 2 = 1)
  • C2 <子> 0 = 0 C2(=> ~ <子> 2 = 1)
  • C3 <子> 3 = 0 (=> ~ C3 <子> 3 = 1)
  • C3 <子> 2 = 0 (=> ~ C3 <子> 2 = 1)
  • C3 <子> = 1 (=> ~ C3 <子> 2 = 0)
  • C3 <子> 0 = 1 (=> ~ C3 <子> 2 = 0)

您将使用set byte 6 = 0x79, byte 7 = 0x6C, byte 8 = 0x38(注意,选择这些值是为了明确位如何映射到字节,并且这些值在实践中不一定有任何意义)。