Reverse Engineering
Was macht man, wenn die Lichter brennen und noch eine Aufgabe ansteht, die vor dem Beginn des Neuen Jahres gelöst werden sollte? Da ist ein Gerät, ein kleines Refraktometer, das mir doppelt lieb ist, weil es von einer Firma ist, die wunderbare Sensoren zu erschwinglichen Preisen herstellt und deren Namen, Hanna, an die geliebte Enkeltochter meiner Angebeteten erinnert, die genauso heißt. Das Gerät ist eine wunderbare Arbeit, mit einer einfachen Optik und zwei Leiterplatten. Die eine bedient den Sensor, der eine etwa zwei Zentimeter lange Diodenzeile ist, die andere ist der Datenverarbeitung und der Darstellung der Ergebnisse vorbehalten. Zum Glück sind die Schaltkreise gekennzeichnet und man erkennt als Herzstück einen Mikrorechner, der seine Ergebnisse an einen LCD Controller sendet. Das erfolgt über den sog. I2C Bus, und auf der Platine laden ein paar herausgeführte Lötaugen dazu ein, ein paar Drähte anzulöten.
Was der Mikroprozessor zu sagen hat, ist mit einem Arduino schnell abgelauscht, aber es sind kryptische Zeichen, die da gesendet werden. Die Temperaturwerte sind schnell ausgemacht, doch wo sind die eigentlichen Messwerte, die Konzentration in %Brix? Ich suche und suche und bin schon schier am Verzweifeln, bis mir ein paar Bytes auffallen, die so ziemlich gleich zu Anfang gesendet werden. Ich experimentiere etwas mit Schneewasser und einem Salzstreuer und kann verschiedene %Brix Werte erzeugen, aber die rätselhaften Bytes wollen sich nicht erschließen.
Ich schreibe ein kleines Testprogramm, wo die rätselhaften Bytes eingetragen werden und man manuell die zugehörigen Messwerte eintragen kann. So entsteht eine Tabelle, die ich in Excel lade. Excel ist ja nicht nur ein Hausfrauenprogramm, sondern kann auch die Bytes in Bitmuster übersetzen, und da erkenne ich erst die drei, dann eine sieben und schließlich komme ich hinter den Code für alle Ziffern. Es sind ja nur drei Stellen, die herauszufinden sind, und da sie zum Teil auf verschiedene Bytes verteilt sind, ist man ohne die Bitdarstellung verloren. Nach kurzer Zeit ist der Code geknackt und es kann an die Ausarbeitung des Programms gehen, das diese Dekodierung natürlich automatisch ausführen soll.
Das ist nur eine Frage von ein paar Stunden, und schon erscheinen die dekodierten Werte auf dem Monitor. Da haben sie im Land der unbegrenzten Möglichkeiten wirklich ein sehr schönes Gerät gebaut.
Christian Rempel in Zeuthen, den 25.12.2017