Daten modifizieren

WinHex & X-Ways

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, Sie führen eine bitweise XOR-Operation mit einer Konstanten aus (eine einfache Art der Verschlüsselung), eine OR- oder eine AND-Operation, Sie shiften Bits logisch, rotieren Bits nach links in einem zirkulierendem Muster (1. Byte um 1 Bit, 2. Byte um 2 Bits usw.) oder Sie vertauschen Bytes paarweise. Durch das Shiften (Verschieben) von Bits können Sie das Einfügen oder Entfernen eines einzelnen Bits am Anfang des Blockes simulieren. Daten lassen sich auch um ganze Bytes verschieben (derzeit nur nach links, durch Eingabe einer negative Anzahl von Bytes). Dies ist nützlich, wenn Sie im In-Place-Modus Bytes aus einer sehr großen Datei ausschneiden möchten, was sonst die Erstellung einer ebensogroßen temporären Datei erfordern würde.

 

Bytes vertauschen

 

Vertauscht benachbarte Bytes paarweise (16-Bit-Vertauschung) oder in 4er-Gruppen (32-Bit-Vertauschung) innerhalb des aktuellen Blocks bzw. innerhalb der gesamten Datei, wenn kein Block definiert ist. Der Bereich muß dazu ein Vielfaches von 2 (16-Bit-Vertauschung) bzw. 4 (32-Bit-Vertauschung) Bytes enthalten. Mit dieser Funktion können Sie »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 (I), oder die Addition wird dennoch durchgeführt und der entstehende Übertrag ignoriert (II).

 

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.