Mecanismo de bloqueo de Mifare Classic 1K

El procedimiento de Mifare Classic 1K es

Sondeo de etiquetasAutenticar esas etiquetasSi la autenticación se realizó correctamente, lea / escriba.

Ya completé esos procedimientos y también leí y escribí datos de sectores específicos.

Comando paraSondeo de etiquetas es

new byte[] { (byte) 0xFF, (byte) 0x00, (byte) 0x00,
                (byte) 0x00, (byte) 0x04, (byte) 0xD4, (byte) 0x4A,
                (byte) 0x01, (byte) 0x00 }

Comando de autenticación es

new byte[] { (byte) 0xFF, (byte) 0x86, (byte) 0x00,
                (byte) 0x00, (byte) 0x05, (byte) 0x01,(byte) 0x00, (byte) 0x04, 
                                    (byte) 0x60,(byte) 0x00 };

Aquí "(byte) 0x01" es el Sector 1

YEscriba en el Sector 1, el bloque 5 es

new byte[] { (byte) 0xFF, (byte) 0x00, (byte) 0x00,(byte) 0x00, (byte) 0x15, (byte) 0xD4,
             (byte)    0x40,(byte) 0x01, (byte) 0xA0, (byte) 0x05,(byte) 0x01, (byte) 0x02, 
             (byte) 0x03,(byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07,(byte) 0x08, 
             (byte) 0x09,(byte) 0x0A,(byte) 0x0B, (byte) 0x0C, (byte) 0x0D,(byte) 0x0E, 
             (byte) 0x0F, (byte) 0x10};

aquí

(byte) 0x01, (byte) 0x02, (byte) 0x03,(byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07,(byte) 0x08,(byte) 0x09,(byte) 0x0A,(byte) 0x0B, (byte) 0x0C, (byte) 0x0D,(byte) 0x0E,(byte) 0x0F,(byte) 0x10

son datos que están escribiendo en el bloque 5 en el Sector 1.

Leer del sector 1 y el bloque 5 El comando es

new byte[] { (byte) 0xFF, (byte) 0x00, (byte) 0x00,
                (byte) 0x00, (byte) 0x05, (byte) 0xD4, (byte) 0x40,
                (byte) 0x01, (byte) 0x30, (byte) 0x05 };

Mi código completo relacionado está aquí ...

Mi problema es ¿cómo puedo "Bloquear / hacer solo lectura" un bloque de un sector específico?

Respuestas a la pregunta(1)

Su respuesta a la pregunta