Forum: PC-Programmierung Checksumme mit HxD berechnen


von Int3g3r (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Quelle:
https://marcan.st/2016/05/crossflashing-the-fujitsu-d2607/

Kann mir jemand erklären wie ich die Checksumme für sbrfj.bin mit HxD 
(Hex-Editor) berechne?

"The checksum is simply calculated such that the sum of all bytes 
including the checksum byte, mod 0x100, is 0x5b."

Ich verstehe das wie folgt:
1) Alle Bytes addieren = X
2) X mod 0x100 = 0x5b

Somit sollte die sbrfj.bin (unten im Artikel) eine Prüfsumme von 0x5B 
ergeben korrekt?
Habe nun unter Analyse -> Erzeuge Prüfsummen mehrere Algorithmen 
getestet.
Auch benuzerdefinierte. Ich komme nie auf die 0x5B.

Stehe da irgendwie auf dem Schlauch oder mache einen Überlegungsfehler.
Wie gehe ich da korrekt vor?

Gruss Int3g3r

von tut nix zur Sache (Gast)


Lesenswert?

Ist das vielleicht eher so zu verstehen, dass du irrelevante Bytes in 
deinem Hex-File so patchen musst, dass da 0x5b bei rauskommen muss?

von tut nix zur Sache (Gast)


Lesenswert?

Ach so, als Ergänzung: mod 0x100 heißt ja eigentlich auch bloß, das 
niedrigste Byte deiner Checksumme muss halt 0x5b sein...

von Int3g3r (Gast)


Lesenswert?

Ich glaube habe den Fehler gefunden.

Ich habe die Checksumme über die ganze Datei berechnet.
Da ja "all Bytes" geschrieben ist.

Wenn ich aber nur die Bytes vom Anfang bis und mit Checksumme markiere 
und danach Prüfsumme -> Checksum-8 verwende erhalte ich die 0x5B.
Darum sind Prüfsummen auch immer am Schluss. Die Prüfen die vorherigen 
Bytes.

von Benedikt M. (bmuessig)


Lesenswert?

Int3g3r schrieb:
> "The checksum is simply calculated such that the sum of all bytes
> including the checksum byte, mod 0x100, is 0x5b."

1. Alle Bytes außer Checksummenbyte addieren
2. Verunden mit 0xff
3. Checksummenbyte = 0x5b - Vorläufige Summe

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
Noch kein Account? Hier anmelden.