Hallo zusammen, ich durfte heute auf der Arbeit ein Programm dazu bringen, mit einem Lesegerät für Guthabenkarten (für Cafeterien etc.) zu reden. Die Doku zum Protokoll (über RS232) sprach von 8-Bit-CRC, sagte aber nichts über das verwendete Generatorpolynom. Nachdem ich per Trial and Error (automatisch alle möglichen Werte fürs Prüfbyte durchprobieren lassen, bis die Hardware mit einem ACK antwortet) ein paar gültige Anfragen generieren konnte und dann auch sinnvolle Daten vom Gerät erhalten habe, sind mir zwei Dinge aufgefallen: Nur aus Nullen bestehende Nutzdaten bekommen ein Nullbyte als CRC -> offensichtlich scheint das Startpolynom null zu sein. Interessanter war schon: Pakete mit 1 Byte Nutzdaten haben offenbar immer ein CRC-Byte, die genau diesem einen Nutzdatenbyte entspricht. Das war schon ziemlich auffällig. Na ja, die Software ist jetzt so weit, daß sie am Montag dem Kunden vorgeführt werden kann, und man kann ja auch nochmal den Hersteller fragen, aber mic würd mal interessieren, ob man nicht aus diesem Verhalten bereits auf ein typisches Generatorpolynom schließen kann. Grüße Sebastian
Probier mal aus: zwei Bytes mit dem selben Wert. Bei XOR kommt dann Null raus...
Summe aller Werte kann ich ausschließen, hab ich auch schon dran gedacht und ausprobiert. Aber das mit dem XOR ist ne gute Idee, werd ich nächste Woche dann mal versuchen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.