Wer kann eeprom´s auslesen, beschreiben oder löschen?

Begonnen von Nudelsose, 18. August 2014, 17:13:31

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Nudelsose

Ich weiß löten ist besser, aber das Problem ist, ich muss da mehr als einmal ran und ich kann da nicht ständig rumlöten =(

grave_digga

Löte einfach 8 Drähtchen an die Beinchen des Eproms und dann kannst Du daran so oft anlöten wie Du willst.
<- Der da ist gerne hier. :)

Nudelsose

Ich rätsel jetzt noch an anderer Stelle ich finde den verfluchten KM stand nicht. Ich seh schon nur noch Zahlen und Buchstaben. Das ich in ASCII nicht weiterkomme ist klar, aber irgendwie muss man doch zb sowas hier:

15 00 AA AA 0A 00 5A 66 00 00 46 74 00 00 FF FF

in was logisches umwandeln können?

Nudelsose

Ich erweiter das nochmal in dem ich direkt nen Auszug kopiere aus der Datei:

3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C1 FC 3E 03 C6 FC 39 03 C6 FC 39 03 C6 FC 39 03 C6 FC 39 03 C6 FC 39 03 C6 FC 01 00 00 00 00 00 00 00 00 00 10 00 12 11 FF FF C5 AA 00 00 A6 09 A6 09 A6 09 FF FF FF FF FF FF 14 28 14 28 14 28 FF 5A FF 5A FF 5A FF FF FF FF FF FF 09 44 09 44 09 44 09 80 09 80 09 80 54 55 15 00 AA AA 0A 00 5A 66 00 00 46 74 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 00 00 F4 00 81 00 00 7A 04 04 00 00 F8 00 81 00 00 82 06 00 00 00 84 00 00 00 00 7B 00 A2 05 00 00 00 00 00 00 58 02 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 FF 00 36 0F 00 0B 02 00 02 00 CD A4 2D 06 FF FF 01 00 00 00 D5 20 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF FF FF 00 61 25 00 00 00 00 00 00 BB 03 38 31 30 30 42 37 32 37 86 D3 20 20 03 00 B3 15 07 42 1F B3

>.Áü>.Áü>.Áü>.Áü>.Áü>.Áü>.Áü>.Áü>.Áü>.Áü>.Æü9.Æü9.Æü9.Æü9.Æü9.Æü..............ÿÿŪ..¦.¦.¦.ÿÿÿÿÿÿ.(.(.(ÿZÿZÿZÿÿÿÿÿÿ.D.D.D.€.€.€TU..ªª..Zf..Ft..ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð..ô....z....ø....,....,,....{.¢.......X.ÿÿÿÿÿÿÿÿÿ.ÿÿÿÿÿÿÿÿÿ.ÿÿÿÿÿÿÿÿÿ.........ÿ.6.......ͤ-.ÿÿ....Õ ÿÿÿÿÿÿÿÿÿ.ÿÿÿÿÿÿÿÿÿ.ÿÿÿÿÿÿÿÿÿ.a%......».8100B727†Ó  ..³..B.³


Ich hoffe ihr könnt mich verstehen^^ die oberen Hex Daten sind unten als Ansi oder AscII nur das es dort ordentlicher und tabelarisch ist sag ich mal.

Aber irgendwie muss ja auch der Tacho darauf kommen aus dem Kauderwelsch was sinnvolles zu machen. Nur wie?

RalleBert

Das ist vielleicht codiert? Wie ändern denn die Pfuschbrüder den KM-Stand? Dafür wird es sicher eine Software geben.

- veni, vidi, ferruminavi -
- ich kam, ich sah, ich l?tete -

Takeshi

Das ist was Logisches, du kennst nur die Logik dahinter nicht. Und es gibt keine "allgemeine Lögik" dafür. Wenn du ein Programm schreibst und Daten speichern möchtest, dann steht es dir völlig frei, wie du das machst. Als Programmierer kannst du den Kilometerstand an eine feste Adresse schreiben, oder du schreibst irgendwo in den Speicher eine Bitkombination, anhand derer du erkennst, dass danach der Kilometerstand folgt. Oder du schreibst an eine feste Stelle, an welcher Adresse sich die Zahl befindet. Und dann weißt du nicht, ob der Kilometerstand in Kilometer, Meter, zehntel Meter oder was auch immer abgespeichert ist.
Du kannst alle Hexadezimalzahlen in Dezimalzahlen umwandeln, nur bringt dich das auch nicht weiter, denn du kannst "5A 66" zum Beispiel in "90 102" oder in "23142" umwandeln. Du musst also wissen, wo die Zahl anfängt und wo sie aufhört.
Und noch ein Beispiel: Ich musste mal Zahlenwerte übertragen. Das heißt die wurden nicht gespeichert, aber das Problem ist ähnlich, du musst dich in dem Datenstrom orientieren (du weißt sonst nicht, wo eine Zahl beginnt und wo sie aufhört und überhaupt, welche Zahl das eigentlich ist). Ich hatte Zahlen, die bis zu 14 Bit lang waren, also habe ich die in 7 Bit große Teile zerlegt, das erste Bit immer auf 0 gesetzt, um damit zu markieren, dass es sich um eine Zahl handelt. Ab und an kam zur Orientierung dann wieder ein Header, der mit einer führenden 1 markiert wurde. Das heißt, wenn ich "5A 66" übertragen hätte, was binär 0101 1010 0110 0110 entspricht, stünde das für die Zahl 00 101 1010 110 0110 = 2D66 = 11622. Hab bei den Binärzahlen bewusst mal die Lücken nicht alle 4 Ziffern gesetzt.
Wie du siehst, enthält die gleiche Bitfolge anders interpretiert eine völlig andere Bedeutung. Du musst also wissen, wie es interpretiert werden soll.

Lange Rede, kurzer Sinn: Um die Daten zu lesen, musst du wissen, nach welchem System sie abgespeichert sind. Das weißt du nicht und es gibt kein allgemeingültiges System, das liegt immer in der Hand des Programmierers.

Nudelsose

Das für mich verrückte Tachodreher können den Km Stand ändern ka wie haben son gerät wobei das bestimmt auch iwie aufm pc gehen muss und komischwerweise die Fahrgestellnummer konnte keiner ändern was ich jetzt ohne Probleme machen könnte komischerweise steht die im "Klartext" neben den Hex Zeichen. Das ist es was mich so verwirrt...

Die andere Frage wäre wenn man quasi anhand der Fahrgestellnummer verstehen könnte wie das Hexsystem arbeitet könnte man es dann nicht iwie "entschlüsseln" um die restlichen wirren dinge zu lesen?

Takeshi

Wenn der Programmierer einen lustigen Tag hatte, hat er jede Information anders abgespeichert. Du kannst also nicht zwingend von einer Zahl auf die andere schließen. Und es ist ja offensichtlich, dass die Fahrgestellnummer anders abgespeichert wurde als der Kilometerstand.

RalleBert

Auslesen, eine bestimmte Strecke abfahren, dann den Dump vergleichen. So könnte man vielleicht auf die Spur kommen. Das eventuell mehrmals.

- veni, vidi, ferruminavi -
- ich kam, ich sah, ich l?tete -

Nudelsose

Also wo in der Datei der KM Stand liegt weiß ich jetzt, aber noch nicht wie ich das kauderwelsch entschlüssle^^ Vermute mal das die Hexdaten eine Art Rechnung in den Zeilen ergeben.

Takeshi

Kannst du uns denn den Wert in hexadezimal nennen und den ungefähren Kilometerstand dazu?

Nudelsose

D1 02 2E FD D1 02 2E FD D1 02 2E FD D1 02 2E FD
D1 02 2E FD D1 02 2E FD D1 02 2E FD D1 02 2E FD
D1 02 2E FD D1 02 2E FD D1 02 2E FD D1 02 2E FD
D1 02 2E FD D1 02 2E FD D1 02 2E FD D1 02 29 FD
01 00 00 00 00 00 00 00 00 00 10 00 12 11 FF FF
C5 AA 00 00 A6 09 A6 09 A6 09 FF FF FF FF FF FF
14 28 14 28 14 28 FF 5A FF 5A FF 5A FF FF FF FF
FF FF 09 44 09 44 09 44 09 80 09 80 09 80 54 55
15 00 AA AA 0A 00 5A 66 00 00 46 74 00 00 FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
F0 00 00

Ist leider etwas verschoben, aber so sind die Zeilen, der Stand ist in Meilen und steht bei 14436 Meilen, wie der Tacho das ablegt weiß ich nicht, jedenfalls scheint es auch von der Datei abzuhängen ob er es in meilen oder KM anzeigt.

Takeshi

Dass all die Zahlen den Kilometerstand angeben, glaube ich nicht, weil damit kannst du den zurückgelegten Weg in Nanometer angeben und trotzdem ne Reise bis zu ner anderen Galaxie speichern.

Nudelsose

Naja, ich denke aber schon das der da drinnen steht, du musst das so sehen, nen Tacho geht ja meist von 0-999999 auch Digital dannach springt er wieder auf 0 um. Aber um die Zellen zu schonen schreibt der Tacho immer wieder in andere Bereiche aber in einem festgelegten bereich. Weißt du wie ich meine? D.h. wenn der Tacho die genannten 14436 Meilen da drinne hat, wird dieser Wert irgendwo verteilt in den Zeilen stehen und der Tacho weiß wo er auslesen muss um den korekten Wert zu erhalten.

Takeshi

Dass der da drin steht, ist ja gut möglich, da die Daten um einiges länger sind als das, was du für den Kilometerstand brauchst. Wenn der Kilometerstand bis zu 1.000.000 km in Metern gespeichert werden soll, dann brauchst du dafür 30 Bit. Mit acht HEX-Zeichen hast du das also schon. Sprich "D1 02 2E FD" könnte schon der Kilometerstand sein und stünde dann für 3.506.581,245 km, wenn der Wert direkt als Zahl gespeichert wird. Glaube ich nicht, soll aber nur demonstrieren, dass du 40x so viele Daten hast, wie man bräuchte, um die Information zu speichern.