update understanding of the OTP bytes in a nesica blue card

This commit is contained in:
Hay1tsme
2026-06-22 11:32:30 -04:00
parent f93eee3509
commit ae69712f52
+2 -2
View File
@@ -40,7 +40,7 @@ HRESULT nesica_card_populate(
// Lock bits signal which parts of the card are write-locked
// On real blue nesicas, OTP and pages 4-8 inclusive are locked (0xF8 0x01)
// Internal is "reserved for internal data" and observed to be 0x48
// OTP bytes are impl specific, observed to be 0x23 0x21 0x54 0x55 on sample card (#!TU)
// OTP bytes are impl specific, observed to be different per card
// UID of 00010203040506 with BCC0 8B and BCC1 04
// TODO: User-setable UID?
@@ -59,7 +59,7 @@ HRESULT nesica_card_populate(
mifare->pages[2].bytes[2] = 0xF8;
mifare->pages[2].bytes[3] = 0x01;
memcpy_s(mifare->pages[3].bytes, 4, (uint8_t *)"#!TU", 4); // OTP
memcpy_s(mifare->pages[3].bytes, 4, (uint8_t *)"ASDF", 4); // OTP, probably doesn't matter?
memcpy_s(mifare->pages[4].bytes, 4, (uint8_t *)"T053", 4); // UID header?
memcpy_s(mifare->pages[5].bytes, 16, card_sn, 16); // UID, should clobber pages 5-8 safely