Ich muss Reverse Engineering CRC/Checksum Algorithmus von Windows CE ausführbar implementiert. Als propriorisches Protokoll sagt es nichts über den CRC/Prüfsummenalgorithmus. Es gibt jedoch Konsolenschnittstelle, die eine korrekte/berechnete Prüfsumme berichtet und ich kann meine eigenen Nachrichten mit Zufallsbits konstruieren, wenn Message-Protokoll ist korrekt:Methoden zum Festhalten des 16-Bit-CRC/Checksum-Algorithmus, der von Windows CE ausführbar ist?
ich beobachtet habe, dass
einzelnes Bit in Meldung Änderungen ändern Prüfsummenbytes vollständig.
Algorithmus scheint positionsabhängig zu sein, da ich einige einzelne 1-Bit-Nachrichten in verschiedenen Nachrichtendatenpositionen mit Rest der Bits null und die ganze Zeit Konsole unterschiedliche Prüfsumme berichtet. Wenn es eine einfache additive Prüfsumme wäre, wäre die Prüfsumme identisch gewesen.
I gemeinsame XOR angewendet, LRC, additive Prüfsummenalgorithmen, gemeinsame CRC-Polynome (Standerd, CCITT, X-Modem) und durchlaufen [CRC-Engineering Essay umkehren] [2], aber leider kann ich nicht gehen vorbei an der herzuleiten Polynom, weil der Nachrichtentyp fest ist, so dass keine 1-Bit-Nachricht erzeugt werden kann.
Meine Fragen:
Gibt es CRC/Prüfsummen-Algorithmus Eigenschaften, die ich gegen Nachrichten zu testen, um zu bestimmen, ob Algorithmus CRC-Prüfsumme oder Polynom basiert?
Gibt es eine Möglichkeit, die Fehlermeldung in der Programmdemontage mit entsprechenden Montageanleitungen zu vergleichen?
Wie kann man Disassembly-Code debuggen/genau lokalisieren, wenn er die korrekte Prüfsumme auf der Konsole meldet? Speicherauszug oder etwas?
sollte dies auch getaggt werden [Reverse-Engineering], denke ich. – moooeeeep
Ersetzt "Algorithmus" -Tag durch "Reverse-Engineering" –