Mifare Karte Schlüssel

Gast #3010106
Lesenswert?
• ▲
▼
Guten Morgen,
ich arbeite zur Zeit mit den MiFare Karten Classic und scheitere dabei 
die Keys zu setzten.
Weiß einer zufällig wie man die Keys da setzten kann ?
Ich arbeite mit Arduino MEGA 2560 und Adafrut NFC Shield PN532 i2c.


Danke schon mal im voraus falls ihr mehr information braucht sagt 
bescheid :P


MFG
Gast #3011950
Lesenswert?
• ▲
▼
Okey also zu nächst kann ich ja durch
nfc.mifareclassic_WriteDataBlock (block, daten); in ein Block der Mifare 
Karte reinschreiben. Doch als ich es versucht habe den key mit zu 
übergeben konnte ich den Block nicht mehr auslesen.
Kurz ich versuche mit dieser Methode auf den Sector Trailer die keys 
reinzuschreiben
z.B
                         KeyA    | Acces Bit | KeyB
uint8_t data = {x1,x2,x3,x4,x5,x6,ff,07,80,69,x5,x4,x3,x2,x1,x0};
nfc.mifareclassic_WriteDataBlock (7, data);
x habe ich gewählt da ich selbstverständlich nicht die richtigen Keys 
hier veröffentliche ;)
Aufjedenfall übergebe ich dann data mit WriteDataBlock an den 
SektorTrailer aber falls ich den Block wieder auslesen will funktioniert 
es mit den keys nicht, verständlich ?^^


Danke schon im voraus
Gast #3012009
Lesenswert?
• ▲
▼
> verständlich ?
Nein, weil keiner weiss woher die Funktionen kommen. Und ich werd jetzt 
nicht die NxP- bzw. Mifare-Seite nach dem Stack für den PN532 
durchsuchen ;)

Also gib uns erstmal die Grundlage: Zeig die Doku des verwendeten Stacks 
und auch mal den kompletten relevanten Codefetzen (der obige Einzeiler 
kann kaum alles nötige sein, oder?).

Ralf
Gast #3012110
Lesenswert?
• ▲
▼
1
 success = nfc.mifareclassic_AuthenticateBlock(uid, uidLength, 7, 0, keya);
2
    
3
      if (success)
4
      {
5
        uint8_t data = {x1,x2,x3,x4,x5,x6,ff,07,80,69,x5,x4,x3,x2,x1,x0};
6

7
       success = nfc.mifareclassic_WriteDataBlock (t, data);

Mehr brauch man nicht um sich mit dem Block zu authentifizieren und dann 
in einem Block zu schreiben.
Also damit habe ich das beschreiben geschaft und dann versucht eben die 
Keys zu setzten aber danach habe ich kein Zugriff mehr auf den 
jeweiligen Sektor.
Gast #3012162
Lesenswert?
• ▲
▼
Vielleicht einfach nur so:

uint8_t data = 
{x1,x2,x3,x4,x5,x6,0xff,0x07,0x80,0x69,x5,x4,x3,x2,x1,x0};

Deine Zeile

uint8_t data = {x1,x2,x3,x4,x5,x6,ff,07,80,69,x5,x4,x3,x2,x1,x0};

sollte sich so gar nicht übersetzen lassen...
Gast #3012342
Lesenswert?
• ▲
▼
Habs herausgefunden wie es funktioniert und  ich hatte es natürlich mit 
0x geschrieben aber ich habe mich doch mit den Accessbits vertan und aus 
den jeweiligen Sektoren gekickt :P Aber danke euch trozdem.
Gast #3025413
Lesenswert?
• ▲
▼
Hey, also ich habe nur die ganze Zeit irgendwie die falschen Accesbits 
gesetzt und dem entsprechend mich aus den Sektoren gekickt und darauf 
muss man eben acht geben und sich mal von Intel die App mifare access 
condition calculator und damit kann man sich errechnen welche Rechte man 
auf die jeweiligen Blöcke im jeweiligen Sektor haben soll.


mfg

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.