Go Down

Topic: "Checksummenberechnung "- Wer findets raus? 100 Euro Belohnung ! (Read 2930 times) previous topic - next topic

Gazello


100 Euro warten auf den Finder:

Bytesätze die vielleicht helfen,  weitere 250 Sätze vorhanden, bei Bedarf.


Aufbau:

49  , Daten,  Daten, Daten,......  Daten |  Daten.........Daten,   Checksumme ?? ,  50

start         "vermutlich Zieladresse"                "Nutzdaten"                                   Stop
                                                             

                                                              ( 0 ergibt kein "checkbyte" ???  oder ist 0 das
                                                                                     Checkbyte von vorher nix )

                                                               

49 1 0 0 0 1 0   |                     0  50  

49 1 0 0 0 1 0   |     5    13  243  50

49 1 0 0 0 1 0|  51 16 5 13  237 50

49  51  1  2       |        100  0 97 50    

49  51  1  1       |          0  0 164 50
49  51  1  1       |   255  255 164 50

49  51  1  1       |  209  127  121 50
49  51  1  1       |   46   128  121 50

49  51  1  1       |       95   90   0 50                 (5 unteschied ergibt 0 ?)
49  51  1  1       |   160   165   0 50

49  51  1  1    |    30   253   100   50
49  51  1  1    |   195  32     100   50              immer 100   ???
49  51  1  1    | 225   2        100   50


49  51  1  1    | 81   233    128   50
49  51  1  1    | 184   0      128   50


( xor and or  and  -255  +92   + Quersumme,  umdrehen fertig. :smiley-confuse: )

Summe mod 256,  

256 - Summe mod 256,

alle Bytes mit XOR verknüpft,

irgendein crc 8 ( schon probiert aber nicht wirklich erfolgreich)


Gruß
Markus

Tommy56

Warum fängst Du jedesmal ein neues Thema an? Damit keiner mehr den Überblick hat und Dir keiner mehr hilft?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Gazello

#2
Apr 01, 2018, 08:25 pm Last Edit: Apr 02, 2018, 12:14 am by Gazello
Sorry aber die Probleme mit dem Programmieren sind alle gelöst und Checksumme rausfinden  ist ein neues Thema für mich , zudem findet das niemand bei der Überschrift im anderen Topic .

Darum habe ich eines neues aufgemacht.



Mehr vielleicht hilfreiche Datensätze:


49  5  1   1     0       0      164 50

49  5  1   1     92     0        54 50

49  5  1   1    184    0      128 50

49  5  1   1      20    1      230 50

49  5  1   1     112   1      196 50

49  5  1   1     204   1        45 50
 
49  5  1   1       41   2        73 50

49  5  1   1      133  2        70 50

49  5  1   1     225   2      100 50
.
.
.

49  5  1   1     30   253    100 50

49  5  1   1    122   253      70 50

49  5  1   1    214   253      73 50

49  5  1   1     51    254     45 50

49  5  1   1    143   254    196 50

49  5  1   1    235   254    230 50

49  5  1   1     71   255     128 50

49  5  1   1     163   255   54  50

49  5  1   1     255   255   164 50








noiasca

da das wenn für alle was sein soll:

Beschreibung des Artikels,
Links zu PDF's
Wenn es nichts online gibt, selber Bilder machen und posten.

DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

Gazello

Falls es irgendwelchen informationen dazu gäbe , hätte ich Sie nicht vorenthalten .

Der Hersteller gibt natürlich dazu nichts her.  Was hilft ein Bild , es geht um ein Zahlenpuzzle.



Hab mit  (  255- CRC8  )    daten bytes ( ohne 49 und 50 )  xor,  or,   and,    gespielt aber passt nie.   

Klaus_ww

Vielleicht erläuterst Du wenigstens mal, worum es geht.

Wenn Du das Zeug nur lesen musst ist doch eine mögliche Checksumme wurscht.
Ansonsten kannste auch mal eine ordentlich formatierte Tabelle (csv oder xls oder so) anhängen, macht das Rumspielen auch einfacher.
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

michael_x

Woher kennst du genau diese Datensätze?
Gibt es mehr?
Was passiert bei anderen/"falschen"?

Wenn es nicht um das Lösen eines Puzzles ginge,  wären deine Anstrengungen Unsinn, das ist dir sicher klar. (Was kosten 250 Byte RAM?)  

noiasca

Was hilft ein Bild , es geht um ein Zahlenpuzzle.
Reine Motivation für die Leute, es soll Leute geben, die wollen wissen wofür sie arbeiten.

Und stell alle Daten als csv oder Excel zur Verfügung.



DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

Floetzinger

...Tabelle.
Vermutlich gehts dann schneller. So könnten das Temeraturen, Feuchte, Ölstand, Tidenzeiten, Kräfte des Alls sein.
oder eben 42.

Gazello

Hallo zusammen,


Die Daten haben ich mitgeschnitten, ja es würde reichen diese zu reflektieren, bis auf einen Bytesatz den ich nicht einfach zurückschicken   kann sondern um 2 byte erweitern + Checksumme neu ( da liegt der Hund begraben)  und dann zurück . Byte falsch , passiert gar nichts , keine Funktion.

Die  unten angeführte Bytefolge ist sehr wichtig, dabei ist die 51 16 die Adresse vom Sendegerät und die 5 13 die Antwort.


die " Anfrage "  49 1 0 0 0 1 0 51 16                 30 50     

die  "Antwort"   49 1 0 0 0 1 0 51 16    5 13 (XXX) 50   XXX= fehlenden Checksumme


Alle Daten in decimal.

Für CRC 8 16 32 habe ich reveng 1.5.2. gefunden( Terminalprogramm )  welches CRC rückrechnet bei genügend Datensätze. Leider kapier ich nicht wie man die Datensätze eingeben kann ?  bzw wie man Daten und wie man die checksumme trennt.

Anbei dei gewünschte Tabelle als zip.

Schuppeste

Ich hatte mal eine Seite gefunden.. kein Plan mehr welche das war..

"Checksum online" oder so..

Die hat von mehreren Byte/int16/int32/char alles einstellbar auf über 20 bekannte Checksummensysteme tabellarisch in DEC/byte/HEX umgewandelt.

vielleicht mal nach sowas suchen.


Gazello

Ja hab ich schon gemacht , CRC8 ( die Checksumme ist nie größer als 255 ) aber es muss keien CRC sein, zudem unbekannter init  , polynom und xor wert.

Hab  CRC reveng 1.5.2 gefunden , aber ich kanns nicht bedienen.

Schuppeste

http://reveng.sourceforge.net/crc-catalogue/1-15.htm

da sind alle 8bit CRC aufgelistet.

http://crccalc.com/ sind einige dieser Modis zur Schnellprüfung.
31 05 01 01 00 00 32 //Ergibt 24

Kannste in der Konsole so bedienen:
reveng -m CRC-8/CDMA2000 -c 0x31050101000032 //ergibt 24
reveng -m CRC-8/CDMA2000 -v 0x31050101000032 //Reverse

Wenn man das geschickt mit nem Bash-Script vorbereitet kann man sich gemütlich alles ausgeben lassen in allen Variationen mit verschiednen Polys und Inits/Reverse und am ende im Ergebnis nach der Zielchecksumme suchen.

Mit nur einigen Zeilen code.

Wenn Du mit CRC8 richtig liegst sollte das klappen.

Gazello

Hallo,


wenn ich das polynom init und xor kenne würde , aber es kann auch ein Hersteller eigenes willkürliches polynom sein .


Ich kenne ja die checksummen für ein bestimmten Datensatz ( siehe Tabelle) und wollte mit Reveng die Daten und die Checksumme eingeben und möchte dafür das polynom und die init xor werte haben .

Bei dem Beispiel 31 05010100 00 32  gibts du anstatt der 164( xA4)  00 ein .  Zudem soll man laut dem Video von regregex  start und stop ( 31 32)  gar  nicht eingeben.


 

Schuppeste

Es ja nur ein Tip als Beispiel für die Bedienung in der Konsole und kein Zielsicherer Hinweis.

Dein Decimal bringt da keinen weiter.. in Hex hätte ich vielleicht geholfen.

Schreibe erstmal Deine Dump Daten aneinander z.B.:

05010100A4

dann mit leerzeichen aneinander

und zuguterletzt an z.B. : "reveng  -w 8 -s 05010100000a4 ranhängen.

mit -s übergibt man ein data-crc pair also bytes+crc in hex zweistellig.

EDIT: vielleicht ist ja schon ein Fehler in Deinen vorbereiteten Daten.. zeig doch mal ein einigermaßen kommentiertes RAW Dump.

 

Go Up