2013-01-31 9 views
6

Ich habe versehentlich Sektor 1 Block 7 eines meiner Mifare classic 1k Tags überschrieben. Es wurde für das Testen und die 16-Byte-Daten gemeint, die ich auf Block geschrieben 7 ist unten dargestellt:Sektor in Mifare Classic 1k wiederherstellen mit überschriebenen Berechtigungsbits

    :

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

    Wenn nicht alles täuscht, indem Sie so, meine Zugriffsschlüssel und Berechtigungs-Bits haben, wie folgend werden

  • Key-A: 0xaa 0xaa 0xaa 0xaa 0xbb 0xbb
  • Key-B: 0xcc 0xcc 0xdd 0xdd 0xdd 0xdd
  • permisssion Bits: ->0xbb 0xbb 0xcc

Ich habe versucht, Key-A und Key-B wie oben gezeigt zu verwenden, block 7 in sector 1 zu lesen/schreiben. Aber ich bin nicht mehr in der Lage, auf einen Block in sector 1 zuzugreifen (kein Lesen oder Schreiben).

Ich kenne die Schlüssel für alle anderen Sektoren (z. B. sector 0 und sectors 2-15) und in der Lage, auf sie zuzugreifen.

In Anbetracht der Situation würde ich gerne wissen, ob es eine Möglichkeit gibt, sector 1 oder block 7 zurückzusetzen, um meinen Zugriff wiederzuerlangen. Danke vielmals.

Update:

ich bestätigt haben, dass beide Key-A und Key-B, wie oben gezeigt korrekt sind und ich kann mit beiden von ihnen auf die Karte authentifizieren. Auch nach dem Mifare Classic specification (screenshot), meine Zugang Bits sind wie folgt:

 
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 

nun die Spezifikation/Screenshot Berücksichtigung C1_3, C2_3 und C3_3 Bits ermöglichen Lese-/Schreibzugriff auf sector-trailer. In meinem Fall sind sie für Block 7 (Trailer für Sektor 7) alle auf 1 eingestellt. Sollte ich dann keinen Schreibzugriff auf diesen Block haben?

Antwort

3

In der Mifare classic Spezifikation Sie sagt verknüpft:

Bemerkung: Bei jedem Speicherzugriff die interne Logik das Format der Zugangsbedingungen überprüft. Wenn es eine Formatverletzung feststellt, wird der gesamte Sektor irreversibel blockiert.

Ihre Zugriffsbytes überprüfen das Format nicht. In der folowing Tabelle ~ bedeutet invertiert

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 

So zum Beispiel C2_3 = 1 und ~ C2_3 = 1. Sie nicht komplementär sind. Format nicht verifiziert, Sektor ist irreversibel blockiert.

Im selben Dokument gibt es eine Tabelle (Tabelle 7), die zeigt, dass keyA immer gelesen werden kann. Vielleicht ist dies der Grund, warum Sie sich authentifizieren können.

+1

danke. Ich habe es bereits abgeschlossen. Deine Antwort macht es klarer. – gsbabil

6

Sobald die Access Control-Bits nicht korrekt konfiguriert sind (z. B. Bits, die einander ergänzen sollen, sind nicht komplementär, wie in Ihrem Fall), kann auf den Sektor überhaupt nicht mehr zugegriffen werden.