Как уменьшить значение в блоке значений MIFARE Classic, используя считыватель PN532?

Я пытаюсь управлять блоком значений с помощью Mifare Classic и считывателя PN532. Я использую библиотеку с открытым исходным кодом с именем "libnfc", но я не вижу ничего связанного с блоками значений в этой библиотеке.

Кто-нибудь знает, как я могу делать приращения, уменьшения и передачи вызовов с этим читателем и библиотекой?

1 ответ

Посмотрите на заголовок utils/mifare.h (и связанная с ним реализация utils/mifare.c). Они содержат реализацию команд чтения MIFARE. Например, для команды increment вы должны использовать что-то вроде:

mp.mpv.abtValue[0] = 1;
mp.mpv.abtValue[1] = 0;
mp.mpv.abtValue[2] = 0;
mp.mpv.abtValue[3] = 0;

nfc_initiator_mifare_cmd(pnd, MC_INCREMENT, blockNumber, &mp);

куда pnd это nfc_device *, mp это mifare_param и вы ранее аутентифицировались в этом секторе (см. utils/nfc-mfclassic.c).

Другие вопросы по тегам