home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Best of the Best
/
_.img
/
02046
/
hed-x.exe
/
HED.DOK
< prev
next >
Wrap
Text File
|
1992-01-21
|
9KB
|
184 lines
<21.1.1992>
H E D V1.51
=================
written by Andreas Signer in 1991/92
Dieses Programm ist SHAREWARE! Das heisst, Sie dürfen es sooft kopieren wie
Sie wollen, falls folgende Bedingungen eingehalten werden:
* Die Dateien "HED.EXE" und "HED.DOK" müssen zusammen
weitergegeben werden.
* Weder im ausführbaren Programm noch in der Dokumentation
wurden Änderungen beliebiger Art vorgenommen.
Falls Ihnen dieses Programm gefällt, dann senden Sie bitte 10 US$ / 20 sFr. /
20 DM (in Noten oder V-Scheck) an folgende Adresse:
Andreas Signer, Büelacherweg 22, CH-8306 Brüttisellen
(Bitte geben Sie Programmname und Versionsnummer an!)
Nachdem ich Ihren Betrag erhalten habe, sind Sie ein REGISTRIERTER ANWENDER
und haben folgende Vorteile:
* Sie erhalten den DOKUMENTIERTEN QUELLCODE
* Ausserdem bekommen Sie eine GEDRUCKTE ANLEITUNG
* Sie haben die Möglichkeit, meine HELP-LINE zu benutzen
* Sie erhalten die NEUSTE VERSION von HED
* Und werden über NEUE PROGRAMME INFORMIERT
Bitte vergessen Sie nicht, dass Sie mit der Shareware-Gebühr den Autor unter-
stützen und die Entwicklung neuer Programme fördern!
Halten Sie die Shareware-Idee am Leben!
1) Programmbeschreibung
=======================
HED ist ein komfortabler File-Monitor. Mit diesem Programm haben Sie die
Möglichkeit, bestehende Programme zu verändern (zu "patchen").
2) Start
========
Um HED zu starten geben Sie einfach "HED <Programmname>" ein. <Programmname>
muss eine gültige Namensangabe sein (siehe dazu auch MS-DOS-Handbuch). Konnte
die Datei nicht gefunden werden, wird eine entsprechende Fehlermeldung aus-
gegeben. Sonst wird die Datei geöffnet und der erste Block (1 Block = 256
Bytes) als Hex-Dump und Text ausgegeben. Darunter befinden sich in drei kleinen
Fenstern die Statusangaben des Programms. Im ersten Fenster Dateiname, Länge
der Datei sowie die Position des Cursor in der Datei angezeigt. Im nächsten
Fenster stehen der aktuelle Editier-Modus ("Edit-Mode", ASCII oder HEX, siehe
dazu Kapitel 3 und 4.4), die Nummer des Blockes, der gerade angezeigt wird
("act. Block") sowie die Nummer des letzten Blocks ("max. Block"). Im dritten
Fenster wird schliesslich noch das Byte, auf dem der Cursor gerade steht, in
hexadezimaler und dezimaler Schreibweise ausgegeben. Am rechten Rand des Bild-
schirms sehen Sie alle Ihnen zur Verfügung stehenden Kommandos aufgelistet.
Sie rufen Sie auf, indem Sie bei niedergedrückter ALT-Taste den Buchstaben
drücken, der in den Klammer steht. Wollen Sie zum Beispiel "Print" aufrufen,
so drücken Sie die ALT-Taste nieder und tippen dann P. Die Kommandos werden
im Kapitel 4 detailiert beschrieben.
3) Das Editieren von Programmen
===============================
3.1) Cursorsteuerung im Block und Editieren von Daten
-----------------------------------------------------
In den oberen beiden Fenstern sehen Sie den aktuellen Block als Hex-Dump und
ASCII-Text (falls gerade das Ende der Datei angezeigt wird und die Datei nicht
an einer Blockgrenze ende (was ja sehr wahrscheinlich ist), so werden die
Bytes, die nicht mehr zur Datei gehören, dunkelgrau ausgegeben und können na-
türlich nicht editiert werden). In beiden Fenstern ist auch ein Cursor sicht-
bar. Den Cursor können Sie mittels der Cursor-Tasten steuern. Falls Sie ein
Byte verändern möchten, steuern Sie zuerst den Cursor über das Byte, das Sie
verändern möchten. Dann haben Sie zwei Möglichkeiten: Falls Sie im ASCII-Modus
arbeiten, tippen Sie einfach die Taste, die an der Cursor-Position stehen
soll. Tippen Sie so zum Beispiel die Taste "1", erhält das Byte an der aktuel-
len Cursorposition den Wert $31. Arbeiten Sie dagegen im HEX-Modus, können Sie
die beiden Nibbles des Bytes unabhängig voneinander ändern (Anmerkung: Ein
Nibble entspricht 4 Bits. Bsp.: Das Byte $FA besteht aus den Nibbles $F und
$A). Es sind aber nur die Tasten 0-9 und A-Z zugelassen. Um nun ein Byte zu
ändern, steuern Sie einfach mit dem Cursor das gewünschte Nibble des zu ver-
ändernden Bytes an und drücken den Wert, den das Nibble annehmen soll.
Nachdem Sie alle Änderungen in einem Block vollzogen haben, müssen Sie diese
aber auch noch speichern. Dazu drücken Sie einfach <ALT-S>.
3.2) Bewegungen in innerhalb einer Datei
----------------------------------------
Mittels folgender Tasten können sie den Block wechseln:
┌───────────┬───────────────────────────────────────────────┐
│ Taste │ Wirkung │
├───────────┼───────────────────────────────────────────────┤
│ Page Up │ Einen Block zurück │
│ Page Down │ Einen Block weiter │
│ Home │ Zum ersten Block │
│ End │ Zum letzten Block │
│ ALT-G │ zu einem beliebigen Block (siehe Kapitel 4.6) │
└───────────┴───────────────────────────────────────────────┘
4) Die Kommandos
================
4.1) Find <F>
-------------
Mit "Find" haben Sie die Möglichkeit, Zeichenketten in einer Datei zu finden.
Nachdem Sie <ALT-F> gedrückt haben, erscheint ein kleines Fenster, in dem
Sie die zu suchende Zeichenkette eingeben können. Sobald HED eine passende
Zeichenkette in der Datei gefunden hat, wird der Block im Editier-Fenster
ausgegeben, wobei die gefundene Zeichenkette hellrot hervorgehoben wird.
Sie können natürlich auch nach Zeichen suchen, die nicht direkt über die Ta-
statur eingegeben werden können. Dazu geben Sie als ersten Buchstaben im Find-
fenster das Dollarzeichen "$" ein, gefolgt von der Bytefolge in Hexadezimal-
zahlen. Gross- und Kleinschreibung haben in diesem Modus natürlich keinen Ein-
fluss, Leerzeichen dürfen verwendet werden, spielen aber auch keine Rolle. Sie
müssen nur darauf achten, dass Sie immer GANZE BYTES angeben, das heisst 2 Hex-
Ziffern pro zu suchendes Byte.
Bsp.: "$001a", "$ 00 1a", "$00 1A": Alle diese Eingaben bewirken eine Suche
nach der Bytefolge $00 $1A.
4.2) Next <N>
-------------
Mittels "Next" kann eine Suchoperation fortgeführt werden. Wurde nach einem
Aufruf von "Find" eine Zeichenkette gefunden, kann mit "Next" weitergesucht
werden. Wird "Next" aufgerufen, obwohl keine Zeichenkette gefunden worden ist
oder noch gar nie "Find" aufgerufen worden ist, so muss wie bei "Find" die
zu suchende Zeichenkette eingegeben werden.
4.3) Undo <U>
-------------
Mit "Undo" können Sie alle in einem Block vorgenommenen Änderungen rückgängig
machen. Beachten Sie aber, dass "Undo" nur funktioniert, solange der Block
nicht gewechselt wurde.
4.4) Mode <M>
-------------
Mittels "Mode" kann der Editiermodus gewechselt werden. Der aktuelle Editier-
modus wird im mittleren der drei kleinen Fenster unter "Edit-Mode:" angegeben.
Arbeiten Sie im HEX-Modus, so können Sie die Hex-Werte der Bytes in der Datei
ändern (und so auch Zeichen erzeugen, die über die Tastatur nicht eingegeben
werden können). Befinden Sie sich dagegen im ASCII-Modus, dann werden Ihre
Eingaben als ganze Zeichen übernommen. Bsp. Angenommen Sie tippen die Taste
"A". Befinden Sie sich im ASCII-Modus, so wird das Byte unter dem Cursor den
Wert 41 erhalten (41 ist der Hex-Code des Zeichens "A"). Im HEX-Modus aber wird
das Nibble, über dem der Cursor steht, den Hex-Wert $A annehmen (entspricht im
Dezimalsystem dem Wert 10).
4.5) Save <S>
-------------
Die vorgenommenen Änderungen werden in die Datei übertragen. Haben Sie in einem
Block etwas verändert, gehen die Änderungen verloren, falls vor einem Block-
wechsel nicht "Save" aufrufen.
4.6) Goto <G>
-------------
Nachdem Sie "Goto" aufgerufen haben, erscheint ein kleines Fenster, in dem Sie
die Nummer des Blockes eingeben müssen, zu dem Sie wechseln wollen.
4.7) Print <P>
--------------
Der aktuelle Block wird auf dem Drucker ausgegeben. Die Zeilen haben folgendes
Format:
00000010 : 4D 5A 6A 01 31 00 5F 01 60 00 D6 0F FF FF 96 0D MZj.1._.`..╓ û.
└───┬──┘ └─────────────────────────┬───────────────────┘ └───────┬──────┘
Offset, an HEX-Dump ASCII-Dump
dem die Zei-
le in der
Datei steht
4.8) Quit <Q>
-------------
Das Programm wird beendet.
4.9) Ascii <A>
--------------
Hier erscheint eine Ascii-Tabelle. Sie ist vor allem dazu gedacht, dass man
nicht immer in einem Buch nachschlagen muss, wenn man den Code eines Ascii-
Zeichens benötigt.