
==============================================================================
                                        ____
                       _______         /    )
                      /_______)       /____/
                     (_(             (_(
                      \_\             \_\
                       \_\             \_\         
                        \_\             \_\       (\
                 ________)_)         ____)_)       \\/)
                (_________/ A F E R /     / A V E   \/ 1.3
                                   (_____/

               +-------------------------------------------+
               |       Neuer Sicherheitsstandart bei       |
               | Speicher- und Löschzugriffen auf Dateien. |
               +-------------------------------------------+



                       GIFTWARE (C) 1994 UAC DESIGN


                               Frank Abbing
                            Margarethenstr.13
                        48683 Ahaus (Deutschland)

=============================================================================

Einleitung:
===========

Ist es ihnen auch schon mal passiert, daß sie versehentlich eine wichtige
Datei überschrieben haben, oder daß sie unabsichtlich einige Files gelöscht
haben, oder daß ein gemeiner Link-Virus in ihren Dateien gewütet hat, oder
daß ein Programm beim Installieren ein heilloses Durcheinander in ihrer
Startup-Sequence veranstaltet hat, oder das ein oft genutztes Programm keinen
Filerequester zur Verfügung stellt (nerv)...?

Wenn sie nur eine dieser Fragen mit 'ja' beantworten können, dann sollten
sie unbedingt weiterlesen.

Die Aufgabe von SaferSave:
==========================

SaferSave wird jetzt all diese Mißstände beheben, denn es arbeitet dort,
wo es am wirkungsvollsten eingesetzt werden kann:
Direkt im System !

Sobald es gestartet wird, installiert es neue Assembler-Routinen in zwei
Library-Funktionen der DOS-Library:

Open()
DeleteFile()

SaferSave verbiegt nicht einfach die Offset-Vektoren, sondern nutzt dazu eine
spezielle Funktion der EXEC-Library.

Einmal installiert, controlliert es diese beiden DOS-Befehle.

Sobald ein anderer Task (Programm) die Open() oder DeleteFile()-Funktion be-
nutzen möchte wird zuerst in die SaferSave-Routine gesprungen.
Hier wird nun erkannt, ob der Task etwas speichern/löschen möchte (er könnte
auch etwas laden).
Ist das der Fall, öffnet sich ein Bildschirm und ein Fenster erscheint, und
sie können lesen, unter welchem Namen der Task etwas speichern/löschen
will.
Wenn in die Speicher-Routine verweigt wird, erscheint ein blaues Teufelchen,
ansonsten ein Rotes (Ich hoffe, das klappt bei allen WB-Einstellungen).

Hier können sie jetzt folgende Entscheidungen fällen:

LINKE MAUSTASTE oder  = Ja, die Datei soll gespeichert/gelöscht werden.
LINKE ALTTASTE oder
SHIFT-TASTEN           

RECHTE MAUSTASTE oder = Nein, nicht speichern/löschen.
RECHTE ALTTASTE

CTRL oder TASTE 'Q'   = Hiermit erreichen sie, daß die neue Routine Open(),
                        oder DeleteFile() wieder aus dem System gelöscht
                        wird. Die aktuell überprüfte Datei wird wieder ganz
                        normal gespeichert/gelöscht. Die jeweilige 
                        DOS-Funktion wird in ihren Originalzustand versetzt.

LINKE AMIGATASTE oder = Es erscheint ein ASL Filerequester (erst ab Kick 2),
RECHTE AMIGATASTE       in dem sie den Namen ändern können, unter dem
                        gespeichert/gelöscht werden soll.
                        Diese Funktion wurde extra für die Leute eingebaut,
                        die noch mit älteren Programmen (z.B. DevpacAss 1.0)
                        arbeiten. Solche Programme verwenden oftmals nur
                        eine Eingabezeile zum laden/speichern.
                        Sollten sie den ASL Requester nutzen, dann rate ich
                        ihnen dringend ab, den Menüpunkt "Löschen" zu
                        gebrauchen, den die asl.library zur Verfügung stellt.
                        Ich vermute, es könnte schiefgehen, wenn sie eine
                        Routine (DeleteFile()) in sich selbst aufrufen
                        (Crash!).

Wird in eine der beiden neuen Routinen gesprungen, und die letzte gedrückte
Taste war oder ist eine der drei SHIFT-TASTEN, dann springt die Routine
sofort in die alte Systemroutine. Die Datei wird also ohne Meldung gespei-
chert/gelöscht.
Die SaferSave-Routine bleibt jedoch nach wie vor aktiv.
Diese Sicherung wurde speziell eingebaut, um lästiges Maustastendrücken zu
verhindern, wenn sie z.B. mit DirOpus viele File kopieren wollen, oder mit 
PowerPacker eine Script-Datei ausführen lassen wollen, usw...

Falls SaferSave aus irgendwelchen Gründen keinen eigenen Bildschirm öffnen
konnte, werden nur drei Bildschirmblitze (DisplayBeep()) gesendet; Maus- und
Tastatureingaben werden jedoch trotzdem erwartet (Ausnahme: AMIGATASTEN!).

SaferSave nimmt immer den Bildschirmmodus an, der bei seinem Start aktiv war
(Workbench-Modus).
Dieses wurde eingebaut für alle Anwender eines MultiScan-Monitors.
Für alle Anwender, die noch nicht über Kickstart 2 oder höher verfügen,
ist der PAL Hires Modus voreingestellt. Diese Leute können auch den ASL
Filerequester nicht verwenden (gehört erst ab Kick 2 zum System).

Programmstart:
==============

SaferSave kann entweder von der Workbench oder durch CLI/Shell gestartet
werden.
Bei der zweiten Startmethode gibt es eine kurze Meldung über Copyright und
Systemstatus aus, beim Start von der Workbench passiert zuersteinmal nichts
Sichtbares.
Sie können SaferSave also bequem in die WBStartup-Schublade verstauen, von
wo aus es automatisch bei jedem Booten des Systems gestartet wird, oder als
letzten Befehl in die User-Startup-Datei schreiben.

Hinweise zum Programm:
======================

SaferSave wurde in E V2.1b (plus Assembler) geschrieben (Hallo Wouter!).
Theoretisch müßte es auf allen Systemen ab Kickstart 1.3 laufen, ausprobiert
und geschrieben habe ich SaferSave aber auf meinem A1200/HD120/6MB/Kick3.0.
Es ist relativ systemkonform gehalten und besitzt eine optimale Methode,
seine neuen Library-Funktionen (scheinbar) wieder zu entfernen.
Die Tastaturabfrage und die Abfrage der beiden Maustasten werden jedoch
direkt von der Hardware abgelesen.

SaferSave ist als Giftware konzipiert.
Für sie bedeutet das: Wenn sie mein Programm des öfteren nutzen, oder es
ihnen schon mal wichtige Daten gerettet/bewahrt hat, dann müssen sie mir als
Bezahlung für SaferSave (egal, ob sie schon PD-Gebühren bezahlt haben),
etwas im Wert von DM 15 schicken.
Z.B.: Geld, Schecks, selbstgeschriebene Programme, Goldmünzen, Bierfässer...

An alle 'schwarzen Schafe':
===========================

Wenn PD-HÄNDLER- und VERTREIBER SaferSave V1.3 in irgendeiner Form vertreiben
wollen, wird in der Regel eine Gebühr von DM 20 fällig, solange nicht etwas
anderes mit mir vereinbart wurde !!!!!
Sollte es in diesem Punkt Unklarheiten geben: Oben im Text steht meine
Adresse, unter der ich gefragt werden kann !!!

Was sie noch wissen sollten:
============================

Einige Programme versuchen beim Programmstart/ende Daten zu speichern.
Geraten sie deswegen nicht in Sorge.
Bei Benutzeraktionen (Icon anklicken, Menupunkt auswählen, Shell-Befehl ein-
geben...) ist es in der Regel normal, wenn sich SaferSave mit einem Anliegen
meldet.
Vorsicht ist geboten, wenn z.B. plötzlich, ohne das sie irgendwas getan
haben, der SaferSave-Bildschirm erscheint.
Prüfen sie ganz genau, was sie dann zu tun haben !
Sollte die Meldung den Dateinamen 'startup-sequence' oder 'user-startup'
oder 'WBStartup' enthalten, dann ist äußerste Vorsicht geboten!
Es könnte ein File/Link-Virus am Werke sein !!!
Drücken sie im Zweifelsfalle immer den RECHTEN MAUSKNOPF oder geben sie
einen anderen Dateinamen an, z.B.: "RAM:Test".

Einige Programme (mit vorliebe Spiele) erzeugen ihre eigenen Bildschirme
per Copperliste und pfeifen auf die konfortablen Routinen, die ihnen
das System zur Verfügung stellt.
Bei solchen Bildschirmen kann SaferSave seinen eigenen nicht in den
Vordergrund bringen. Er ist jedoch im Hintergrund vorhanden.
Wundern sie sich also nicht, wenn beim Abspeichern der HiScore oder
Spielstände plötzlich der Computer ungewöhnlich reagiert, denn im Hintergrund
erwartet SaferSave ihre Reaktion auf den Speicherversuch.

Sollte es einen Systemabsturz geben, wenn sie die SaferSave-Meldung per
RECHTEN MAUSKNOPF beantworten, dann ist das nicht die Schuld von SaferSave,
sondern die Schuld des Programmes, das etwas speichern/löschen wollte
(Miese Programmierung - keine Überprüfung des Rückgabewertes; ist mir bisher
noch nicht vorgekommen, aber nicht auszuschliessen).

Einige Verzeichnisse werden von SaferSave nicht beachtet und es wird ohne
Meldung gespeichert/gelöscht:

RAM:	(Ram Disk)
NIL:	(Null-Port)
PAR:	(Parallelport)
PRT:	(Druckerport)
CON:	(Eingabe-Fenster)
RAW:	(Anzeige-Fenster)

Virenspezial:
=============

Mein Nachbar (besitzt einen A1200) hatte zeitweise ein echtes Virenproblem
mit einem Programm namens: 'Purge' (Hallo an Heiner Schneegold!).
Dieser Virus (ziemlich pervers) schreibt sich automatisch in alle drei
Startup-Dateien/Schubladen (nicht an den Anfang oder an das Ende, sondern
genau in die Mitte) und wartet einige Zeit im Speicher, um dann zuzuschla-
gen.
Er löscht alle (!) Icondateien aller Schubladen, Programme und Devices, und
ersetzt sie durch sein eigenes IconBild (muß man gesehen haben).
Dabei begeht es scheinbar (oder gewollt) einen Fehler, denn die Programme
sind danach nicht mehr ausführbar.
Dieser fiese Filevirus war für mich der Auslöser, SaferSave zu schreiben.

Sollten sie auch einmal ein fatales Virenproblem haben, mit dem SaferSave
nicht zurechtgekommen ist, dann teilen sie mir dieses ruhig mit (Nur Viren,
die irgendwie auf DOS Files zugreifen; für die anderen sind die zahlreichen
Virenkiller zuständig [Giftware beifügen!!!])!

Noch geplant für SaferSave:
===========================

- Automatisches PowerPacker-Crunching für alle zu speichernden Dateien/Files
  (evt. wahlweise Lha)
- Einbindung der locale.library (wirksam ab Kick 2.04/Workbench 2.1)
- Gadgets anstatt (oder zusammen mit) Tastatur
- Programmoptionen speicherbar
  ...

Ende:
=====

Ich hoffe, ihnen sehr geholfen zu haben.
Und vergessen sie nicht:
SaferSave ist Giftware (Give what you want, but give!).

Frank Abbing, UAC Design.