[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In diesem Kapitel werden nun alle Utilities von ‘RSYS’ beschrieben. Alle Utilities k�nnen per HotKey aufgerufen werden. In sp�teren Versionen von ‘RSYS’ werden sie als eigenst�ndige Tasks laufen, soda� auch mehrere Utilities gleichzeitig laufen k�nnen.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mit dieser kleinen Utility kann die CRC-Checksumme
von
beliebigen Dateien berechnet werden. Entsprechend der Gr��e der Datei,
dessen CRC berechnet werden soll, mu� die CRC-16
- oder die
CRC-32
-Methode gew�hlt werden.
Ich habe mehrere Programme, die CRC-Summen berechnen, zum Vergleich mit
meinen Routinen gestartet. Alle Programme gaben f�r ein und dieselbe
Datei andere Werte aus, als meine Routine. Ich suche den Fehler heute
noch. Wenn sich also eine hilfreiche Seele finden sollte, die den Fehler
findet, dieser ist eine T�te Gummib�rchen sicher :-)
Das erscheinende Window enth�lt mehrere Steuerelemente, die jetzt im einzelnen besprochen werden.
In diesem Text-Gadget wird der Dateiname der ausgew�hlten Datei, deren
CRC
-Summe berechnet werden soll, angezeigt.
Mit diesem Gadget kann die zu verwendete Berechnungsart (CRC-16
oder CRC-32
) gew�hlt werden.
Nach dem Anklicken dieses Gadgets erscheint ein FileRequester, der zu
einer Eingabe einer Datei auffordert. Wird eine existierende Datei
angew�hlt, wird sofort das File
-Gadget aktualisiert.
In diesem Gadget wird die berechnete Checksumme in Hexadezimalschreibweise dargestellt.
Das Gadget startet die Berechnung der CRC
-Checksumme.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Bei der Verschl�sselung der Daten werden zwei Methoden verwendet. Die
ROT 13
-Methode ist ein einfaches Verschl�sselungsverfahren, das die
Buchstaben eines Textes einfach um 13 Zeichen nach vorn oder zur�ck
gez�hlte Buchstaben macht. Dazu ein Beispiel: aus der Zeile
"Das ist ein Satz, der 1 mal kodiert werden soll!" 34 68 97 115 32 105 115 116 32 101 105 110 32 83 97 116 122 44 32 100 101 114 32 49 32 109 97 108 32 107 111 100 105 101 114 116 32 119 101 114 100 101 110 32 115 111 108 108 33 34
"Qnf vfg rva Fngm, qre 1 zny xbqvreg jreqra fbyy!" 34 81 110 102 32 118 102 103 32 114 118 97 32 70 110 103 109 44 32 113 114 101 32 49 32 122 110 121 32 120 98 113 118 114 101 103 32 106 114 101 113 114 97 32 102 98 121 121 33 34
Darunter habe ich mal die entsprechenden ASCII-Kodierungen geschrieben. Es ist deutlich zu erkennen, da� nur Buchstaben kodiert (verschoben) werden. Interpunktionen und Zahlen werden nicht ber�cksichtigt.
Das zweite Verfahren basiert auf einen zellularen Automaten �hnlich dem der Spielsimulation ‘Life’. Dabei wird ein Ring von Zellen angelegt, der dann durch ein vorgegebenes Pa�wort mit Nummern aufgef�llt wird. Mit diesen Nummern schlie�lich, wird eine Datei kodiert. Diese Methode stammt von der Verschl�sselungsmethode, die in Olaf "Olsen" Barthels ‘term’ zur Kodierung des Telefonbuches verwendet wird.
Anm.:
Das Pa�wort ist �beraus WICHTIG! Es sollte erstens nie
vergessen und zweitens ein echtes Pa�wort verwendet werden. Das
Pa�wort-Gadget sollte also nie leer sein, da sonst die Methode zuf�llige
Verschl�sselungen erzeugt und diese Datei nie wieder restauriert werden
kann!
Im weiteren werden die Bedienungselemente des Crypt
-Windows vorgestellt.
Mit diesem Gadget kann mit einem FileRequester die Datei ausgew�hlt
werden, die verschl�sselt werden soll. Der Dateiname kann direkt
eingegeben werden oder �ber Select
per FileRequester.
Mit diesem Gadget kann mit einem FileRequester die Datei ausgew�hlt
werden, in der die verschl�sselten Daten abgespeichert werden sollen. Der
Dateiname kann direkt eingegeben werden oder �ber Select
per
FileRequester.
Dieses String-Gadget enth�lt das Pa�wort zum Verschl�sseln der Datei nach
dem Verfahren mit dem zellularen Automaten
. Das Pa�wort ist
zwingend erforderlich, jedoch wird die Korrektheit nicht �berpr�ft. Wird
also keins angegeben, so ist das eine
Einbahnstra�en-Verschl�sselung! Die Datei kann nie wieder
restauriert werden!
Dieses Gadget ist abgeschaltet, falls die ROT13
-Methode verwendet
wird.
Hiermit kann die Methode gew�hlt werden, mit der die Daten verschl�sselt werden sollen.
Mit diesem Gadget wird die Verschl�sselung der Daten gestartet.
Mit diesem Gadget wird die Entschl�sselung der Daten gestartet.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Es kommt immer mal vor, da� man sich f�r den Aufbau von Dateien besch�ftigt. Ein wichtige Dateiart ist hierbei die ladbare oder ausf�hrbare Datei. Diese Dateien k�nnen vom System in den Arbeitsspeicher geladen und direkt ausgef�hrt werden.
Damit dieses korrekt vom System durchgef�hrt werden kann, m�ssen die
Dateien (Executables) einen bestimmten Aufbau besitzen, die sogenannte
Hunk-Struktur
. Eine Beschreibung dieser Hunk-Struktur w�rde an
dieser Stelle zu weit f�hren. Hierbei sei auf weiterf�hrende Literatur
verwiesen, die diese Struktur in allen Einzelheiten erl�utert.
Mit dieser Utility kann die Hunk-Struktur jeder ladbaren Datei ermittelt
und angezeigt werden. Zu diesen Dateien geh�ren beispielsweise Libraries,
Executables, Font-Dateien und Objekt-Bibliotheken. Desweiteren k�nnen auch
Fehler in der Hunk-Struktur angezeigt werden. Bei einem eventuell
aufgetretenen Fehler wird noch f�nfmal versucht, einen korrekten
Hunk-Eintrag zu finden, danach wird abgebrochen. Die Anzeige der Struktur
kann jederzeit mit einem Klick auf das CloseGadget
abgebrochen werden.
Nun zu der Beschreibung der einzelnen Gadgets.
In diesem ListView wird die Hunk-Struktur in �bersichtlicher Form dargestellt. In der ersten Zeile stehen der Name der Datei und die Gr��e. Dannach kommt hierarchisch angeordnet der Aufbau der Datei. Hier als Beispiel das Hunk-Listing des Programms ‘RSYS’ selbst.
File name : cprogs2:RSysDir/RSys File size : 140156 hunk_header (o: $0,#0 t: $3F3,#1011) Count hunks : #3 First hunk : #0 Last hunk : #2 Hunk #0, Length $1DE8C, #122508 Hunk #1, Length $4D58, #19800 Hunk #2, Length $4, #4 hunk_code (o: $20,#32 t: $3E9,#1001) Size: $1DE8C, #122508 (MEMF_FAST) hunk_reloc32 (o: $1DEB4,#122548 t: $3EC,#1004) #17 offsets in Hunk #0 #2 offsets in Hunk #1 hunk_end (o: $1DF18,#122648 t: $3F2,#1010) hunk_data (o: $1DF1C,#122652 t: $3EA,#1002) Size: $365C, #13916 (MEMF_FAST) hunk_reloc32 (o: $21580,#136576 t: $3EC,#1004) #17 offsets in Hunk #1 #868 offsets in Hunk #0 hunk_end (o: $2236C,#140140 t: $3F2,#1010) hunk_bss (o: $22370,#140144 t: $3EB,#1003) Size: $4, #4 (MEMF_FAST) hunk_end (o: $22378,#140152 t: $3F2,#1010)
Es erscheint ein FileRequester, mit dem die ladbare Datei ausgew�hlt werden kann. Danach wird die Struktur analysiert und als Liste angezeigt.
Mit einem FileRequester kann eine Datei ausgew�hlt werden, in der die
Liste abgespeichert werden soll. Ist der Text-Formatter
aktiviert,
erscheint nach einer postiven Auswahl das Text-Formatter
-Window.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Es gibt viele Programme, die das komfortable Suchen nach Dateien in Filesystemen unterst�tzen. Allerdings sind einige Programme mit Sonder- und Spezialfunktionen �berladen, soda� man schon eine Menge Hintergrundwissen einbringen mu�, um die Programm �berhaupt korrekt bedienen zu k�nnen. Dem habe ich hoffentlich Abhilfe schaffen k�nnen. Einfach, klein und fein macht diese Utility genau das, was sie soll: Dateien suchen.
Diese Utility arbeitet intensiv mit der Funktion ExAll() und den Funktionen MatchPattern()/MatchPatternNoCase() der DOS-Library. Dabei werden zu�chst alle Dateien bestimmt und w�hrenddessen untersucht, ob es sich jeweils um ein Verzeichnis oder eine Datei handelt. Trifft dann auch das Suchmuster zu, wird es in das ListView eingetragen.
Hier eine Beschreibung der Bedienungselemente.
In diesem ListView stehen alle angemeldeten Devices und Assigns. Wenn ein Eintrag angeklickt wird, erscheint der Eintrag in dem danebenliegenden ListView.
Damit werden alle die Verzeichnisse angew�hlt auf denen Dateien gesucht werden sollen. Jeder Eintrag, der in den beiden ListViews angeklickt wird, erscheint automatisch in dem anderen ListView. Bei einem Eintrag mit einem ‘-’ davor handelt es sich um ein Assign. Ich habe diese Kennzeichnung deshalb so gew�hlt, weil ich dann entsprechend die Eintr�ge sortieren kann. Erst die echten, dann die logischen Devices.
Hier kann gew�hlt werden, ob die Dateien case sensitive (Gro�-
und Kleinschreibung wird ber�cksichtigt) oder case insensitive
(Gro�- und Kleinschreibung werden nicht unterschieden) gesucht werden.
Lautet z.B. das Suchmuster ‘Test.exe’, so wird mit No case
sense
sowohl die Datei ‘Test.exe’, als auch die Datei
‘TeSt.ExE’ gefunden.
Damit k�nnen alle Eintr�ge vom linken ListView in das rechte gebracht
werden (Sel all
: alle Verzeichnisse werden durchsucht) und umgekehrt
(Sel none
: Kein Verzeichnis soll durchsucht werden).
Wurden Verzeichnisse ausgew�hlt und im Pattern-Gadget ein Suchmuster
eingegeben, so ist dieses Gadget anw�hlbar und startet die Suche in den
Verzeichnissen des Selected Devices
-ListViews. Wird das Gadget
w�hrend eine Suche angeklickt, wird nach einer Sicherheitabfrage der
Suchvorgang abgebrochen.
Nach der Anwahl erscheint ein Filerequester, in dem die Namen der
gefundenen Dateien in eine auszuw�hlende Datei abgespeichert werden k�nnen.
Ist der Text-Formatter
aktiviert,
erscheint nach einer postiven Auswahl das Text-Formatter
-Window.
Hier kann ein Suchmuster (Dateiname oder Pattern) eingegeben werden. Hierbei gelten die �blichen Wildcards und Suchmuster des AmigaOS.
Hier kann gew�hlt werden, was f�r ein Typ von Datei gefunden werden soll.
In diesem ListView erscheinen alle gefunden Eintr�ge mit vollst�ndiger
Pfadbezeichnung. Diese Liste kann nach dem Anklicken des Save found
list
-Gadgets in eine Datei abgespeichert werden.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mit Format Disk
wird eine kleine Schnittstelle zum
‘Format’-Befehl des AmigaDOS angeboten. Die einzelnen Gadgets werden
im folgenden n�her beschrieben.
In diesem Gadget steht der vollst�ndige Pfadprogrammname des zu verwendenden ‘Format’-Befehls. Dieser lautet �blicherweise
‘SYS:System/Format’.
Mit dem nebenstehenden Select
-Gadget kann das
‘Format’-Programm mit einem Filerequester ausgew�hlt werden.
In diesem ListView erscheinen alle formatierbaren Devices alphabetisch geordnet. Das ausgew�hlte Device wird dann im zugeh�rigen Textgadget darunter angezeigt.
Hier wird der Name des Mediums (voreingestellt und systemkonform ‘Empty’) eingetragen.
Mit dieser Einstellung wird festgelegt, ob der ‘TrashCan’ samt Icon nach der Formatierung auf die frische Diskette kopiert werden soll.
Damit wird festgelegt, ob die Diskette mit dem neuen FastFileSystem des AmigaOS 2.0 formatiert werden soll, oder im alten Datenformat.
Hiermit wird das Handling der l�nderspezifischen Sonderzeichen in Dateinamen festgelegt.
In diesem Stringgadget ohne Namen steht der vollst�ndige Befehl, der nach Festlegung aller Kriterien als eigenst�ndiger Proze� ausgef�hrt wird.
Damit wird der ‘Format’-Befehl in einem Shell-Window aufgerufen.
Damit wird der ‘Format’-Befehl in einem Shell-Window aufgerufen.
Zuvor wird die Option QUICK
an den Befehl drangeh�ngt. Diese Option
startet die Formatierung des Directory-Bereiches der Diskette, also nicht
der ganzen Diskette.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Hierbei kam auch eine Routine zum Einsatz, die ich von Olsens ‘term’ geratzt habe. Leider funktioniert Olsens Routine nicht mit allen Fenstern, was an der Verwendung der Funktion ClipBlit() liegt, die zwar die ausgew�hlte BitMap eines Windows ber�cksichtigt, aber die �berlappenden Bereiche anderer Fenster mit Datenm�ll f�llt. Au�erdem verwendet Olsen die BitMap des zu einem Fenster geh�renden Screen-RastPorts anstelle des Window-RastPorts.
Dieses Problem der �berlappung habe ich durch die Verwendung der Routinen BltBitMap() und WindowToFront() behoben. Damit wird das zu speichernde Fenster nach vorne geholt, weswegen auch keine �berlappungen mit anderen Fenstern auftreten. Dieses Verfahren funktioniert nat�rlich nicht mit Backdrop-Fenstern.
Es mu� aber eine M�glichkeit geben, nur den Fensterinhalt abspeichern
zu k�nnen. Immerhin kann es die DumpRastPort
-Routine des
‘printer.device’
auch. Wer also sachdienliche Hinweise zu diesem Thema hat, m�ge sich
bitte mit mir in Verbindung setzen.
In diesem ListView erscheinen alle ge�ffneten Windows, die im System bekannt sind. Dabei werden auch die aufgef�hrt, die auf anderen Screens als dem WorkBench Screen ge�ffnet wurden.
Wurde ein Fenster angew�hlt, wird dieses Gadget aktiviert. Nach dem Anklicken erscheint ein Filerequester mit der Aufforderung, eine Datei auszuw�hlen, in der das angew�hlte Window als IFF-Datei abgespeichert werden soll.
Damit kann die Window-Liste aktualisiert werden. Dies geschieht nach dem Abspeichern eines Windows automatisch.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Alle im ROM angelegten Libraries werden gecheckt, ob sie von anderen Programmen gepatcht wurden. Sehr n�tzlich, um eventuell installierte Viren aufzusp�ren.
Dazu wird eine externe Datei verwendet, die in einem bestimmten Format
vorliegt. In dieser stehen alle Libraries und Library-Offsets drin, deren
Eintr�ge im System �berpr�ft werden sollen. Mit einem mitgelieferten
‘AREXX’-Programm kann diese Datei einfach aus den FD
-Files
erzeugt werden.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mit dieser komfortablen Suchfunktion hat der Benutzer die M�glichkeit, in der Liste des Hauptfensters nach einem String suchen zu lassen. Die Suchmethode ist einfach implementiert worden, d.h. es wird die Liste von Anfang an (oder vom letzten gefundenen Eintrag aus) durchsucht und dabei getestet, ob sich der eingegebene String als Teilstring im Listeneintrag befindet.
War der Test erfolgreich, wird der gefundene Eintrag zum
obersten Eintrag im ListView gemacht. Der String ist hierbei
"case-sensitiv" einzugeben, Gro�- und Kleinschreibung ist also zu
ber�cksichtigen! Die Taste ESC beendet die Eingabe und betrachtet
die Eingabe als abgebrochen, ebenso wie das Cancel
- und das
Closegadget.
Nach der Anwahl des entsprechenden Men�punktes erscheint ein kleines Fenster mit drei Gadgets:
In diesem Gadget kann der Suchstring eingegeben werden. Gro�- und Kleinschreibung mu� ber�cksichtigt werden. Die L�nge des Strings ist maximal 40 Zeichen lang. Nach dem �ffnen des Eingabefensters ist dieses Gadget automatisch aktiv.
Ist die Eingabe abgeschlossen, wird nach dem Gadget-Klick der String intern �bernommen und eine Vorw�rtssuche gestartet.
Die Eingabe wird abgebrochen. Der eventuell eingegebene String wird NICHT intern �bernommen.
[Top] | [Contents] | [Index] | [ ? ] |
This document was generated on February 9, 2022 using texi2html 5.0.
The buttons in the navigation panels have the following meaning:
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
[ < ] | Back | Previous section in reading order | 1.2.2 |
[ Up ] | Up | Up section | 1.2 |
[ > ] | Forward | Next section in reading order | 1.2.4 |
[ >> ] | FastForward | Next chapter | 2 |
[Top] | Top | Cover (top) of document | |
[Contents] | Contents | Table of contents | |
[Index] | Index | Index | |
[ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated on February 9, 2022 using texi2html 5.0.