Copyright: © Stefan Fleischmann 1995-1999


Inhalt
WinHex 8.41

Allgemeines

Über »WinHex«	Registrierung

Werkzeug Hex-Editor

Ganzzahlige Datentypen	Gleitkomma-Datentypen

ANSI-/IBM-ASCII	Prüfsummen

Technische Hinweise	Rechtliche Hinweise

Arbeiten mit dem Hex-Editor

Allgemeine Optionen

Zeichen eingeben	Editier-Modi	Statusleiste

Arbeitserleichterungen	Routinen

Disk-Editor	RAM-Editor

Menüreferenz

Datei-Menü	Bearbeiten-Menü

Suchen-Menü	Position-Menü

Fenster-Menü	Extra-Menü

Optionen-Menü	Dateimanager

Hilfe-Menü	Kontextmenü	Menüschalter

Extras

Konvertierungen	Daten modifizieren

Daten-Dolmetscher	Positions-Manager

Routinen-Manager	Sicherungs-Manager


Über »WinHex«
WinHex 8.41

Autor: Stefan Fleischmann

Programmiert und weiterentwickelt seit 1995, letzte Aktualisierung im Mai 1999.

Unterstützte Betriebssysteme:

• Windows 95/98

• Windows NT 4.0

Homepage: http://www.muenster.de/~sf oder http://move.to/sf (indirekter Link)

Die jeweils neueste Version dieses Programms finden Sie dort.

Wertung der ZDNet Software-Library: 5 von 5 Punkten!

Zu den registrierten Benutzern gehören Universitäts- und sonstige Forschungseinrichtungen (z. B. das Institut für Informatik der Technischen Universität München und das Oak Ridge National Laboratory in Tennessee, USA) sowie Unternehmen aus den verschiedensten Branchen (z. B. Toshiba Europe, DePfa Deutsche Pfandbriefbank AG, ADS - Data Recovery Experts).

Die Algorithmen Pukall Cipher 1 (PC 1) und Pukall Stream Cipher Hash Function wurden von Alexandre Pukall entwickelt. Quellcode erhältlich unter http://www.esiee.fr/~geoffrvi/pukall.htm.


Werkzeug Hex-Editor

Ein Hexadezimal-Editor ist in der Lage, den Inhalt einer Datei jedes Typs vollständig anzuzeigen. Im Gegensatz zu einem Text-Editor kann er alle Bytes einer Datei darstellen, auch Steuerzeichen (für Zeilenumbruch, Tabulator usw.) und Programmcode, und zwar unter Angabe einer zweistelligen Zahl des Hexadezimalsystems (16er-System).

Ein Byte ist eine Kombination aus 8 Bits. Jedes Bit enthält entweder eine 0 oder eine 1, hat also einen von zwei möglichen Zuständen. Ein Byte kann daher einen von 2 hoch 8 (=256) verschiedenen Werten annehmen. Da 256 das Quadrat von 16 ist, kann jedes Byte durch eine zweistellige Zahl aus dem Hexadezimalsystem repräsentiert werden. Jede der beiden Stellen steht für eine Tetrade (auch: ein Nibble) eines Bytes, d. h. 4 Bits. Die möglichen Ziffern dabei sind 0-9 und A-F. Durch Änderung dieser Ziffern kann man einem Byte einem neuen Wert zuweisen.

Genauso ist es möglich, die Zeichen zu editieren, die jedem Byte zugeordnet sind (Textmodus, s. a. »Zeichen eingeben«). Diese Zeichen können z. B. Buchstaben oder Satzzeichen sein. Beispiel: Ein Byte, das den dezimalen Wert 65 hat, wird vom Hex-Editor in der Hexadezimal-Schreibweise mit 41 angeben (4•16+1=65) und in der Zeichenschreibweise mit dem Buchstaben »A«. Die Zuordnung von Zeichen gibt der »Zeichensatz« an.

Entscheidend beim Editieren einer Programmdatei (z. B. EXE-Datei) ist, daß nicht die Länge der Datei (die Anzahl der Bytes, die sie enthält) und damit die relativen Positionen von Programmcode und Daten verändert werden. Dies würde die Ausführbarkeit des Programmcodes beeinträchtigen. Es ist generell zu beachten, daß Änderungen an Dateiinhalten zu anormalen Verhaltensweise der zugehörigen Programme führen können. Für viele Zwecke genügt es, sich auf das Editieren des in einer Datei vorkommenden Textes beschränken. Es ist in jedem Fall ratsam, vor dem Bearbeiten eine Sicherung der Datei anzulegen.

Sie werden feststellen, daß WinHex vor der Benutzung aller entscheidenden Funktionen Sicherheitsabfragen durchführt, die Fehlbedienungen vorbeugen.


Registrierung

Die Registriergebühr hängt davon ab, ob Sie WinHex privat einsetzen oder in einem Unternehmen, einer Behörde oder einer sonstigen Organisation.

Einzelplatzlizenz:	DM 36,- / EUR 18,40 (privat)

DM 49,- / EUR 25,00 (gewerblich/behördlich)

Zusätzliche Lizenzen:	je DM 20,- / EUR 10,20 (privat)

je DM 29,- / EUR 14,80 (gewerblich/behördlich)

Bitte teilen Sie mir schriftlich oder per E-Mail mit, daß Sie sich für »WINHEX 8.41« registrieren lassen möchten, und nennen Sie Ihre Adresse.

• Überweisen Sie die Registriergebühr auf das nachstehende Konto. Wenn Sie von außerhalb Deutschlands überweisen, addieren Sie bitte DM 5 / EUR 2,50 zur Registriergebühr.	oder

• Schicken Sie mir einen (Euro-) Scheck. Wenn Sie mir aus dem Ausland einen Scheck schicken, der kein Euro-Scheck ist, addieren Sie bitte DM 10,- / EUR 5,- zur Registriergebühr.	oder

• Schicken Sie Bargeld (auf eigenes Risiko).

Bitte keine Einschreiben. Firmen, Behörden und Institutionen können gerne bei mir bestellen und eine Rechnung verlangen.

Wenn Sie außerhalb des Geltungsbereiches von Euro-Schecks wohnen und/oder in US-Dollar bezahlen möchten, beachten Sie bitte die englische Anleitung.

Nach Erhalt der Registriergebühr schicke ich Ihnen die im »Registrieren«-Dialog einzugebenden Codes, damit Sie von sämtlichen Shareware-Hinweisen befreit werden, Dateien speichern können, die größer als 200 KB sind, mit dem Disk-Editor Sektoren auf Festplatten schreiben und virtuellen Arbeitsspeicher editieren können. Sie können kostenlos auf neuere Versionen von WinHex umsteigen.

Kontonummer: 1208127686

Sparkasse Herford, BLZ: 494 501 20

Stefan Fleischmann

Carl-Diem-Str. 32

D-32257 Bünde

Homepage: http://www.muenster.de/~sf oder http://move.to/sf (indirekter Link)

Bitte besuchen Sie meine Homepage, wenn Sie mir eine E-Mail schreiben oder herausfinden möchten, ob es bereits eine neuere Version dieses Programms gibt.

Vielen Dank für Ihre Registrierung!


Ganzzahlige Datentypen

Format/Typ	Bereich	Beispiel

8 Bit, vorzeichenbehaftet	-128...127 	FF = -1

8 Bit, vorzeichenlos	0...255     	FF = 255

16 Bit, vorzeichenbehaftet	-32.768...32.767	00 80 = -32.768

16 Bit, vorzeichenlos	0...65.535	00 80 = 32.768

32 Bit, vorzeichenbehaftet	-2.147.483.648...2.147.483.647	00 00 00 80 = -2.147.483.648

32 Bit, vorzeichenlos	0...4.294.967.295	00 00 00 80 = 2.147.483.648

64 Bit, vorzeichenbehaftet	-2^63...2^63-1	00 00 00 00 00 00 00 80 = -2^63

Von ganzzahligen numerischen 16-Bit-Werten (Größe: 2 Bytes) ist (außer in Motorola-Systemen) erst das niederwertige, dann das höherwertige Byte gespeichert. Bei 32-Bit-Werten (Größe: 4 Bytes) verhält es sich entsprechend mit den Words (den 2 Bytes großen Bestandteilen).

Wenn beispielsweise in einer Datei die Hex-Werte 10 27 stehen, so entspricht dies als numerischer 16-Bit-Wert der Hexadezimal-Zahl 2710 (was ins Dezimalsystem umgerechnet 10000 bedeutet). Ebenso erscheint die Hexadezimal-Zahl 123 als 23 01. Das Byte mit dem Wert 23 ist das niederwertige (es enthält die Einer- und die 16er-Stelle der Zahl) und kommt daher zuerst.

Eine weitere Besonderheit ist beim Interpretieren von Daten-Bytes als numerische Werte zu beachten: Zahlen, die größer als die Hälfte der Maximalzahl verschiedener Werte eines Zahlentyps sind (8 Bit: 2 hoch 8=256, 16 Bit: 2 hoch 16=65536), können als negative Zahlen übersetzt werden. Der Hex-Wert 8235 (der in einer Datei als 35 82 erscheint, s. o.), kann ins Dezimalsystem zu 33333 umgerechnet werden. Ein Programm, das den 16-Bit-Wert aber vorzeichenbehaftet liest, erhält aber die Zahl "-32203". Diese zweite Möglichkeit ergibt sich, wenn von der Übersetzung als vorzeichenloser Wert die Maximalzahl verschiedener numerischer Werte des Zahlentyps subtrahiert wird (Beispiel: 33333-65536=-32203).

Die Darstellung in der Statusleiste, der Daten-Dolmetscher (der Daten in allen obigen Formaten auf einmal übersetzen kann) und die Funktion »Ganze Zahlen suchen« im Suchen-Menü berücksichtigen diese Besonderheiten automatisch.


Gleitkomma-Datentypen

signifikante

Typ	Bereich	Stellen	Bytes

float (single)	± 1,5e-45..3,4e38	7-8	 	4

real	± 2,9e-39..1,7e38	11-12 	6

double (double)	± 5,0e-324..1,7e308	15-16 	8

long double (extended)	± 3,4e-4932..1,1e4932	19-20 	10

Die Bezeichnungen stammen aus der Programmiersprache C, in Klammern ist die entsprechende Pascal-Bezeichnung angegeben. Der Typ real in nur in Pascal vorhanden.

Die Gleitkommazahlen werden im Computer unter Zuhilfenahme von Zweierpotenzen abgebildet. Gespeichert werden die Mantisse m und der Exponent e aus der Darstellung m × (2 hoch e). Beide Werte enthalten ein Vorzeichen. Die Datentypen unterscheiden sich in ihrem Wertebereich (=der Anzahl der für den Exponenten reservierten Bits) und der Genauigkeit der Werte (=der Anzahl der für die Mantisse reservierten Bits).

Rechenoperationen mit Gleitkommazahlen werden in Intel-Architekturen vom mathematischen Koprozessor ausgeführt während der Hauptprozessor wartet. Der Intel 80x87 rechnet mit einer Genauigkeit von 80 Bit, RISC-Prozessoren häufig mit 64 Bit.

Hexadezimal-Werte in einem Editierfenster können vom Daten-Dolmetscher in alle vier Gleitkomma-Datentypen übersetzt werden.


ANSI-/IBM-ASCII

ANSI-ASCII ist der Zeichensatz, der in Windows-Anwendungen verwendet wird (genormt vom American National Standards Institute). MS-DOS benutzt den IBM-ASCII-Zeichensatz (auch als OEM-Format bezeichnet). Diese Zeichensätze unterscheiden sich in der Zuordnung von Zeichen, deren ASCII-Wert über 127 liegt. Wenn Sie einen Text zum Beispiel mit dem Windows-Notizblock (notepad.exe) schreiben und ihn sich später mit dem Editor von MS-DOS ansehen (edit.com), dann werden Umlaute und Sonderzeichen nicht richtig dargestellt.

Schalten Sie daher die Option »ANSI-Zeichensatz« ab, wenn Sie mit WinHex eine Datei editieren, die zu einem DOS-Programm gehört. Sie sehen dann die in der Datei enthaltenen Texte wie sie auch in diesem Programm erscheinen. Die von ihnen eingegebenen Zeichen werden dann umgekehrt auch richtig in diesem DOS-Programm dargestellt. Wenn Sie hingegen eine typische Windows-Datei bearbeiten (Initialisierungsdateien von Windows-Programmen, Windows-Programmdateien usw.), sollten Sie die Option »ANSI-Zeichensatz« aktivieren.

Mit der Funktion »Konvertieren« im Bearbeiten-Menü können Textdateien von einem Zeichensatz in den anderen konvertiert werden.


Prüfsummen

Eine Prüfsumme ist eine Kennzahl zur möglichst eindeutigen Identifizierung von Daten. Zwei Datensätze mit der gleichen Prüfsumme sind mit hoher Wahrscheinlichkeit exakt (Byte für Byte) gleich. Es kann z. B. sinnvoll sein, die Prüfsumme von Daten vor und nach einer möglicherweisen fehlerbehaften Übertragung zu berechnen. Ist sie in beiden Fällen gleich, dann sind die Daten mit hoher Wahrscheinlichkeit unverändert geblieben. Allerdings können Daten mit bösartiger Absicht so manipuliert werden, daß ihre Prüfsumme trotz Änderung gleich bleibt. Dadurch wird die Manipulation nicht bemerkt. Diese Möglichkeit schließen Digests aus.

Prüfsummen können in WinHex beim Öffnen einer Datei (s. Optionen) und mit der Datenanalyse (im Extra-Menü) berechnet werden. Durch Drücken der Tastenkombination Alt+F2 wird die in der Informationspalte angezeigte Prüfsumme neu berechnet, wenn an einer Datei Änderungen vorgenommen wurden.

Die Standard-Prüfsumme ist die Summe aller Bytes einer Datei auf einem 32-Bit-Akkumulator. Die erweiterte Prüfsumme wird nach einem speziell für WinHex entwickelten Algorithmus berechnet, der sicherer ist. Das drückt sich in einer niedrigeren Wahrscheinlichkeit dafür aus, für zwei verschiedene Dateien durch Zufall dieselbe Prüfsumme zu erhalten.

Beispiel: Wenn in einer Datei durch fehlerhafte Übertragung zwei Bytes verfälscht werden, sich die Abweichungen aber genau ausgleichen (z. B. erstes Byte +1, zweites Byte -1), dann bleibt die Standard-Prüfsumme im Gegensatz zur erweiterten Prüfsumme unverändert.


Technische Hinweise

Platzbedarf im Arbeitsspeicher:	0,5 MB
Speicherbedarf pro Routine:	0,5 KB
Maximalzahl geöffneter Dateien:	750

Maximale Dateigröße:	2 GB

Max. Anz. paralleler Instanzen:	99

Max. Anz. von Routinen:	100

Max. umkehrbare Tastatureingaben:	65535

Verschlüsselungstiefe:	128 Bit

Digest in Sicherungsdateien:	256 Bit

Zeichensätze der Textdarstellung:	ANSI-/IBM-ASCII

Offset-Darstellung:	hexadezimal/dezimal

Unterstützte Auflösungen:	640×480, 800×600, 1024×768, 1152×864 und 1280×1024

• Die Fortschrittsanzeige bei länger andauernden Operation zeigt in Prozent den Anteil des Vorgangs an, der bereits erledigt ist. Bei allen Suchen- und Ersetzen-Operationen zeigt sie jedoch die relative Position in der aktuellen Datei an. Dies entspricht dem bereits erledigten Anteil des Vorgangs, wenn in der gesamten Datei gesucht wird, also die Option »Nur im Block suchen« nicht verwendet wird.

• Zur optimalen Darstellung aller Schriftzeichen in WinHex sollte Ihr Windows-System keine extragroßen Systemschriften benutzen.

• WinHex wurde ausschließlich für Computer im »Little-Endian«-Modus konzipiert. Dies ist der normale Modus von Intel-Prozessoren.

• Such- und Ersetzen-Funktionen laufen generell schneller ab, wenn kein Jokerzeichen verwendet und (bei Text-Suche) nach Groß- und Kleinschreibung unterschieden wird. Außerdem gilt: Je länger die Such-Zeichenfolge, desto schneller die Such-Funktion.

• Beim Suchen mit aktivierter Option »Vorkommen zählen« und beim Ersetzen ohne Bestätigung bieten sich für einen Suchalgorithmus zwei Alternativen für das Verhalten bei Fundstellen an, die in Sonderfällen zu unterschiedlichen Ergebnissen führen. Dies soll anhand eines Beispiels verdeutlicht werden:

In der Zeichenfolge »ananas« wird nach »ana« gesucht; das Vorkommnis beim ersten Zeichen wurde gefunden.

1. Möglichkeit: Ab dem zweiten Zeichen wird wieder nach »ana« gesucht. Beim dritten Zeichen wird dann ein Vorkommnis registriert.

2. Möglichkeit: Die drei mit der Suchzeichenfolge übereinstimmenden Zeichen werden übersprungen. »ana« wird erst wieder ab dem vierten Zeichen gesucht, in »nas« also nicht mehr gefunden.

In WinHex wird der zweiten Alternative gefolgt, da sie für das Zählen von Vorkommen und das Ersetzen ohne Bestätigung meistens sinnvollere Ergebnisse liefert. (Wenn Sie normale Suchvorgänge mit F3 fortsetzen oder Ersetzen mit Bestätigung wählen, wird nach der ersten Methode verfahren.)

• Weitere technische Informationen erhalten Sie auf der WinHex-Homepage unter http://www.muenster.de/~sf.


Rechtliche Hinweise

Für Schäden, die direkt oder indirekt durch Benutzung dieses Programms entstehen, übernimmt der Autor keine Haftung.

Prüfen Sie vor dem Benutzen des Hex-Editors (anhand Urheberrecht, Software-Nutzungsbedingungen u. ä.), ob Sie  das Recht haben, den Inhalt der betreffenden Datei zu verändern! Sofern keine besonderen vertraglichen Bestimmungen vorliegen, bedürfen die Übersetzung, die Bearbeitung, das Arrangement und andere Umarbeitungen eines Computerprogramms nicht der Zustimmung des Urheberrechtsinhabers, wenn sie für eine bestimmungsgemäße Benutzung des Computerprogramms einschließlich Fehlerberichtigung durch jeden zur Verwendung einer Kopie des Programms Berechtigten notwendig sind (gem. UrhG § 69d der BRD).


Allgemeine Optionen

1. Spalte:

• Wenn Sie die Option »WinHex als Standardzuordnung« aktivieren, wird in der Systemregistrierung der Schlüssel »HKEY_CLASSES_ROOT\Unknown\shell\Open\Command« angelegt bzw. angepaßt. Sie können dann die Dateien eines nicht registrierten Dateityps durch einen Doppelklick im Explorer mit WinHex öffnen. Bei allen anderen Dateien (selbst ausführbaren Dateien) ist nur die Shift-Taste zusätzlich zu drücken.

• WinHex kann sich im Windows-Kontextmenü eintragen. Das Kontextmenü sehen Sie, wenn Sie im Windows-Explorer oder auf dem Desktop mit der rechten Maustaste ein Objekt anklicken. Wenn Sie die Option nur halb aktivieren, gibt es keinen Kontextmenü-Eintrag für einzelne Dateien.

• Sie können Winhex auf Wunsch mehrfach zugleich ausführen. In der Voreinstellung jedoch wird eine bereits geladene Instanz des Programms aktiviert statt eine neue erzeugt.

• Wenn die Option »Dateidatum und -zeit beibehalten« aktiviert ist, werden Datum und Uhrzeit der letzten Änderung einer Datei beim Speichern auf dem Stand belassen, den die Datei zum Zeitpunkt des Öffnens hatte.

• Schnelles Öffnen von Dateien bewirkt im Standard-Editiermodus, daß temporäre Dateien dynamisch und erst bei Bedarf angelegt werden. Auf die anderen Editier-Modi hat diese Einstellung keinen Einfluß.

• Geben Sie an, wie lang die Liste der zuletzt geöffneten Dateien am Ende des Dateimenüs sein soll.

• Entscheiden Sie, ob das Betätigen der »Enter«-Taste Hex-Werte in die zu editierende Datei schreiben soll. In der Voreinstellung sind dies 0x0D0A (=Zeilenende-Zeichen). Sie können bis zu vier zweistellige Hex-Werte angeben.

• Auf Wunsch können Sie mit der Tabulator-Taste auf Ihrer Tastatur das Tabulator-Zeichen erzeugen (0x09). Um dann vom Hexadezimal-Modus in den Text-Modus und umgekehrt zu wechseln, müssen Sie die Tabulator-Taste zusammen mit der Umschalt-Taste drücken oder den Menü-Knopf [image] betätigen.

2. Spalte:

• Ändern Sie wenn nötig den Ordner, in dem die temporären Dateien angelegt werden. Voreingestellt ist der Ordner, den die Umgebungsvariablen »TEMP« Ihres Systems definiert.

• Ebenfalls wählen können Sie den Ordner, in dem die Sicherungsdateien angelegt werden. Normalerweise ist er identisch mit  dem für temporäre Dateien.

• Geben Sie den Pfad und den Dateinamen eines Texteditors oder Textverarbeitungsprogramms ein. Die von WinHex erstellten Berichte über Dateivergleiche können Sie dann mit diesem Programm einsehen. Der Windows-Editor notepad.exe kann nur Textdateien bis zu einer Größe von 64 KB anzeigen.

• Bestimmen Sie, ob die Offsets (Byte-Adressen) in dezimaler oder hexadezimaler Schreibweise angegeben und zur Eingabe verlangt werden. Diese Einstellung gilt für den gesamten Umfang des Programms.

• Auf Wunsch können beim Benutzen des RAM-Editors anstelle von Null-basierten Offsets virtuelle Adressen angezeigt werden. Dies geschieht grundsätzlich in hexadezimaler Schreibweise. Im Dialogfenster der Funktion »Offset aufsuchen« sind dann auch virtuelle Adressen einzugeben.

3. Spalte:

• »0x01-0x1F als Punkt darstellen« bewirkt, daß im ANSI-ASCII-Zeichensatz Hex-Werte aus dem Bereich von 01 bis 1F ebenso wie der Wert 00 als Punkt [.] in der Textdarstellung angezeigt werden.

• Sofern die Option »Icons anzeigen« aktiviert ist, werden ab einer Bildschirmauflösung von 800×600 die in der aktuellen Datei enthalten Windows-Icons unterhalb der Informationsspalte angezeigt. Je nach Anzahl der zu ladenden Icons nimmt das Öffnen von Dateien mehr Zeit und Arbeitsspeicher in Anspruch. Enthält eine Datei keine Icons, so wird das dem Dateityp zugeordnete Icon dargestellt, es sei denn, die Option ist nur »halb« markiert

• Bei aktivierter Option »Windows-Standardfarben benutzen« wird das Editorfenster in den Farben angezeigt, die in der Windows-Systemsteuerung eingestellt sind. Andernfalls werden die Standardfarben von WinHex verwendet.

• Bei aktivierter Option »Windows-Fortschrittsanzeige« wird während lang dauernden Vorgängen die Windows-typische anstatt der WinHex-eigenen Fortschrittsanzeige verwendet.

• Die Option »Sound in Meldungsfenstern« bestimmt, ob beim Anzeigen von Meldungsfenstern die in der Windows-Systemsteuerung festgelegten Klänge abgespielt werden.

• Normalerweise stellt WinHex einen »Schatten« des Cursors in der nicht benutzten Hälfte des Fensters dar. Im Text-Modus befindet er sich auf der Hexadezimal-Hälfte, im Hex-Modus auf der Text-Hälfte. Es stehen zwei Arten von Schatten zur Verfügung.

• Wählen Sie eine Schriftart für die Darstellung im ANSI-ASCII-Format aus. Sehr große Schriftarten werden nicht unterstützt. Das Verwenden der WinHex-Schriftart stellt sicher, daß auch Sonderzeichen in der Textdarstellung angezeigt werden (z. B. das TM-Symbol und echte Anführungszeichen).

• Sie haben die Möglichkeit, die Hintergrundfarbe des Blocks zu bestimmen, wenn die Option »Windows-Standardfarben benutzen« nicht aktiviert ist.

• Bestimmen Sie außerdem das Aussehen der Dialog- und Meldungsfenster in WinHex. Sie haben die Wahl zwischen drei verschiedenen Stilen.

Die Voreinstellungen sämtlicher Optionen können durch Benutzen der Funktion »Initialisieren« im Hilfe-Menü wiederhergestellt werden.


Zeichen eingeben

Mit der Tastatur lassen sich im Hex-Modus nur Hexadezimal-Zeichen eingeben ('0' bis '9' und 'A' bis 'F').

Im Text-Modus lassen sich dagegen alle Zeichen eingeben: Buchstaben, Zahlen, Satzzeichen und auch Sonderzeichen (wie '»', ']' und '^'). Durch Benutzen des Windows-Programms »Zeichentabelle« kann man herausfinden, durch welche Tastenkombinationen evtl. erwünschte Sonderzeichen zu erzeugen sind (z. B. Alt-1-7-5 für '»').


Editier-Modi

Standard-Editiermodus: Im voreingestellten Standard-Editiermodus werden Änderungen, die Sie an einer geöffneten Datei vornehmen, in einer temporären Datei gespeichert. Entweder diese wird dynamisch verwaltet oder bereits beim Öffnen der Originaldatei erzeugt (s. Option »Schnelles Öffnen von Dateien«). Beim Speichern werden die Änderungen dann in die Originaldatei übertragen.

View-Modus: Dateien, die im View-Modus geöffnet werden, können nicht editiert, sondern nur eingesehen werden. Dies entspricht der Möglichkeit in anderen Programmen, Dateien »schreibgeschützt« zu öffnen.

In-Place-Modus: Verwenden Sie diesen Modus mit Vorsicht. Sämtliche Änderungen (Tastatureingaben, Füllen/Entfernen des Blocks, Schreiben des Zwischenspeichers, Ersetzen-Vorgänge, ...) werden direkt in die Originaldatei (»in-place«) geschrieben. Dies geschieht dynamisch, spätestens aber, wenn das Editierfenster geschlossen wird. Es ist daher nicht erforderlich, den Menüpunkt »Speichern« im Dateimenü aufzurufen, es sei denn, Sie möchten sicherstellen, daß alle Änderungen zu einem bestimmten Zeitpunkt geschrieben werden, wenn das Editierfenster noch geöffnet ist.

Dieser Modus empfiehlt sich, wenn das im Standard-Editiermodus obligate Übertragen von Daten aus der Originaldatei in die Temporärdatei und umgekehrt zu zeitaufwendig wäre und zuviel Festplattenspeicherplatz verbräuchte. Dies kann z. B. dann der Fall sein, wenn in großen Dateien viele Änderungen vorgenommen werden sollen. Da im In-Place-Modus keine Daten in temporären Dateien gespeichert werden, ist dieser Editiermodus generell schneller als der Standard-Editiermodus. Der In-Place-Modus ist der einzige Modus, in dem der RAM-Editor benutzt werden kann.

Hinweis: Auch im In-Place-Modus muß eine temporäre Datei angelegt werden, wenn die Größe der Originaldatei verändert wird.


Statusleiste

Die Statusleiste zeigt beim Einsehen einer Datei folgende Informationen an:

1. Feld: aktuelle Seite und Anzahl der Seiten, auf denen die aktuelle Datei dargestellt wird

2. Feld: Cursorposition (Offset in der Datei)

3. Feld: ins Dezimalsystem übersetzte Hex-Werte an der Cursorposition

4. Feld: Blockanfang und -ende (falls festgelegt)

5. Feld: Größe des Blocks in Byte (dto.)

Durch einen Klick der linken Maustaste läßt sich...

• im 1. Feld eine andere Seite aufschlagen,

• im 2. Feld den Cursor zu einem bestimmten Offset bewegen,

• im 3. Feld das Format festlegen, in dem die Hex-Werte als Zahlen des Dezimalsystems interpretiert werden, und

• im 4. und 5. Feld den Block neu definieren.

Klicken Sie mit der rechten Maustaste, um in einem Feld der Statusleiste angezeigte Informationen in die Zwischenablage zu kopieren.


Arbeitserleichterungen

• Linke Maustaste	Blockanfang festlegen (standardmäßig mit einem Doppelklick, s. a. unter Optionen)

• Rechte Maustaste	Blockende festlegen

• Rechte Maustaste	Blockmarkierung aufheben (Doppelklick)
• Shift+Pfeiltasten	Block markieren

• Tabulatortaste 	zwischen Text- und Hexmodus umschalten, entspricht

• Strg+L	alle Fenster schließen

• (Strg+)Enter	Fenster-Manager aufrufen

• Strg+Shift+C	kopiert im Hexadezimal-Format in die Zwischenablage

• ESC	Vorgang abbrechen bzw. Blockauswahl aufheben

• F11	»Offset aufsuchen« wiederholen

• (Shift+)Alt+F11	»Block verschieben« wiederholen

• Alt+F2	Prüfsumme neu berechnen

• Schalten Sie die ersten beiden Optionen ein.

• WinHex akzeptiert Dateinamen als Startparameter und öffnet Dateien, die per Drag&Drop (mit der Maus) in das Programmfenster gezogen werden.

• Der Einsatz von Routinen kann Ihr Arbeiten mit WinHex effizienter machen.

• Als Parameter wird auch die Nummer einer Routine akzeptiert (s. dort).

• Man kann in eine Datei eine definierte Anzahl Bytes einfügen (also die Datei vergrößern), indem man in der gewünschten Größe Zwischenspeicher erzeugt und ihn dann einfügt (dies geschieht an der aktuellen Cursor-Position), s. Bearbeiten-Menü.

• Die Offset-Schreibweise (dezimal oder hexadezimal) läßt sich durch einen Mausklick auf die Offsetdarstellung im Editorfenster umstellen. Die dezimale Schreibweise ist mit oder ohne führende Nullen verfügbar (Mausklick rechts).

• Bei einer Bildschirmauflösung von mind. 800×600 und maximiertem Rahmenfenster kann man mit der Maus die untere Begrenzung der Statusleiste und der Informationsspalte nach oben und unten ziehen. Damit läßt sich die Anzahl der Zeilen im Editorfenster (wie mit [image] [image]) bzw. die Länge der Informationsspalte festlegen.

• Durch einen Mausklick unter die Informationsspalte rechts im Editorfenster (ab Auslösung 800×600) kann das Optionen-Dialogfenster aufgerufen werden.


Routinen

Wenn Sie in bestimmten Dateien häufig dieselben Änderungen durchführen, können Sie versuchen, diesen Vorgang kann unter Einsatz einer Routine zu automatisieren. WinHex vermag bis zu 100 Routinen zu verwalten. Die entworfenen Routinen werden bei Programmende in der Datei Routines.dat gespeichert. Im Routinen-Manager können Sie Routinen entwerfen und bearbeiten.

1. Um eine Routine zu entwerfen, müssen Sie zuerst festlegen, welche Datei(en) bearbeitet werden soll(en). Entweder die Routine bezieht sich auf die zum Zeitpunkt der Ausführung im Editorfenster dargestellte Datei, auf sämtliche in WinHex geöffneten Dateien oder auf eine feststehende, mit Dateinamen und Pfad angegebene Datei. An Dateien, die im View-Modus geöffnet wurden, kann eine Routine nicht ausgeführt werden.

2. Wenn Sie an bestimmten Stellen der Datei einzelne Bytes auf einen festen Wert setzen wollen, so tragen Sie jeweils den Offset und den Wert, den das Byte annehmen soll, in die dafür vorgesehenen Editierfelder ein. Es können bis zu fünf Bytes direkt adressiert und geändert werden Der neue Byte-Wert muß in hexadezimaler Form eingegeben werden.

3. Wenn Sie Text oder Hex-Werten ersetzen möchten (dies ist hier nur ohne Bestätigung möglich), so aktivieren Sie den entsprechenden Schalter. Tragen Sie die Zeichenfolge, die gesucht werden soll, und ihren Ersatz ein. Sie können einen durch Offsets definierten Bereich in der Datei angeben, auf den der Vorgang beschränkt werden soll. Geben Sie auf Wunsch einen Joker an und aktivieren Sie ggf. die Optionen »Groß- und Kleinschreibung beachten« sowie »Nur ganze Wörter ersetzen« (s. Optionen des Ersetzens).

4. Legen Sie fest, ob zu Beginn und am Ende der Ausführung Hinweise erscheinen sollen. Warnungen und Fehlermeldungen werden ungeachtet dessen auf jeden Fall angezeigt. Eine weitere Option ist die automatische Speicherung der bearbeiteten Dateien nach Beendigung der Routine.

Außerdem können Sie eine Folgeroutine angeben, die direkt im Anschluß ausgeführt werden soll. Wenn diese sich auf dieselbe Datei beziehen soll, können Sie als zu bearbeitende Datei »Aktuelle Datei« angeben. Die Folgeroutine einer auf alle geöffneten Dateien einwirkenden Routine aber kann sich nicht auf eine »aktuelle« Datei beziehen, da sonst unklar ist, welche Datei gemeint ist. Es ist möglich, mehrere Routinen verketten. Wenn sich jedoch Routinen wechselseitig aufrufen, gerät das Programm in eine Endlosschleife!

Als letztes geben Sie der Routine eine aussagekräftigen Bezeichnung.

Tips:

• WinHex bietet die Möglichkeit, zuvor erstellte Routinen (ggf. jeweils mitsamt Folgeroutinen) automatisch bei Programmstart auszuführen. Übergeben Sie einfach die Nummer der Routine als Parameter in der Kommandozeile (z. B. »winhex 4«). Wenn die genannte Routine existiert, lädt WinHex die in der Routine angegebene Datei, führt die Änderungen durch und speichert sie, falls die entsprechende Option gewählt wurde.

• Wenn vor dem Aufruf einer Routine über die Kommandozeile bereits Dateien in WinHex geöffnet wurden, können diese von der Routine bearbeitet werden, sofern sie sich auf »alle geöffneten Dateien« bezieht. Entweder WinHex läuft bereits mit geöffneten Dateien oder diese werden vor der Nummer der Routine angegeben.

• Wenn Sie mehrere Routinen, die sich auf geöffnete Dateien beziehen, nacheinander ausführen und die Änderungen sofort speichern lassen möchten, muß nur in der zuletzt ausgeführten Routine die Option »Änderungen automatisch speichern« gewählt sein.

• Wird als letzter Parameter »auto« übergeben, dann beendet sich WinHex automatisch.

Beispiel:

Der Aufruf »winhex c:\datei1.dat 1 d:\datei2.dat 4 auto« bewirkt folgendes: Erst wird die Datei c:\datei1.dat geöffnet und dann die Routine Nr. 1 auf diese Datei angewandt. Anschließend wird zusätzlich die Datei d:\datei2.dat geöffnet und die Routine Nr. 4 an beiden Dateien ausgeführt. Am Ende wird WinHex geschlossen. Damit der genannte Aufruf die gewünschten Resultate erzielt, müssen sich beide Routinen auf »alle geöffneten Dateien« beziehen. Die zweite ist auf automatische Speicherung einzustellen.


Disk-Editor

Im Extra-Menü finden Sie die Funktion »Disk-Editor«. Der Disk-Editor ermöglicht es, den Inhalt einer Diskette oder Festplatte ohne Rücksicht auf die Dateistruktur direkt einzusehen. Dazu wird auf jeder Seite genau ein Sektor dargestellt. Wählen Sie zunächst aus einer Liste mit den auf Ihrem System installierten Laufwerken einen Datenträger aus. Sie können auf einen Datenträger logisch (vom Betriebssystem gesteuert) oder physisch (vom BIOS gesteuert) zugreifen.

Bitte beachten Sie die folgenden Einschränkungen bzw. Voraussetzungen:

• Der Disk-Editor ist für eine Sektorgröße von 512 Bytes konzipiert.
• Damit ein Sektor vollständig auf eine Seite paßt, sollte das Editorfenster mind. 32 Zeilen lang sein (512 Bytes/16 Spalten). Die Bildschirmauflösung muß dazu mind. 800×600 betragen.

• Physisch sind Datenträger unter Windows 9x nur bis 7,8 GB zugreifbar.

• Um unter Windows NT auf Festplatten zugreifen zu können, sind die entsprechenden Rechte erforderlich.

• Die Ersetzen-Funktionen sind nicht verfügbar.

• Nur Windows NT gestattet Ihnen, Sektoren einer CD-ROM einzusehen.

• WinHex wurde für eine Sektorgröße von 512 Bytes konzipiert. CD-ROM-Sektoren (2048 Bytes) sind nicht vollständig auf einer Seite sichtbar. Sie können solche Sektoren aber in die Zwischenablage kopieren und in eine neue Datei einfügen, um sie ganz einzusehen.

Beachten Sie bitte die Option »Alleinige Datenträgerkontrolle«.

Unbenutzten Speicher des Datenträgers editieren (Windows 95/98)

Unter Windows 95/98 ist es möglich, den freien Speicher eines logischen Datenträgers einzusehen oder zu editieren. Dabei entfallen die o. g. Einschränkungen. Es wird eine Datei angelegt, die den gesamten freien Speicher auf dem gewählten Datenträger belegt (jedoch max. 2 GB). In dieser Datei können Sie nun im In-Place-Editiermodus Änderungen vornehmen. Dies kann die Integrität der Daten in benutzten Bereich des Datenträgers nicht beeinflussen.

Anwendungsbeispiele unter Windows 95/98:

• Sie können mit Hilfe dieser Funktion versehentlich gelöschte Daten, die noch nicht von neuen Dateien überschrieben worden sind, wiederherstellen, z. B. indem Sie sie erst suchen, dann als Block markieren und kopieren.

• Ebenso ist die Funktion nützlich, um den unbenutzten Speicher eines Datenträgers aus Sicherheitsgründen mit Nullen zu überschreiben. Grund: Vertrauliche Informationen könnten durch normale Lösch- und Kopiervorgänge in momentan unbenutzten Bereichen des Datenträgers liegen. Füllen Sie den Bereich zu diesem Zweck einfach mit dem Hex-Wert 00.

Unbenutzten Speicher des Datenträgers initialisieren (Windows NT)

Unter Windows NT kann mit dieser Funktion der unbenutzte Speicher (jedoch max. 2 GB) eines Datenträgers (z. B. aus Sicherheitsgründen) mit Nullen initialisiert werden. Dies verhindert die Wiederherstellung von Daten aus diesem Bereich des Datenträgers.

Anmerkung: Daten aus Dateien, die mit der Funktion »Sicheres Löschen« von WinHex gelöscht wurden, befinden sich natürlich nicht mehr in unbenutzten Bereichen des Datenträgers.

Sektor schreiben: Wählen Sie diesen Menüeintrag, um den auf dem Bildschirm dargestellten Sektor mit allen von Ihnen vorgenommenen Änderungen auf den Datenträger zu schreiben. Bitte beachten Sie, daß Sie damit einen äußerst kritischen Eingriff in die Integrität des Datenträgers vornehmen.

Die Funktion ist für Festplatten nur in der registrierten Version verfügbar. In der unregistrierten Version können Sie nur testen lassen, ob WinHex den Sektor in der registrierten Version erfolgreich schreiben könnte.

Bitte beachten Sie die Hinweise zu dieser Funktion am Ende der Beschreibung der Rückgängig-Optionen.


Datei-Menü

Neu: Hier können Sie eine neue Datei anlegen, deren Inhalt mit Null-Bytes initialisiert wird. Es ist die gewünschte Größe der Datei in Bytes anzugeben (>0). Die neue Datei wird prinzipiell im Standard-Editiermodus geöffnet.

Öffnen: In einem Dateiauswahlfenster markieren Sie eine oder mehrere Dateien, die Sie mit dem Hex-Editor einsehen oder bearbeiten möchten. Sofern Sie WinHex nicht schon im Extra-Menü als Viewer oder In-Place-Editor eingestellt haben, können Sie einen der drei Editier-Modi zum Öffnen der Datei(en) wählen.

Speichern: Hier speichern Sie ein zuvor geöffnete Datei mit allen von Ihnen vorgenommenen Änderungen, nachdem Sie eine Sicherheitsabfrage mit »Ja« beantwortet haben. Im In-Place-Editiermodus ist das Speichern bedeutungslos.

Speichern unter: Speichert eine Datei unter einem neuen Namen oder in einem anderen Ordner. Existiert bereits eine Datei mit diesem Namen, so werden Sie gefragt, ob die vorhandene Datei überschrieben werden soll.

Sicherung anlegen

Sicherung laden: Wählen Sie eine Sicherungsdatei (=WHX-Datei) aus, deren Inhalt (eine Datei oder Datenträger-Sektoren) Sie wiederherstellen möchten. Wenn Sie Sektoren auf ein anderes Laufwerk als das ursprüngliche wiederherstellen möchten (z. B. weil sich der Laufwerksbuchstabe geändert hat), halten Sie die Shift-Taste beim Verlassen des Dateiauswahldialogs gedrückt. Sie können dann den Zieldatenträger frei auswählen und auch die Nummer des Zielsektors ändern.

Sicherungs-Manager

Ausführen: Führt die aktuell dargestellte Datei mit allen evtl. vorgenommenen Änderungen aus. Es muß sich entweder um eine unter DOS oder Windows ausführbare EXE- oder COM-Datei handeln oder der Dateityp muß unter Windows mit einer Anwendung verknüpft worden sein. Dann wird dieses Programm gestartet und die aktuelle Datei geladen. Sie können mit dieser Funktion z. B. überprüfen, ob die vorgenommenen Änderungen in einer Programmdatei ihre Ausführbarkeit beeinträchtigt haben.

Drucken

Eigenschaften: Hier können die Größe, Datum und Uhrzeit der Erzeugung, der letzten Änderung und des letzten Zugriffs sowie Attribute (A: zu archivierend, S: System, H: versteckt, R: schreibgeschützt) einer Datei eingesehen und editiert werden. Nach Eingabe neuer Werte in einem der drei Bereiche betätigen Sie die Enter-Taste, damit die Änderungen in Kraft treten.

Ordner öffnen [-]: Wählen Sie einen Ordner aus, dessen Dateien Sie öffnen möchten. Sie können einen Dateifilter verwenden (z. B. »w*.exe«) und einen Editiermodus auswählen, wenn Sie WinHex nicht schon im Extra-Menü als Viewer oder In-Place-Editor eingestellt haben.

Ordner öffnen [+]: Wenn Sie mit dieser Funktion einen Ordner auswählen, werden all die Dateien geöffnet, die in diesem und in untergeordneten Ordnern enthalten sind und dem angegebenen Dateifilter entsprechen.

Geänderte speichern: All die von WinHex geöffneten Dateien, an denen Änderungen vorgenommen wurden, werden mit ihrem aktuellen Inhalt gespeichert. Es erfolgen keine weitere Sicherheitsabfragen. Daher ist diese Funktion »mit Vorsicht zu genießen«.

Alle speichern: Sämtliche von WinHex nicht im View-Modus geöffneten Dateien werden mit ihrem aktuellen Inhalt gespeichert. Es erfolgen keine weitere Sicherheitsabfragen.

Beenden: Hier können Sie WinHex schließen. Sie erhalten noch einmal die Möglichkeit, geänderte Dateien zu speichern.


Bearbeiten-Menü

Rückgängig: Erlaubt Ihnen, Tastatureingaben und die Anwendung sonstiger Funktionen ungeschehen zu machen. Dazu müssen die entsprechenden Optionen aktiviert sein.

Ausschneiden: Bewirkt, daß der aktuelle Block aus der Datei entfernt und in die Zwischenablage kopiert wird. Der dahinter liegende Teil der Datei wird entsprechend vorgezogen.

Block/Alles kopieren: Kopiert den markierten Block bzw. den gesamten Dateiinhalt in die Zwischenablage, so daß er später wieder eingefügt werden kann. Benutzen Sie die Tastenkombination Strg+Shift+C, um die Daten im Hexadezimal-Format in die Zwischenablage zu kopieren.

In neue Datei kopieren: Kopiert den markierten Block bzw. den gesamten Dateiinhalt in die Zwischenablage und legt dann eine neue Datei mit dem Inhalt der Zwischenablage an. Mit dieser Funktion kann man z. B. beliebige Daten von einem Datenträger effizient in Dateien umwandeln.

Zwischenspeicher einfügen: Fügt den Inhalt der Zwischenablage, sofern er in einem kompatiblen Format vorliegt, an der aktuellen Cursorposition ein. Der Teil der Datei, der dahinter liegt, wird hinter die Einfügung versetzt.

Zwischenspeicher schreiben: Überträgt den Inhalt der Zwischenablage an die aktuelle Cursorposition und überschreibt dabei die Bytes der Datei, die dahinter folgen. Falls dabei das Dateiende erreicht wird, wird die Datei so weit wie erforderlich verlängert, damit die Daten Platz finden.

Zwischenspeicher in neue Datei schreiben: Legt eine neue Datei mit dem aktuellen Inhalt der Zwischenablage an.

Zwischenspeicher erzeugen: Belegt einen Teil des Arbeitsspeichers in einer von Ihnen angegebenen Größe als Zwischenspeicher. Damit können Sie z. B. gezielt eine bestimmte Anzahl von Bytes in eine Datei einfügen.

Zwischenspeicher freigeben: Löscht den Inhalt der Zwischenablage gibt den von ihm genutzten Teil des Arbeitsspeichers wieder frei.

Entfernen: Löscht den aktuellen Block aus der Datei. Der hintere Teil der Datei wird dann entsprechend vorgezogen. Der gelöschte Block wird nicht in die Zwischenablage kopiert.

Block festlegen: In einem Dialogfenster kann man die Offsets einstellen, die den Beginn und das Ende des aktuellen Blocks markieren. Der Beginn kann bei gewählter Option »Linke Maustaste setzt Blockanfang« auch durch einen Mausklick links, das Ende grundsätzlich auch durch einen Mausklick rechts festgelegt werden. Diese Funktion ist auch in der Statusleiste zugänglich.

Alles auswählen: Legt den Dateianfang als Blockanfang und das Dateiende als Blockende fest.

Konvertieren

Daten modifizieren

Block/Datei füllen

• mit Hex-Werten: Geben Sie 1-5 jeweils zweistellige Hex-Werte an, die aneinandergehängt in den aktuellen Block bzw. in die Datei kopiert werden.
• zufällig: Geben Sie einen Bereich von 0-255 (dezimal) an, aus dem zufällig jedem einzelnen Byte des aktuellen Blocks bzw. des gesamten Dateiinhalts ein Wert zugeordnet wird.

• chaotisch: Aus einem (zufälligen) Startwert wird nach dem Mixmaster-Algorithmus eine chaotische Zahlenfolge generiert, die in den aktuellen Block bzw. in die ganze Datei kopiert wird. Der Startwert muß mind. eine Nachkommastelle haben und kleiner als 256 sein.


Suchen-Menü

Text suchen: Diese Funktion sucht Vorkommen einer max. 30stelligen Zeichenfolge in der aktuellen Datei (s. a. Suchoptionen).

Hex-Werte suchen: Sucht Vorkommen einer Kombination von max. 30 jeweils zweistelligen Hex-Werten (s. a. Suchoptionen).

Text ersetzen: Diese Funktion ersetzt Vorkommen einer Zeichenfolge in der Datei durch eine andere (s. a. Ersetzen-Optionen).

Hex-Werte ersetzen: Funktioniert genau wie der Befehl »Text ersetzen«, wird aber auf eine Folge von Hex-Werten angewandt (s. a. Ersetzen-Optionen).

Kombinierte Suche: Mit dieser besonderen Funktion können Sie eine komplexe Suche durchführen: In der aktuell angezeigten und einer auf einem Datenträger bestehenden Datei wird ein gemeinsamer Offset gesucht, an dem die beiden Dateien bestimmte Daten enthalten. Wählen Sie zunächst den Hex-Wert, der in aktuellen Datei an der gesuchten Position stehen soll. Geben Sie dann den Namen der zweiten Datei und den in ihr zu suchenden Hex-Wert an. WinHex sucht nun eine Stelle, an der in jeder Datei der jeweilige Hex-Wert steht.

Ganze Zahl suchen: Geben Sie eine natürliche Zahl (in den Grenzen eines vorzeichenbehafteter 32-Bit-Wertes) an. Die Funktion sucht dann diejenigen Bytes in der Datei, die als diese Zahl interpretiert werden könnten. Ist sie fündig geworden, gibt sie den Fundort und die entsprechenden Hex-Werte an und nennt das Format, in dem die Hexadezimal-Werte der eingegebenen Zahl entsprechen (s. a. Suchoptionen).

Gleitkommazahl suchen: Geben Sie eine Dezimalzahl (z. B. 12.34 = 0.1234 * (10 hoch 2) = 0.1234E2) und den Fließkomma-Datentyp an. Die Funktion sucht dann diejenigen Bytes in der Datei, die als diese Zahl interpretiert werden könnten. Ist sie fündig geworden, gibt sie den Fundort und die entsprechenden Hex-Werte an.

Textpassagen suchen: Sucht in der Datei einen Bereich mit aufeinanderfolgenden Buchstaben (a-z, A-Z; äöüß im ANSI-ASCII-Zeichensatz), Ziffern (0-9) und/oder Satz- und Leerzeichen. Diese Funktion erfüllt zum Beispiel dann ihren Zweck, wenn Sie in einer Programmdatei den sporadisch zwischen den Steuerzeichen vorkommenden Text finden möchten.

Regeln Sie, wie »sensibel« WinHex nach Vorkommen von Text sucht, indem Sie angeben, wie lang der Text sein muß, damit er als solcher erkannt wird.

Viele Dateitypen neueren Datums, darunter 32-Bit-Programmdateien, reservieren zwei Bytes für ein Zeichen statt eins (Unicode-Zeichensatz). Die Option »Unicode-Zeichen tolerieren« bedeutet, daß auch alphanumerische ASCII-Zeichen, zwischen denen jeweils ein Byte mit dem Wert Null steht, als Text erkannt werden.

Globale Suche fortsetzen: Setzt einen bereits begonnenen globalen, d.h einen mit Option »In allen geöffneten Dateien suchen«  durchgeführten Suchvorgang, nach Anzeigen einer Fundstelle in der nächsten Datei fort. Soll zunächst in derselben Datei noch weiter gesucht werden, muß die Funktion »Suche fortsetzen« benutzt werden.

Suche fortsetzen: Führt einen bereits begonnenen Suchvorgang, auch nach Vorkommen von Text, aber keinen Ersetzen-Vorgang, von der aktuellen Cursor-Position an fort.


Position-Menü

Offset aufsuchen: Setzt den Cursor auf einen von Ihnen gewünschten Offset, d. h. eine Position in der Datei. Gewöhnlich wird diese relativ zum Anfang der Datei (Offset 0) angegeben. Sie können den Cursor aber auch relativ von der aktuellen Position vorwärts und rückwärts und vom Dateiende aus rückwärts bewegen. Die Maßeinheit ist entweder ein Byte, ein Word (2 Bytes) oder ein DoubleWord (4 Bytes). Verwenden Sie F11, um die gewählte Positionsveränderung zu wiederholen.

Seiten aufsuchen: Schlägt die von Ihnen angegebene Seite auf.

Block verschieben: Verschiebt die aktuelle Block-Markierung (nicht die Daten im Block) nach vorne oder hinten. Geben Sie die Distanz in Byte an. Verwenden Sie Alt+F11, um die gewählte Blockverschiebung zu wiederholen, und Shift+Alt+F11, um in die jeweils umgekehrte Richtung zu verschieben. Diese Funktion kann z. B. beim Editieren einer Datei von Nutzen sein, die aus mehreren gleichartigen Datenfeldern (Records) derselben Länge besteht.

Dateianfang: Zeigt die erste Seite der Datei an und setzt den Cursor auf den Anfang der Datei (Offset 0).

Dateiende: Zeigt die letzte Seite der Datei an und setzt den Cursor auf das Ende der Datei (letztes Byte, Offset=Dateigröße-1).

Blockanfang: Setzt den Cursor auf den aktuellen Blockanfang.

Blockende: Setzt den Cursor auf das aktuellen Blockende.

Position markieren: Markiert die aktuelle Position optisch.

Markierung löschen: Löscht eine zuvor gesetzte Markierung vom Bildschirm.

Markierung aufsuchen: Setzt den Cursor auf die zuvor markierte Position.

Positions-Manager


Fenster-Menü

Fenster-Manager: Listet alle Edtierfenster auf und gibt Ihnen die Möglichkeit, schell zwischen verschiedenen Fenstern zu wechseln. Sie können im Fenster-Manager auch einzelne Fenster schließen und geänderte Dateien speichern.

Alle schließen: Schließt alle geöffneten Fenster und damit alle momentan in WinHex dargestellten Dateien und Datenträger.

Ohne Abfragen schließen: Funktioniert wie »Alle schließen«, ohne Ihnen jedoch die Möglichkeit zu geben, eventuelle Änderungen zu speichern.

Minimieren: Verkleinert alle Editierfenster.

Symbole anordnen: Richtet verkleinert dargestellte Fenster ordentlich am unteren Rand des Rahmenfensters aus.


Extra-Menü

Disk-Editor, Sektor schreiben: s. u. »Disk-Editor«

Umrechnung: Diese Funktion können Sie benutzen, um Zahlen des Hexadezimal-Systems ins Dezimal-System oder umgekehrt zu übersetzen. Nach der Eingabe der Zahl betätigen Sie die ENTER-Taste. Bitte beachten Sie die Hinweise unter »Ganzzahlige Datentypen«.

Rechner: Startet den Windows-Rechner für sonstige Berechnungen. Dazu muß sich die Datei »calc.exe« im Windows-Ordner befinden.

Tabellen: Diese Funktion stellt Ihnen Übersichtstabellen zur Verfügung, in denen Sie zu Hexadezimal-Werten von 0 bis FF die Entsprechungen in Dezimalschreibweise, im ASCII- und im ANSI-Format ablesen können.

Block/Datei analysieren: Die Daten im aktuellen Block bzw. in der gesamten Datei werden statistisch ausgewertet und das Ergebnis in einem Fenster graphisch veranschaulicht. WinHex ermittelt dazu die Häufigkeiten des Vorkommens aller 256 möglichen Bytewerte und bildet sie proportional in vertikalen Linien entsprechender Länge ab. Dabei wird die Höhe des Fensters optimal genutzt, d. h. die längste Linie (die den häufigsten Bytewert repräsentiert) reicht von unten bis zur Titelleiste des Fensters. Unter der Titelleiste können Sie abhängig von der Mauscursor-Position den relativen Anteil und die absolute Anzahl eines jeden Bytewerts ablesen.

Diese Funktion kann z. B. dazu eingesetzt werden, um Datenmaterial unbekannter Art zu analysieren. Audio-Daten, komprimierte Daten, ausführbarer Code u. a. lassen sich an charakteristische Grafiken erkennen. Im Systemmenü des Fensters läßt sich einstellen, ob Bytes mit dem Wert Null unberücksichtigt bleiben sollen. Dies kann in vielen Fällen die Aussagekraft der Grafik stark erhöhen.

Außerdem wird eine Standard-Prüfsumme (Summe aller Bytes) und eine erweiterte, sicherere Prüfsumme angegeben.

Routinen-Manager: s. u. »Routinen-Manager«

Routine ausführen: Läßt sie eine Routine auswählen, die ausgeführt wird. D. h. der in der Routine definierte automatisierte Vorgang wird gestartet. Die angegebene Datei wird wie gewohnt geladen und alle von Ihnen angegebenen Änderungen werden sofort vorgenommen.


Optionen-Menü

Allgemeine Optionen

Sicherheitsoptionen

Rückgängig-Optionen

Daten-Dolmetscher-Optionen

Viewer statt Editor: Wenn Sie WinHex lediglich zum Einsehen von Dateien benutzen möchten, also ohne die Möglichkeit zum Editieren, dann können Sie diese Menüoption aktivieren. Alle Dateien werden dann im View-Modus geöffnet, nur neu angelegte Dateien sind weiterhin editierbar.

In-Place-Editor: Alle Dateien werden im In-Place-Editiermodus geöffnet, d. h. alle Änderungen, die Sie vornehmen, werden sofort auf den Datenträger geschrieben.

ANSI-Zeichensatz: An diesem Menüeintrag kann eingestellt werden, ob für die Textdarstellung der ANSI-ASCII oder der IBM-ASCII-Zeichensatz verwendet wird. Wie unter Punkt »ANSI-/IBM-ASCII« erläutert, ist der ANSI-Zeichensatz bei der Bearbeitung von Windows-Dateien vorzuziehen.


Dateimanager

Ausführen: Sie können eine bestehende Datei wählen, die ausgeführt werden soll. Wenn es sich nicht um eine ausführbare Datei handelt, so wird die Anwendung geladen, mit der sie unter Windows verknüpft ist.

Zerlegen: Wählen Sie eine bestehende Datei, aus der Sie mehrere neue Dateien bilden möchten. Geben Sie für jede Zieldatei den Dateinamen an und den Offset der Quelldatei, an dem die Trennung vorgenommen werden soll. Die Quelldatei bleibt durch diese Funktion unberührt.

Verketten: Diese Funktion läßt Sie eine beliebige Anzahl bestehender Dateien auswählen, die aneinandergehängt eine Zieldatei bilden.

Verschmelzen: Geben Sie die Namen zweier Quelldateien und einer Zieldatei an. Die Bytes der Quelldateien werden abwechselnd in die Zieldatei geschrieben (wobei das erste Byte aus der ersten Quelldatei stammt).

Vergleichen: Wählen Sie zwei bestehende Dateien aus, die Sie Byte für Byte vergleichen möchten. Geben Sie außerdem den Namen der Datei an, in die der Bericht geschrieben werden soll. Bestimmen Sie, ob nach Unterschieden oder nach Übereinstimmungen gesucht werden soll. Es ist möglich, eine Anzahl von Unterschieden/Übereinstimmungen anzugeben, bei deren Erreichen der Vergleich abgebrochen werden soll. Als letztes ist der Bereich einzustellen, in dem verglichen werden soll. Sobald Sie Dateien ausgewählt haben, wird als Ende dieses Bereichs automatisch das Ende der kleineren Datei eingetragen.

WinHex erstellt einen Bericht in Form einer Textdatei, den Sie mit dem unter Optionen gewählten Texteditor einsehen können. Bei großen Vergleichsbereichen und vielen Unterschieden/Übereinstimmungen kann diese Textdatei sehr groß werden.

Kopieren: Kopiert eine bestehende Datei in einen anderen Ordner.

Verschieben: Bewegt eine bestehende Datei in einen anderen Ordner und/oder ändert ihren Namen. Dabei wird die Ursprungsdatei entfernt.

Sicheres Löschen: Löscht eine Datei definitiv, so daß ihr Inhalt mit Undelete-Programmen nicht rekonstruiert werden kann. Jede gewählte Datei wird (in ihrer aktuellen Größe) mit Nullen überschrieben, auf die Länge Null gekürzt und dann gelöscht. Ihr Name wird unkenntlich gemacht. Selbst manuelle Wiederherstellungsversuche führen i. d. R. zu keinem Ergebnis. »Sicheres Löschen« eignet sich daher für Dateien mit vertraulichen Informationen, die vernichtet werden sollen. Die absolute Sicherheit dieser Funktion kann aber nicht garantiert werden, insbesondere dann nicht, wenn residente Undelete- und Backup-Programme mit ausgeklügelten Mechanismen die Wiederherstellbarkeit von Dateien sicherzustellen versuchen.


Hilfe-Menü

Inhalt: Ruft die Inhaltsübersicht dieser Hilfe-Datei auf.

Sprache wechseln: Schaltet zwischen Englisch und Deutsch um.

Initialisieren: Mit dieser Funktion können Sie die Voreinstellungen sämtlicher Optionen wiederherstellen. Alternativ dazu können Sie die Datei »winhex.cfg« löschen, bevor Sie WinHex starten.

Deinstallieren: Mit dieser Funktion können Sie die WinHex von Ihrer Festplatte entfernen.

Registrieren: Wählen Sie diesen Menüeintrag, wenn Sie die Registrierungsgebühr bezahlt und die Codes erhalten haben (siehe unter Registrierung). Geben Sie die beiden Codes in die dafür vorgesehenen Editierfelder ein und drücken Sie die ENTER-Taste. (In der registrierten Version verschwindet dieser Menüeintrag.)


Menü-Schalter

• 	Schaltet den Editiermodus zwischen Hexadezimal und Text um (wie die Tabulatortaste).

• 	Verlängert das Editorfenster um eine Zeile (s. a. Arbeitserleichterungen).

• 	Verkürzt das Editorfenster um eine Zeile (s. a. Arbeitserleichterungen).


Drucken

Mit dieser Funktion können Sie mehrere Seiten einer Datei drucken. Sie haben die Möglichkeit, einen Drucker auszuwählen und ihn einzurichten.

Bestimmen Sie den Zeichensatz für den Druck, ändern Sie ggf. die vorgeschlagene Schriftgröße und tragen Sie auf Wunsch einen Kommentar, der am Ende des Ausdruckes erscheinen soll, in das dafür vorgesehene Feld ein.


Block

Als »Block« wird ein ausgewählter Bereich bezeichnet, der für jede

in WinHex geöffnete Datei festgelegt werden kann. Dieser Bereich

ist Gegenstand vieler Funktionen im Bearbeiten-Menü, genau wie

Markierungen in anderen Windows-Programmen. Wenn kein Block

definiert ist, beziehen sich diese Funktionen gewöhnlich auf den

gesamten Dateiinhalt.

Die aktuelle Lage und Größe des Blocks werden in der Statusleiste

angezeigt. Durch Drücken der Escape-Taste oder durch einen Doppel-

klick mit der rechten Maustaste hebt man die Blockmarkierung auf.


Daten modifizieren

Mit dieser Funktion können Sie die Daten im aktuellen Block bzw. in der gesamten Datei (falls kein Block definiert ist) verändern. Entweder Sie addieren zu jedem Element der Daten eine Zahl, Sie invertieren die Bits oder Sie vertauschen paarweise die Bytes.

Bytes vertauschen

Vertauscht benachbarte Bytes paarweise innerhalb des aktuellen Blocks bzw. innerhalb der gesamten Datei, wenn kein Block definiert ist. Der Bereich muß dazu eine gerade Anzahl von Bytes enthalten. Mit dieser Funktion können Sie höher- und niederwertige Bytes von 16-Bit-Werten vertauschen und so »Big Endian«-Daten in »Little Endian«-Daten verwandeln.

Addition

Geben Sie einen positiven oder negativen, dezimalen oder hexadezimalen Summanden an, der jedem Datenelement des Blockes hinzuaddiert werden soll. Der numerische Datentyp bestimmt Größe (1, 2 oder 4 Bytes) und Art (vorzeichenbehaftet oder vorzeichenlos) eines Elements.

Es werden zwei Möglichkeiten angeboten, wie WinHex verfahren soll, wenn durch die Addition der Wertebereich des Formats über- oder unterschritten würde. Entweder der Wertebereich wird nicht verlassen, d. h. das Maximum bzw. Minimum des Wertebereichs wird als neuer Wert angenommen, oder die Addition wird dennoch durchgeführt und der entstehende Übertrag ignoriert.

Beispiel: 8 Bit, vorzeichenlos

I. FF + 1 = FF	(255 + 1 = 255)

II.	FF + 1 = 00	(255 + 1 = 0)

Beispiel: 8 Bit, vorzeichenbehaftet

I.	80 - 1 = 80	(-128 - 1 = -128)

II.	80 - 1 = 7F	(-128 - 1 = +127)

Hinweise:

• Bei Verwendung der ersten Methode erhalten Sie nach Abschluß der Operation eine Meldung, wie oft die Addition nicht durchgeführt werden konnte.

• Wenn Sie die zweite Methode verwenden, ist der Vorgang umkehrbar. Geben Sie einfach die Gegenzahl des zuvor benutzten Summanden bei gleichem Zahlenformat ein. Sie erhalten dann exakt die ursprünglichen Daten.

• Bei Wahl der zweiten Methode ist es egal, ob Sie ein vorzeichenbehaftetes oder vorzeichenloses Format angeben.


Konvertierungen

WinHex erlaubt es, mit dem Befehl »Konvertieren« im Bearbeiten-Menü Daten in andere Formate umzuwandeln, zu verschlüsseln und zu entschlüsseln. Die Konvertierung kann optional in allen in WinHex geöffneten Dateien statt nur in der aktuellen Datei durchgeführt werden. Die mit * gekennzeichneten Formate können nie blockweise, sondern nur dateiweise konvertiert werden. Die folgenden Formate werden unterstützt:

ANSI-ASCII, IBM-ASCII (zwei sich teilweise unterscheidende ASCII-Zeichensätze)

Groß-/Kleinbuchstaben (ANSI-ASCII)

Binär* (Rohdaten)

Hex-ASCII* (Hexadezimal-Darstellung von Rohdaten als ASCII-Text)

Intel-Hex* (=Extended Intellec; Hex-ASCII-Daten in einem speziellen Format, incl. Prüfsummen etc.)

Motorola-S* (=Extended Exorcisor; dto.)

Hinweise:

• Beim Konvertieren von Intel-Hex oder Motorola-S in ein anderes Format werden die in den Daten enthaltenen Prüfsummen nicht auf Korrektheit überprüft.

• Einige Konvertierungsarten können nur auf eine ganze Datei angewandt werden.

• Das Paßwort wird beim Entschlüsseln nicht geprüft.

• Als Verschlüsselungsalgorithmus wird »Pukall Cipher 1« (PC 1) mit einem 128-Bit-Schlüssel benutzt (dem 128-Bit-Digest des von Ihnen angegebenen Paßworts).


Suchoptionen

Groß-/Kleinschreibung beachten: Wenn diese Option gewählt ist, wird der Text immer in genau der Schreibweise gesucht, in der Sie ihn vorgeben. Z. B. wird »Beispiel« nicht bei der Vorgabe »beispiel« gefunden. Wenn Sie die Option nicht wählen, so wird WinHex selbst bei »bEIsPiEl« fündig. Auch deutsche Umlaute, die im ANSI-ASCII-Format vorliegen, sind dann in der Groß- und Kleinschreibung austauschbar, sonstige sprachspezifischen Buchstaben (çåê...) allerdings nicht.

Im Unicode-Zeichensatz suchen: Der Text wird im Unicode-Zeichensatz gesucht. Dieser Zeichensatz reserviert 16 Bit je Zeichen, wobei die ersten 256 Unicode-Zeichen den ANSI-ASCII-Zeichen entsprechen. Das höherwertige Byte ist dabei Null. In 32-Bit-Programmdateien z. B. sind Texte teilweise im Unicode-Zeichensatz gespeichert.

Sie können ein frei wählbares Jokerzeichen (ein Zeichen bzw. ein zweistelliger Hex-Wert) verwenden, das genau ein Byte abdecken kann. Z. B. kann man mit der Such-Zeichenfolge »Sp?ck« sowohl »Speck« als auch »Spock« finden.

Nur ganze Wörter suchen: Die zu suchende Zeichenfolge wird nur erkannt, wenn sie als einzelnes Wort vorkommt, also von anderen Buchstaben (z. B. durch Leer- oder Steuerzeichen) getrennt ist.

Nur im Block suchen: Es wird nur derjenige Teil der Datei durchsucht, der innerhalb des Blockes liegt.

In allen geöffneten Dateien suchen: Die Suche wird der Reihe nach in allen von WinHex geöffneten Dateien durchgeführt. Wird der Hex-Editor in einer Datei fündig, kann die Suche danach in derselben Datei normal fortgesetzt werden (durch F3); zur nächsten Datei geht WinHex mit der Funktion »Globale Suche fortsetzen« (F4) über. Wenn »Nur im Block suchen« aktiviert ist, wird in jeder Datei nur der dort festgelegte Block durchsucht.

Vorkommen zählen: Die Anzahl der Vorkommnisse des gesuchten Texts/der gesuchten Hex-Werte in der Datei wird ermittelt.

Suchen-Menü

Optionen des Ersetzens

Technische Hinweise


Ersetzen-Optionen

Auf Bestätigung warten: An jeder Fundstelle entscheiden Sie, ob dort ersetzt und ob der Vorgang evtl. abgebrochen werden soll.

Alles ersetzen: Alle Vorkommnisse werden automatisch ersetzt.

Groß-/Kleinschreibung beachten: Bei der Suche nach der zu ersetzenden Zeichenfolge kann nach Groß- und Kleinschreibung unterschieden werden (s. a. Suchoptionen). WinHex verwendet die Ersatz-Zeichenfolge natürlich in jedem Fall in der von Ihnen gewählten Schreibweise.

Unicode-Zeichensatz verwenden: Der Text wird im Unicode-Zeichensatz gesucht. Dieser Zeichensatz reserviert 16 Bit je Zeichen, wobei die ersten 256 Unicode-Zeichen den ANSI-ASCII-Zeichen entsprechen. Das höherwertige Byte ist dabei Null. In 32-Bit-Programmdateien beispielsweise sind Texte teilweise im Unicode-Zeichensatz gespeichert.

Sie können ein beliebiges Zeichen bzw. einen beliebigen zweistelligen Hex-Wert als Jokerzeichen verwenden. Z. B. kann man mit der Such-Zeichenfolge »Sp?ck« sowohl »Speck« als auch »Spock« finden.

In der Ersatz-Zeichenfolge kann das Jokerzeichen verwendet werden, um an den betreffenden Stellen das bestehende Zeichen nicht zu ändern. Auf diese Weise kann man bspw. »Huhn« und »Hahn« in einem Schritt durch »Hund« und »Hand« ersetzen (entsprechende Eingabe: »H?hn« ersetzen durch »H?nd«).

Ein Jokerzeichen, das im überstehenden Teil einer Ersatz-Zeichenfolge steht, die länger als die zugehörige Such-Zeichenfolge ist, wird selbst als Ersatz in die Datei geschrieben, da es kein bereits bestehendes Zeichen in der Datei gibt, das sich dem Jokerzeichen zuordnen läßt.

Ganze Wörter: Die zu suchende Zeichenfolge wird nur erkannt, wenn sie als einzelnes Wort vorkommt, also von anderen Buchstaben (z. B. durch Leer- oder Steuerzeichen) getrennt ist. Wenn diese Option gewählt ist, wird z. B. »Tomate« nicht in »Automaten« gefunden.

Nur im Block suchen: Es wird nur derjenige Teil der Datei durchsucht, der innerhalb des Blockes liegt.

In allen geöffneten Dateien ersetzen: Der Vorgang wird der Reihe nach in allen von WinHex geöffneten Dateien durchgeführt (sofern sie nicht im View-Modus geöffnet wurden). Wenn »Nur im Block suchen« aktiviert ist, wird in jeder Datei nur im dort festgelegten Block ersetzt.

Mit WinHex sind Sie in der Lage, eine Zeichenfolge durch eine andere Zeichenfolge unterschiedlicher Länge zu ersetzen. Solche Vorgänge benötigen allerdings mehr Zeit und im Ersetzen-Modus mit Bestätigung sind die Änderungen nicht sofort sichtbar. Immer, wenn Sie diese Möglichkeit nutzen möchten, können Sie bestimmen, auf welche Art dies geschehen soll:

1. Die Dateiinhalte hinter einem Vorkommnis der Suchzeichenfolge werden entsprechend der Längendifferenz von Such- und Ersatzzeichenfolge nach vorne oder hinten verschoben. Die Größe der Datei ändert sich. Viele Arten von Dateien (darunter ausführbare Dateien) werden dadurch unbrauchbar. Es ist sogar möglich, nichts als Ersatz-Zeichenfolge anzugeben. Jedes Vorkommen der Such-Zeichenfolge wird dann aus der Datei entfernt!

2. Die Ersatzzeichenfolge wird ungeachtet ihrer Länge dort in die Datei geschrieben, wo die Suchzeichenfolge gefunden wurde. Wenn die Ersatzzeichenfolge kürzer als Suchzeichenfolge ist, bleibt der hintere Teil des Vorkommnisses der Suchzeichenfolge in der Datei unverändert. Ist die Ersatzzeichenfolge länger, werden auch noch Daten hinter dem Vorkommnis mit dem überstehenden Teil der Ersatzzeichenfolge überschrieben (sofern das Dateiende nicht erreicht ist). Die Größe der Datei bleibt unverändert

Suchen-Menü

Suchoptionen

Technische Hinweise


Rückgängig-Optionen

Für den Befehl »Rückgängig« stehen Ihnen folgende Optionen zur Auswahl:

• Bestimmen Sie, wie viele nacheinander ausgeführte Aktionen ungeschehen gemacht werden können. Wichtig: Dies hat keinen Einfluß auf die Anzahl der umkehrbaren Tastatureingaben, die nur vom Arbeitsspeicher limitiert wird.

• Um Zeit und Speicherplatz auf der Festplatte zu sparen, können Sie ein Dateigrößenlimit angeben, oberhalb dessen keine Sicherungen mehr durchgeführt werden, so daß der »Rückgängig«-Befehl nur noch nach Tastatureingaben zur Verfügung steht.

• Automatisch angelegte Sicherungen für die Benutzung durch den »Rückgängig«-Befehl werden von WinHex selbständig beim Schließen der Datei gelöscht, falls die betreffende Option voll aktiviert ist. Ist sie nur halb aktiviert, werden sie erst bei Programmende gelöscht.

• Geben Sie für alle Arten von Editiervorgängen an, ob sie rückgängig gemacht werden können.

Hinweise zu Sicherungen vor der Aktion »Sektor schreiben«:

Vor dem Schreiben eines Sektors mit der Funktion »Sektor schreiben« und vor dem Schreiben mehrerer Sektoren mit der Funktion »Zwischenspeicher schreiben« wird, sofern die entsprechende Option aktiviert ist, eine automatische Sicherung angelegt. Anders als alle anderen Vorgänge, vor denen eine automatische Sicherung angelegt werden kann, erhöht diese Aktion aber nicht die Rückgängig-Stufe und kann auch nicht mit dem »Rückgängig«-Befehl ungeschehen gemacht werden. Vielmehr ist im Bedarfsfall der Sektor durch Anwahl der entsprechenden Sicherungsdatei im Sicherungs-Manager manuell wiederherzustellen (wie bei selbst erstellten Sicherungen) und im zweiten Schritt auf den Datenträger zu schreiben. Handelt es sich um mehrere Sektoren, so werden sie beim Wiederherstellen sofort direkt auf den Datenträger geschrieben.


Positions-Manager

In dem »Positions-Manager« genannten Dialogfenster können unbegrenzt viele Datei- und Datenträger-Offsets mit Beschreibungen verwaltet werden. Wenn Sie etwa in einer Datei eine markante Stelle ausfindig gemacht haben, die evtl. häufig geändert werden muß, dann lohnt es sich, diese Stelle im Positions-Manager einzutragen. Sie können sie dann später schnell wiederfinden, ohne sie sich merken zu müssen. Klicken Sie auf »Neu«, geben Sie den Offset und anschließend eine Beschreibung (etwa »Hier ein Byte auf Null setzen!«) ein.

Klicken Sie die rechte Maustaste, um ein Kontextmenü zu erzeugen. Darin können Sie Positionen löschen, aus einer Datei laden oder in eine Datei speichern.

Wenn die Daten des Positions-Managers geändert wurden, werden sie nach dem Beenden von WinHex grundsätzlich in der Datei WinHex.pos im WinHex-Verzeichnis gespeichert.


Routinen-Manager

Der Routinen-Manager ist ein multifunktionales Dialogfenster, das Ihnen alle existierenden Routinen anzeigt. Die Liste kann sortiert werden nach der Routinen-Nr., der Routinen-Bezeichnung und nach den Dateien, auf die sich die Routinen beziehen. Sie haben die Möglichkeit, bestehende Routinen zu bearbeiten, zu kopieren und zu löschen und können neue Routinen entwerfen.

Wenn Sie eine Routine löschen, werden diejenigen Routinen, die sich in den Speicherplätzen mit höherer Routinennummer befinden, um eine Position vorgezogen. Verweise auf diese Routinen als Folgeroutinen werden entsprechend korrigiert.


Sicherungs-Manager

In der wahlweise nach dem Erstellungszeitpunkt, dem Dateinamen oder dem Pfad geordneten Liste können Sie Sicherungen auswählen, die Sie wiederherstellen möchten. Ein neues Editierfenster zeigt daraufhin den Datei- bzw. Sektorinhalt vom Zeitpunkt der Sicherung an. Damit die Datei bzw. der Sektor auf dem Datenträger tatsächlich wiederhergestellt wird, muß sie bzw. er noch gespeichert werden. Nur wenn sich mehrere Sektoren in einer Sicherung enthalten sind, werden sie beim Wiederherstellen sofort auf den Datenträger geschrieben.

Wenn Sie Sektoren auf ein anderes Laufwerk als das ursprüngliche wiederherstellen möchten (z. B. weil sich der Laufwerksbuchstabe geändert hat), halten Sie die Shift-Taste beim Verlassen des Sicherungs-Managers gedrückt. Sie können dann den Zieldatenträger frei auswählen und auch die Nummer des Zielsektors ändern.

Mit Hilfe des Sicherungs-Managers können Sie außerdem Sicherungen löschen, die Sie nicht mehr benötigen. Die automatisch erzeugten Sicherungsdateien für die »Rückgängig«-Funktion können von WinHex selbständig gelöscht werden (s. u. Rückgängig-Optionen). Damit WinHex Sicherungen so effizient wie möglich verwalten kann, wird empfohlen, die Sicherungsdateien von Hand nur über den Sicherungs-Manager zu löschen.

Die Sicherungsdateien, die vom Backup-Manager verwaltet werden, heißen »Saved???.whx« und befinden sich in dem unter Allgemeine Optionen gewählten Ordner. An die Stelle von ??? tritt eine aus drei Ziffern bestehende eindeutige Identifikationsnummer, die im Sicherungs-Manager in der letzten Spalte angegeben ist. Eine vollständige Dokumenation des WHX-Dateiformats ist auf der WinHex-Homepage verfügbar (s. Über WinHex).


Daten-Dolmetscher

Der Daten-Dolmetscher ist ein kleines Fenster, das »Übersetzungsmöglichkeiten« für die Daten an der aktuellen Cursorposition anzeigt. In den Optionen können Sie einstellen, ob dieses Fenster überhaupt angezeigt werden soll, und wenn ja, welche Datentypen zu berücksichtigt sind. Zur Verfügung stehen sieben ganzzahlige Datentypen, die Bit-Darstellung eines Bytes (Binärformat), vier Gleitkomma-Datentypen und Assembler-Opcodes (Intel).

Der Dolmetscher kann alle Datentypen (außer Assembler-Opcodes) auch rückwärts wieder in Hex-Werte übersetzen. Doppelklicken Sie dazu im Daten-Dolmetscher auf die Darstellung eines Datentyps, tragen Sie den gewünschten Wert ein und bestätigen Sie mit ENTER. Daraufhin trägt der Daten-Dolmetscher die entsprechenden Hex-Werte an der aktuellen Position in das Editierfenster ein.

Hinweise:

Nicht alle Hex-Werte können in Gleitkomma-Zahlen übersetzt werden. Wenn eine Übersetzung nicht möglich ist, erscheint die Angabe NAN (»not a number«) im Daten-Dolmetscher.

Redundanzen im Befehlssatz der Intel-Prozessoren schlagen sich in mehrfach vorkommenden Opcodes und mnemonischen Abkürzungen nieder. Floating-Point-Befehle werden im Daten-Dolmetscher nur als F*** angezeigt.

Beschreibungen der den mnemonischen Abkürzungen entsprechenden Befehle können von Intel über das Internet bezogen werden. Das Dokument heißt »Intel Architecture Software Developer’s Manual Volume 2: Instruction Set Reference« und liegt im PDF-Format vor.


RAM-Editor

Im Extra-Menü finden Sie die Funktion »RAM-Editor«. Der RAM-Editor ermöglicht es, den virtuellen Arbeitsspeicher eines in der Ausführung befindlichen Programms (= eines Prozesses) direkt einzusehen. Dazu werden alle von dem Prozeß belegten Seiten im Arbeitspeicher als zusammenhängender Speicherbereich abgebildet. Ungenutzte (leere oder nur reservierte) Blöcke im Speicher werden von WinHex ignoriert.

Wählen Sie zunächst aus einer Liste aller laufenden Prozesse den zu untersuchenden Prozeß aus. Sie können entweder auf den sog. Primärspeicher eines Prozesses oder auf einzelne von diesem Prozeß geladene Module zugreifen. Unter Windows 95/98 werden Systemmodule optional augelistet. Als Systemmodule werden diejenigen Module bezeichnet, die stets oberhalb von 2 GB geladen werden (wie z. B. kernel32.dll, gdi32.dll usw.). Als Primärspeicher wird derjenige Bereich bezeichnet, den Programme vorrangig für verschiedenste Zwecke nutzen. Das Hauptmodul eines Prozesses (die EXE-Datei) ist i. d. R. im Primärspeicher enthalten.

Bitte beachten Sie die folgenden Einschränkungen:

• Der virtuelle Arbeitsspeicher von 16-Bit-Prozessen kann unter Windows 95/98 nur unvollständig, unter NT gar nicht erfaßt werden.

• Unter Windows NT kann virtueller Arbeitsspeicher generell nur im View-Modus eingesehen, nicht editiert werden.

• Das Editieren ist unter Windows 95/98 nur im In-Place-Editiermodus möglich.

• Systemmodule von Windows 95/98 können nur im View-Modus eingesehen, nicht editiert werden.

• Die unregistrierte Version erlaubt generell nur den View-Modus! Bitte lassen Sie sich registieren.

• Rückgängig gemacht werden können ausschließlich Tastatureingaben!

Beachten Sie bitte die Optionen »Auf Änderungen im Speicher prüfen« und »Virtuelle Adressen«.


Kontextmenü

Das Kontextmenü sehen Sie, wenn Sie im Windows-Explorer oder auf dem Desktop ein Objekt mit der rechten Maustaste anklicken. WinHex erscheint im Kontextmenü nur, wenn die entsprechenden Optionen eingeschaltet sind.

Editieren mit WinHex: Öffnet die gewählte Datei in WinHex.

Ordner in WinHex öffnen: Öffnet alle Dateien des gewählten Ordners in WinHex. Wenn Sie die Shift-Taste gedrückt halten, werden auch Dateien in Unterverzeichnissen geöffnet.

Datenträger editieren: Öffnet den gewählten Datenträger im Disk-Editor von WinHex. Wenn Sie die Shift-Taste gedrückt halten, wird statt des logischen Laufwerks der zugehörige physische Datenträger geöffnet (letzteres nur unter Windows 95/98).


Paßwort

Als Paßwort geben Sie eine Zeichenfolge aus 1-16 Zeichen

ein. Je mehr Zeichen Sie eingeben, um so sicherer ist die

Verschlüsselung. Das Paßwort wird nicht direkt als Schlüssel

für Ver- und Entschlüsselung benutzt, sondern ist nur Daten-

material für einen Digest. Es wird nicht auf der Festplatte

gespeichert. Fall die entsprechende Sicherheitsoption gewählt

ist, wird es in verschlüsselter Form im Arbeitsspeicher gehalten,

solange WinHex läuft.


Sicherung anlegen

Dieser Befehl stellt Ihnen ein Dialogfenster zu Verfügung, das Sie eine Sicherheitskopie von der aktuellen Datei bzw. von Sektoren des aktuellen Datenträgers erstellen läßt. Die Sicherheitskopie wird in Form einer WHX-Datei angelegt.

Wenn Sie den Namen der WHX-Datei automatisch vergeben lassen (Format »Saved???.whx«), wird sie im Verzeichnis für Sicherungsdateien erstellt (s. Allgemeine Optionen). Bei Bedarf kann das Original dann mit dem Sicherungsmanager wiederhergestellt werden. Wenn Sie selbst Dateinamen und Pfad angeben, kann die WHX-Datei mit dem Menübefehl »Sicherung laden« wiederhergestellt werden.

Sie können der Sicherung eine textuelle Beschreibung hinzufügen.

Das WHX-Format kann außerdem eine Prüfsumme und einen Digest der zu sichernden Daten aufnehmen und die zu sichernden Daten verschlüsseln. Die Berechnung eines Digests und die Verschlüsselung verlangsamen das Anlegen der Sicherung sowie die spätere Wiederherstellung stark. Beide Funktionen sollten nur benutzt werden, wenn es zu Sicherheitszwecken erforderlich ist.

Als Verschlüsselungsalgorithmus wird »Pukall Cipher 1« (PC 1) mit einem 128-Bit-Schlüssel benutzt. Der 128-Bit-Schlüssel ist der Digest aus der 256-Bit-Konkatenation, die aus dem 128-Bit-Digest des von Ihnen angegebenen Paßworts und einer 128-bittigen Zufallszahl besteht. Die 128-bittige Zufallszahl wird in der WHX-Datei für die Entschlüsselung gespeichert.

Das WHX-Dateiformat ist vollständig dokumentiert (s. WinHex-Homepage).


Hinweis
Sie haben Registrierungscodes für eine frühere Version von WinHex eingegeben. Diese Codes sind für die vorliegende Version nicht mehr gültig.

Hinweise zu Updates finden Sie auf der WinHex-Homepage (s. »Über WinHex«).


Digests

Ein »Digest« (engl.) ist ähnlich einer Prüfsumme eine Kennzahl zur eindeutigen Identifizierung von Daten. Digests sind aber mehr als Prüfsummen. Es handelt sich um »starke« Einweg-Hashcodes, die Datenintegrität mit extrem hoher Sicherheit garantieren. Daten können in bösartiger Absicht so manipuliert werden, daß ihre Prüfsumme trotz Änderung gleich bleibt. Diese Möglichkeit schließen Digests aus. Es lassen sich mit vorstellbarem computerunterstütztem Rechenaufwand keine Daten finden, die denselben Digest besitzen wie vorgegebene andere Daten.

Natürlich können durch Verwendung von Digests auch zufällige, etwa durch fehlerhafte Übertragung entstandene Datenveränderungen feststellen, aber dafür reichen Prüfsummen aus, die viel schneller berechnet werden können.

WinHex verwendet 128-Bit- und 256-Bit-Digests als Schlüssel für Datenverschlüsselung (s. Konvertierungen u. Sicherung anlegen) sowie 256-Bit-Digests zum Zwecke der Datenauthentizitätsprüfung in Sicherungsdateien.

Als Algorithmus wird die »Pukall Stream Cipher«-Hashfunktion mit folgendem fixen 128-Bit-Schlüssel benutzt: F6 C7 24 95 17 9F 3F 03 C6 DE F1 56 F8 2A 85 38.


Sicherheitsoptionen

• Die Option »Alleinige Datenträgerkontrolle« betrifft den Disk-Editor. Sie sorgt dafür, daß WinHex einen Datenträger während des direkten Zugriffs für andere Programme grundsätzlich sperrt (nicht nur, wenn unbedingt erforderlich). Dies kann den Disk-Editor stark verlangsamen.

• Die Option »Auf Änderungen im Speicher prüfen« betrifft den RAM-Editor. Sie sorgt dafür, daß WinHex vor jedem Lesen des virtuellen Speichers erst prüft, ob sich dessen Größe und Zusammensetzung geändert hat. Ist dies der Fall, wird der Speicher in WinHex neu abgebildet und damit ein möglicher Lesefehler vermieden. Besonders unter Windows NT kann diese Einstellung den RAM-Editor stark verlangsamen. Vor dem Schreiben in den virtuellen Speicher eines Prozesses wird unabhängig von dieser Einstellung in jedem Fall vorher auf Änderungen geprüft.

• Auf Wunsch wird beim Öffnen einer Datei eine Standard- oder erweiterte Prüfsumme berechnet und in der Informationsspalte rechts angezeigt. Prüfsummen werden auch in der Funktion »Block analysieren« berechnet.

• Beim manuellen Wiederherstellen von Sicherungen wird ein Bericht i. d. R. nur dann angezeigt, wenn die Sicherungsdatei einen Digest enthält oder fehlerhaft ist. Sie können sich jedoch auch grundsätzlich einen Bericht anzeigen lassen.

• Das für Verschlüsselung und Entschlüsselung erforderliche Paßwort können Sie entweder in ein normales Editierfeld eingeben oder blind (es erscheinen nur Sternchen). In letzterem Fall müssen Sie das Paßwort bestätigen, um Eingabefehler zu vermeiden.

• Standardmäßig wird das Paßwort verschlüsselt im Arbeitsspeicher gehalten, solange WinHex läuft, damit Sie es nicht mehrmals eingeben müssen, wenn Sie es mehrmals verwenden möchten. Möglicherweise ziehen Sie es vor, daß WinHex sich das Paßwort nicht merkt.