2013-01-31 15 views
6

Mam omyłkowo nadpisany sektor 1 blok 7 jednego z moich klasycznych tagów 1k Mifare. Miało do testowania i dane 16 bajtów, które napisałem na bloku 7 przedstawiono poniżej:Odzyskaj sektor w Mifare Classic 1k z nadpisanymi bitami uprawnień

 
0xaa 0xaa 0xaa 0xaa 
0xbb 0xbb 0xbb 0xbb 
0xcc 0xcc 0xcc 0xcc 
0xdd 0xdd 0xdd 0xdd 

Jeśli nie pomylić, robiąc to, moje klucze dostępu oraz bity uprawnień stały się następująco:

  • Key-A: 0xaa 0xaa 0xaa 0xaa 0xbb 0xbb
  • Key-B: 0xcc 0xcc 0xdd 0xdd 0xdd 0xdd
  • Permisssion Bity: ->0xbb 0xbb 0xcc

Próbowałem użyć Key-A i Key-B jak pokazano powyżej do odczytu/zapisu block 7 w sector 1. Ale już nie jestem w stanie uzyskać dostępu (bez odczytu ani zapisu) do żadnego bloku w sector 1.

Znam klucze do wszystkich innych sektorów (np. sector 0 i sectors 2-15) i mam do nich dostęp.

Biorąc pod uwagę sytuację, chciałbym się dowiedzieć, czy istnieje sposób na zresetowanie sector 1 lub block 7, aby odzyskać dostęp. Wielkie dzięki.

Aktualizacja:

I potwierdziły, że zarówno Key Key-A i B, jak pokazano powyżej są prawidłowe i mogę uwierzytelnienia na karcie z obu z nich. Ponadto, jak na Mifare Classic specification (screenshot), moje bity dostępu są następujące:

 
Byte 6 = 0xbb = 0b10111011 
-------------------------- 
C2_3 C2_2 C2_1 C2_0 C1_3 C1_2 C1_1 C1_0 
    1 1 0 1 1 1 0 1 

Byte 7 = 0xbb = 0b10111011 
-------------------------- 
C1_3 C1_2 C1_1 C1_0 C3_3 C3_2 C3_1 C3_0 
    1 1 0 1 1 1 0 1 

Teraz, biorąc pod uwagę specyfikację/screenshot, C1_3, C2_3 i C3_3 bity umożliwiają dostęp odczytu/zapisu do sector-trailer. W moim przypadku dla bloku 7 (zwiastun dla sektora 7) wszystkie są ustawione na 1. Czy nie powinienem mieć dostępu do zapisu do tego bloku?

Odpowiedz

3

W klasycznym opisie Mifare ty połączonego mówi:

Uwaga: Z każdego dostępu do pamięci wewnętrznej logiki sprawdza format warunków dostępu. Jeśli wykryje naruszenie formatu, cały sektor zostanie nieodwracalnie zablokowany.

Twoje bajty dostępu nie weryfikują formatu. W następujace tabeli ~ oznacza odwrócony

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 

Tak więc, na przykład, C2-3 = 1 ~ C2-3 = 1. Nie są komplementarne. Format nie zweryfikowany, sektor jest nieodwracalnie blokowany.

W tym samym dokumencie znajduje się tabela (tabela 7), która pokazuje, że klucz A może być zawsze odczytany. Może to jest powód, dla którego możesz się uwierzytelnić.

+1

dzięki. Już to zawarłem. Twoja odpowiedź sprawia, że ​​jest jaśniejsza. – gsbabil

6

Gdy bity kontroli dostępu nie są poprawnie skonfigurowane (na przykład bity, które mają uzupełniać się nawzajem, nie są komplementarne, tak jak w twoim przypadku), sektor nie może być już w ogóle dostępny.