Восстановление сектора в Mifare Classic 1k с перезаписанными битами разрешений
я ошибочно перезаписал сектор 1 блок 7 одного из моих тегов Mifare classic 1k. Он предназначен для тестирования, и 16-байтовые данные, которые я написал в блоке 7, показаны ниже:
0xaa 0xaa 0xaa 0xaa 0xbb 0xbb 0xbb 0xbb 0xcc 0xcc 0xcc 0xcc 0xdd 0xdd 0xdd 0xdd
если не ошибаюсь, сделав это, мои ключи доступа и биты разрешений стали следующими:
- Клавиша-A:
0xaa 0xaa 0xaa 0xaa 0xbb 0xbb
- Ключ-B:
0xcc 0xcc 0xdd 0xdd 0xdd 0xdd
- Разрешения Биты: -->
0xbb 0xbb 0xcc
Я пробовал использовать Key-A
и Key-B
как показано выше, чтобы читать / писать block 7
на sector 1
. Но я больше не могу получить доступ (без чтения или записи) к любому блоку в
2 ответов
в спецификации Mifare classic, которую вы связали, говорится:
Примечание: С каждым доступом к памяти внутренняя логика проверяет формат условий доступа. Если он обнаруживает нарушение формата, все сектор необратимо заблокирован.
ваши байты доступа не проверяют формат. В следующей таблице ~ означает перевернутый
Byte 6
--------------------------
~C2_3 ~C2_2 ~C2_1 ~C2_0 ~C1_3 ~C1_2 ~C1_1 ~C1_0
1 0 1 1 1 0 1 1
Byte 7
--------------------------
C1_3 C1_2 C1_1 C1_0 ~C3_3 ~C3_2 ~C3_1 ~C3_0
1 0 1 1 1 0 1 1
Byte 8
--------------------------
C3_3 C3_2 C3_1 C3_0 C2_3 C2_2 C2_1 C2_0
1 1 0 0 1 1 0 0
Так, например, C2_3 = 1 и ~C2_3 = 1. Они не дополняют друг друга. Формат не проверено, сектор irreversibily заблокирован.
в том же документе есть таблица (таблица 7), которая показывает, что Кейя всегда может быть прочитана. Возможно, это причина, по которой вы можете аутентифицироваться.
Как только биты управления доступом не настроены правильно (например, биты, которые должны быть дополнением друг друга, не дополняют друг друга, как в вашем случае), сектор больше не может быть доступен вообще.