Я использовал NTAG213 для написания всей этой команды блокировки.
Я заблокировал тег раньше с помощью некоторого NDEF в теге, который используется для проверки тега с помощью телефонов.
После блокировки тега NFC приложение не может получить доступ к записанному NDEF, даже если NDEF присутствует в NFC. Тег
Код: Выделить всё
def lock_nfc_tag_readonly_safe():
try:
block2 = pn532.ntag2xx_read_block(2)
if block2 is None or len(block2) != 4:
log("❌ Failed to read block 2")
return False
block2 = list(block2)
# ---------------------------
# byte 2: pages 3–15
# bit 0 = page 3 (CC) → MUST stay 0
# bits 1–7 = pages 4–15 → lock
# ---------------------------
block2[2] |= 0b11111110 # 0xFE
# ---------------------------
# byte 3: pages 16–39
# lock all remaining user memory
# ---------------------------
block2[3] |= 0xFF
if not pn532.ntag2xx_write_block(2, bytes(block2)):
log("❌ Failed to write lock bytes")
return False
return True
except Exception as e:
log(f"❌ Error locking NFC tag: {e}")
return False
Подробнее здесь: https://stackoverflow.com/questions/798 ... -read-only
Мобильная версия