Index

Informatische Grundlagen der ITG

3. Ein Viewer für alle Fälle


Computerprogramme speichern die Daten, die der Benutzer erzeugt, üblicherweise in Dateien. Dabei werden die verschiedenen Sorten von Dateien durch unterschiedliche Erweiterungen der Dateinamen voneinander unterschieden: So erzeugt WORD normalerweise Dateien mit der Endung ".doc" während ein Malprogramm wie z.B. Paint Dateien mit der Endung ".bmp" schreibt. Was unterscheidet nun eine DOC-Datei von einer BMP-Datei? Und in welcher Form sind die Daten (also die Informationen, die der Benutzer speichern will) eigentlich in der Datei enthalten? Zur Beantwortung dieser Fragen müssen wir in verschiedene Dateien "hineinschauen".

Vom technischen Standpunkt aus gesehen sind alle Dateien nichts weiter als Folgen von Byte-Werten. Mit einem speziellen Programm, nämlich einem Hex-Editor, kann man solche Byte-Folgen auf dem Bildschirm darstellen. Dabei werden die gelesenen Bytes einfach nebeneinander geschrieben, nach einer bestimmten Anzahl (meist 16 oder 32 Bytes) erfolgt ein Umbruch in die nächste Zeile.

Da wir mit einem Hex-Editor die Werte der einzelnen Bytes einer Datei auch verändern können, ist dies ein sehr gefährliches Werkzeug. Willkürliche Änderungen sind in der Regel destruktiv, und oft wird die Datei dadurch komplett unbrauchbar. Speziell beim Abspeichern einer mit dem Hex-Editor geänderten Datei sollte man sich also sehr genau überlegen, was man tut. Eine gute Regel ist es, solche Dateien stets unter einem geänderten Dateinamen zu speichern, so dass in jedem Fall das Original erhalten bleibt.

Als erstes wollen wir uns den Inhalt einer sogenannten "ausführbaren Datei" anschauen, einer Datei also, die ein Programm enthält. Lädt man eine solche Datei wie z.B. "edlin.exe" (ein zum Windows-Betriebssystem gehörendes Programm) in den Hex-Editor, dann kann man etwa das nebenstehende Bild erhalten.
Die Bytes der Datei sind in dem großen rechten Fenster in Zeilen zu je 16 Stück aufgelistet, in der Spalte links daneben sind laufende Nummern des jeweils ersten Byte einer Zeile vermerkt, - natürlich auch wieder im Hex-Format.
Insgesamt ist das Ergebnis aber einigermaßen frustrierend: Nach diversen Bytes mit verschiedenen Werten am Anfang scheinen zunächst nur noch "Null-Bytes" zu folgen. Es ist recht unwahrscheinlich, dass hier allzu viel Informationen versteckt sind.
HexEdit mit edlin.exe, Anfang
HexEdit mit edlin.exe, Mitte
Erst wenn wir weiter nach unten blättern, wird's wieder interessanter. Das nebenstehende Bild zeigt einen Abschnitt aus der Mitte der Datei. Man erkennt eine recht abwechslungsreiche Folge verschiedener Bytewerte, von der wir annehmen dürfen, dass sie eine Menge Informationen transportiert. Welche Informationen das allerdings sind, bleibt für uns unverständlich: EXE-Dateien enthalten keine User-Daten, sondern Programme, also Folgen von Prozessor-Befehlen, die für die meisten Benutzer völlig kryptisch sind.
Wenn wir das Fenster des Hex-Editors etwas breiter machen, dann erscheint neben dem Bereich mit den Byte-Folgen ein weiterer Bereich, in dem eine andere Interpretation des Datei-Inhalts dargestellt wird. Diese besteht zum großen Teil aus Punkten, dazwischen stehen aber auch eine Menge von Text-Zeichen. Scheinbar bemüht sich der Hex-Editor, den Datei-Inhalt als Text darzustellen, offensichtlich aber ohne großen Erfolg: Es ist kein einziges sinnvolles Wort erkennbar:
HexEdit mit edlin.exe, mit Text-Darstellung

Übungen:

  1. Suchen Sie auf Ihrem Rechner die Datei "edlin.exe" und prüfen Sie die oben ermittelten Eigenschaften nach. Wie lassen sich eventuell gefundene Unterschiede erklären?

  2. Laden Sie eine andere EXE-Datei in den Hex-Editor und suchen Sie nach Gemeinsamkeiten mit der oben untersuchten Datei "edlin.exe". Untersuchen Sie dazu speziell den Dateianfang. Worin scheinen alle EXE-Dateien übereinzustimmen?
    Das Programm "HexEdit" erlaubt es Ihnen, mehrere Dateien parallel in verschiedenen Fenstern darzustellen. Machen Sie davon Gebrauch!

[Index]


Autor: Roland Mechling
Überarbeitet: Jürgen Dehmer
Letzte Änderung: 09.10.2004