
                             VirusX
                         ***************

VirusX
von Steve Tibbett


 Das komplette Virenkillersystem!


VirusX - Das fünfte in der wachsenden Reihe der "X-Utilities".


---------------------------------------------------------------------------


Anmerkungen zu den verschiedenen Versionen:
-------------------------------------------

Anmerkung zu V1.01: Bei 1.01 handelt es sich lediglich um die Version
1.0, bei der ein Programmfehler korrigiert wurde. Habe auch den Quellcode
etwas aufgeräumt (ein GOTO weniger).

Anmerkung zu V1.2: Bei 1.2 wiederum handelt es sich um Version 1.01, wobei
das Programm nun auch den ByteBandit-Virus im RAM und auf der Diskette
aufspürt.

Anmerkung zu V1.21: Version 1.21 ist die aufgeräumte Version 1.2; ich hätte
V1.2 so nie herausgeben dürfen (ein printf, wo es nichts zu suchen hatte).

Anmerkung zu V1.3: Version 1.3 ist die aufgeräumte Version 1.21 und wieder
kürzer geworden. Noch ein Grund, es resident zu installieren...

Anmerkung zu V1.4: Eine neue Version, die auch mit dem REVENGE-Virus
fertig wird.

Anmerkung zu V1.5: Extra zur Bekämpfung des Byte Warrior Virus herausge-
bracht.

Zwischendurch habe ich VirusX das Zeug dazu mitgegeben, alle 4 aktuellen
Viren auch im Speicher zu erkennen und zu entfernen. Hast Du also VirusX
in Deiner startup-Sequence, hat ein Virus KEINE Möglichkeit mehr zu
überleben (solange er nicht so neu ist, daß ich ihn nicht kenne).

-> LESE bitte auch die Neuigkeiten zum Byte Bandit Virus <-
               -> am Ende dieses Textes! <-
     -> Und die neuen Anmerkungen zum Revenge Virus <-
    -> UND die neuen Anmerkungen zum Northstar Virus <-

Achtung! Um VirusX von der Startup-Sequence aus starten zu können, mußt
Du den Befehl "RUNBACK VIRUSX" und nicht "RUN VIRUSX" einbauen! Ansonsten
schließt sich nämlich das zu Anfang erscheinende AmigaDOS-Fenster nicht.
Eine Menge Leute haben mich danach gefragt - RunBack ist ebenfalls
auf einer Fish-Disk (*** Und im C-Verzeichnius dieser Cactus-Diskette!!!
-Der Übersetzer- ***) - also kopiere den Befehl auf Deine Bootdiskette
und benutze ihn zum Start von VirusX (Benutzer von Arp können auch ARun
dazu nehmen).


--------------------------------------------------------------------------


Hinweise zur Version 1.0
========================

Der SCA-Virus verfolgt uns nun schon einige Monate, und ich glaube daß es
jetzt an der zeit ist, endgültig damit aufzuräumen.

Es gibt einige gute Viruskiller, die nur im CLI arbeiten. Aber was tust Du,
wenn Du nicht so gerne im CLI arbeitest? Du benutzt ganz einfach VirusX!

Außerdem ermuntere ich Dich dazu, dieses Programm an jeden weiterzugeben,
der von Viren befallen sein könnte. Das gilt auch für Deinen örtlichen
Computerhändler. In meiner Gegend sind nämlich einige Händler vollkommen
virenverseucht, und die Viren werden auf diese Weise an die Käufer weiter-
gegeben. Die Händler unternehmen nichts dagegen, weil sie nicht wissen,
was sie tun müssen. Das erledigt aber jetzt VirusX auf simpelste Art.

Du kannst VirusX auch in Deine Startup-Sequence einbauen. Nach seiner
Installation öffnet es ein kleines Fenster, um Dir zu zeigen, daß es
vorhanden ist. In diesem Fenster wird auch, falls notwendig, eine Meldung
ausgegeben. Jedesmal, wenn Du eine neue Diskette in eines der Laufwerke
einlegst, wird diese automatisch auf SCA-Virenbefall untersucht. Auch der
Bootblock wird untersucht, ob es sich um einen regulären Bootblock handelt.
Liegt kein Standard-Bootblock vor, dann hast Du entweder eine neue Form
des Virus eingefangen, die ich noch nicht kenne, oder auf der Diskette
befindet sich ein kommerzielles Programm, das den Bootblock für wichtige
Programmroutinen benutzt (wie z.B. Schnellader).

Findet VirusX einen ungewöhnlichen Bootblock, dann teilt es einem Abfrage-
fenster entweder mit, daß der SCA-Virus gefunden wurde, oder teilt dem
Benutzer mit, daß der Bootblock nicht normal ist. In beiden Fällen kann
der Anwender wählen, ob er weitermacht oder den Bootblock löscht.

Entscheidet man sich für das Löschen, fragt das Programm noch einmal an,
ob man sich da ganz sicher ist. Bestätigt man das, wird der Bootblock
mit einem Standardbootblock überschrieben.
ACHTUNG: Überschreibe niemals den Bootblock einer kommerziellen Diskette,
wenn Du dir nicht ganz sicher bist, ob das Programm auf dieser Diskette
nnicht doch den Bootblock brauchst. Erscheint vor dem Start das AmigaDOS-
Fenster, dann kann meistens der Bootblock gelöscht werden. Aber: Fertige
Dir, soweit möglich, auf jeden Fall eine Sicherheitskopie an, auf der Du
das ausprobierst!
VirusX schreibt genau denselben Bootblock auf die Diskette, der auch bei
Benutzung des INSTALL-Befehls erstellt würde.

Entdeckst Du eine neue Variante des SCA-Virus oder sogar einen vollkommen
neuen Virus, dann schicke mir BITTE eine Kopie der Diskette mit dem Virus!
Ich möchte mit VirusX nämlich immer auf dem laufenden bleiben, und darum
brauche ich die Viren. Neben dem SCA-Virus habe ich auch schon von zwei
anderen Viren gehört, aber diese bis jetzt noch nicht zu Gesicht bekommen.

Natürlich gibt es einige von Euch, die glauben, daß ich so verrückt wäre
und unter der Tarnung eines Viruskillers meinen eigenen Virus verbreiten
würde. Genau für diese Leute habe ich den C-Quellcode hinzugefügt. Wenn
Du mir nicht traust, dann schmeiß das Programm nicht einfach weg, sondern
schau im Quellcode nach! Und wenn Du dann noch glaubst, ich wollte Dich
verkohlen, dann recompiliere das Programm doch! Das einzige, was ich möchte,
ist, daß die Viren endlich verschwinden.

Ich wünsche mir jetzt viele Reaktionen darauf. Schreib mir doch mal einen
Brief!
Dieses Programm ist zwar mit meinem Copyright versehen, aber darf gratis
weitergegeben werden (es handelt sich NICHT um Shareware). Mach damit, was
Du willst, aber benutze es nicht, um damit etwas zu zerstören. Genau das
möchte ich nämlich verhindern.

Meine Anschrift:

   Steve Tibbett
   2710 Saratoga Pl. #1108
   Gloucester, Ontario
   K1T 1Z2
   KANADA

   Meine Mailbox: OMX BBS, 613-731-3419.

Auf BIX kann man mich unter "s.tibbett" erreichen; unter People/Link
als "SteveX".

Eine Anmerkung zum Schluß: Wenn Du das Fenster von VirusX anklickst, dann
zeigt Dir die Titelzeile des Bildschirms an, wie viele Disketten untersucht
und wie viele Viren gefunden wurden.


--------------------------------------------------------------------------


Hinweise zur Version 1.2
========================

Anmerkung:

 - Findet und entfernt VirusX den Byte Bandit Virus in einem deutschen
   A2000, kann es passieren, daß der Rechner abstürzt. Ich weiß noch nicht,
   woran das liegt, aber das gleiche funktioniert beim B2000 sowie beim
   Amiga 500 und Amiga 1000 einwandfrei...

BYTE BANDIT VIRUS:

Hauptgrund für diese überarbeitete Neuversion war der Byte Bandit Virus.
Dieser Virus setzt sich im Speicher direkt über dem High Memory Pointer
im ersten freien Speicherbereich fest, so daß er sich nicht immer im
selben Speicherbereich befindet. Dort flechtet er sich in die Interrupt
Server Kette ein, ändert die Trackdisk.device-Vektoren und schützt sich
außerdem vor einem RESET, so daß er auch nach einem Neubooten noch vor-
handen ist.

Nun wartet er auf IRGENDEINE Diskette in IRGENDEINEM Laufwerk und schreibt
sich auf jede bootfähige Diskette, die ohne Schreibschutz eingelegt wird!
Dadurch verbreitet er sich wie ein Lauffeuer - jede Diskette, die Du
während einer Sitzung in Dein externes Laufwerk einlegst, kann infiziert
werden. Zum Scheitan!

Und das Schlimmste: Hast Du gemerkt, daß sich der Virus auf der Diskette
befindet, und INSTALLierst Du diese Diskette, schreibt sich der Virus
unmittelbar nach dem INSTALLieren wieder darauf!!! Deshalb ist es unum-
gänglich, den Virus zuerst aus dem RAM zu entfernen.

Findet VirusX diesen Virus, zeigt es zusätzlich zu der Meldung noch an,
wieviele andere Disketten von diesem Virusast schon infiziert wurden.
Hast Du also auf Deiner Diskette einen Virus mit der Nummer 300, und dieser
Virus infiziert eine andere Diskette, dann bekommt diese Diskette die
Nummer 301. Die hiervon infizierte Diskette erhält die Nummer 302 usw.
Naja, wie auch immer, jedenfalls hat der bei MIR gefundene Virus die
Nummer 879...

Denke daran, daß VirusX neben den Disketten auch den Speicher nach diesem
Virus durchsucht. Wie Du ja gesehen hast ist das unbedingt notwendig.

Mein besonderer Dank gilt Dave Hewett, der mir zwei Tage, nachdem ich
ihm eine Kopie des Virus gab, ein ausgedrucktes und kommentiertes
Disassemblerlisting des Virus mit Hinweisen auf besonders wichtige
Praogrammsprünge und allem anderen überreichte, was ich brauchte, um dem
Virus den Garaus zu machen. Danke schön, Dave!

Auch an Bruce Dawson von Cygnus Software geht mein Dank, der zu seinem Pech
der erste war, der mir den Virus zuschickte (und der bis jetzt auch der
einzige ist! Leute, ich brauche Eure Hilfe, um auch die nächsten Viren zu
killen. Klar?).


---------------------------------------------------------------------------


Hinweise zur Version 1.4
========================

   Neu in dieser Version von VirusX:

    1: VirusX hält Ausschau nach dem neuen REVENGE-Virus und zerstört ihn.

    2: Ab sofort kann der Bootblock im Ascii-Format angesehen werden.

    3: Bei Entdeckung des SCA-Virus im Speicher wird der Benutzer
       informiert und der Virus entfernt.


1: "Der Revenge Virus"
----------------------
Die aktuelle Version von VirusX wurde hauptsächlich deshalb herausgegeben,
um mit dem REVENGE-Virus fertigzuwerden. Dieser Virus ist in Nordamerika
bis jetzt noch nicht weit verbreitet (ich glaube, ich habe als erster ein
Exemplar davon erhalten); scheint aber in Schweden und Deutschland recht
verbreitet zu sein. Deshalb richtet sich diese Version von VirusX mehr
oder weniger an die Amiga-Besitzer dort. Trotzdem bin ich überzeugt, daß
auch wir hier auf der anderen Seite des großen Teiches diesen Virus
noch früh genug zu Gesicht bekommen werden.

Der Virus zeigt dieselben Symptome wie der der Byte Bandit-virus.
ZUSÄTZLICH wartet er, nachdem er eine Diskette infiziert hat und neu
gebootet wurde, noch eine Minute und verwandelt den Mauszeiger dann in
einen bestimmten Teil der männlichen Anatomie...

Der Grund, warum dieser Virus REVENGE-Virus (=Rache-Virus) genannt wird,
ist meines Erachtens der, daß der Virus Ausschau hält nach dem SCA- und dem
Byte-Bandit-Virus. Findet es einen der anderen Viren, bekämpft er ihn,
so daß schließlich das System abstürzt. Natürlich kann ich mich da auch
irren - jedenfalls sieht das disassemblierte Listing so aus, als würde
er auf diese Weise funktionieren, doch leider habe ich im Moment keinen
SCA-Virus zu Testzwecken da. Ich hab's schließlich mit dem Byte Bandit
versucht, und beim test zeigte sich nichts dergleichen - aber trotzdem
solltest Du dich schon mal in Acht nehmen, da es früher oder später doch
passieren kann.

Der Virus macht sich resetfest, indem der CoolCapture-Vektor in Richtung
der Virusadresse verschoben wird. Anschließend mogelt er sich in den
DoIO-Aufruf und wartet auf einen Versuch, den Bootblock zu lesen oder zu
schreiben, um dann entsprechend zu handeln. Per Interrupt zählt der
Virus außerdem die VBlanks (*** Die Rasterzeilen der Bildschirmausgabe
-Der Übersetzer- ***), bis es an der zeit ist, den perversen Pointer
vorzuzeigen.

Diesen Virus aus dem Speicher zu bekommen, ist die einfachste Sache der
welt - Du machst einfach einen Reset (CTRL-Amiga-Amiga) und hältst
währenddessen den Feuerknopf des Joysticks in Port 2 gedrückt. Nun
verfärbt sich der Bildschirm kurz rötlich, und der Virus ist nicht mehr.
Hältst Du dagegen sowohl Feuerknopf als auch die linke Maustaste während
des Reset gedrückt, wird der Virus nur zur Hälfte entfernt; der Bildschirm
färbt sich daraufhin blau..

Findet es diesen Virus im Speicher, gibt VirusX eine Warnung aus, nachdem
es ihn unschädlich gemacht hat. Auch auf Diskette findet VirusX den
REVENGE Virus.


2: Die Anzeige des Bootblockes im ASCII-Format
----------------------------------------------
Klickst Du das kleine VirusX-Fenster an und gibst eine Zahl von 0 bis
3 ein (entsprechend der Nummer des Diskettenlaufwerkes), vergrößert
VirusX sein Fenster und zeigt darin den Ascii-Inhalt der Blöcke 0 und 1
an. Falls also bei der Arbeit mit VirusX die Meldung "Nonstandard Boot
Block" erscheint, kannst Du nun selbst nachsehen und feststellen, ob
es sich um einen neuen Virus handelt (vorausgesetzt, dessen Autor hat
noch einen kleinen Text dringelassen). Ein Beispiel wäre beim REVENGE-
Virus der Text "Revenge Virus 1.2G"; aber auch andere Texte können Viren
anzeigen.

Auch kannst Du dich so informieren, welche Abart des SCA-Virus Du gerade
killst. VirusX teilt Dir nämlich lediglich mit, daß ein SCA-Virus
gefunden wurde, aber nicht welcher (LSD, Zorro/Willow oder welcher Virus
auch immer daraus entstanden ist).


3: Auffinden und Entfernen des SCA-Virus im Speicher
----------------------------------------------------
Diese Version des VirusX erkennt ebenfalls, ob sich der SCA-Virus im
Speicher befindet, und setzt ihn nach einer Mitteilung an den Benutzer
außer Gefecht. Das hätte ich schon längst einbauen sollen, aber was lange
währt, wird endlich gut...

Ein Dankeschön an Lars Wilkund, der mir als erster (und bis jetzt auch als
einziger) den Virus auf Diskette zugeschickt hatte. Lars gehört einer
schwedischen Usergruppe mit mehr als 700 Mitgliedern an!


---------------------------------------------------------------------------


Hinweise zur Version 1.5
========================

Diese Version fügt der Liste de  erkannten (und damit gebannten) Viren den
Byte Warrior Virus hinzu.

Der Byte Warrior Virus ähnelt stark dem Byte Bandit Virus, außer daß er
nicht entworfen wurde, um irgend etwas zu zerstören. Falls dieser Virus
einen anderen Virus bemerkt, gibt er einen Warnton aus (glaube ich
zumindest - bei mir tat er das nicht). Trotzdem schreibt sich auch dieser
Virus auf jede eingelegte Diskette. Außerdem birgt der Virus eine
verborgene Nachricht, die den Benutzer darum bittet, ihn weiter zu
verbreiten und nicht zu löschen. Tja, was sagt man dazu...

Natürlich wurde V1.5 wieder kürzer als V1.4 (ich weiß wirklich nicht, was
passiert ist!).


--------------------------------------------------------------------------


Hinweise zur Version 1.6
========================

Die einzige Neuerung betrifft die Erkennung des North Star "Antivirus".
Dieser Virus warnt vor anderen Viren - was ich für eine ausgesprochen
schlechte Idee halte, da er genausoviel Schaden stiften kann wie der Rest.

Achja, und VirusX frißt jetzt nicht mehr beim erneuten Einlegen einer
Diskette zusätzlichen Speicher (hahaha, hat keiner gemerkt!).

Außerdem habe ich bei dieser Version zum ersten mal nicht den Quellcode
hinzugefügt. Wenn ich mir ansehe, wie lang der Quellcode ist und wie
selten er benutzt wird (hoffentlich hat ihn sich überhaupt mal jemand
angesehen), und da ich hoffe, daß Ihr mir jetzt alle vertraut, glaube
ich jetzt, daß es nicht mehr notwendig ist, den Quellcode zusammen mit
dem Programm weiterzugeben. Falls Du trotzdem den Quellcode brauchst,
schick mir bitte eine Diskette und einen frankierten Rückumschlag.


---------------------------------------------------------------------------


Hinweise zur Version 3.1
========================

Das Programm erkennt jetzt auch den IRQ-TeamV41.0-Virus.Dieser ist
ein sogenannter Hangvirus.Er befindet sich nicht mehr im Bootblock einer
Diskette, im C-Directory.Der Virus versucht die Startup-Sequence zu
analysieren, sucht den ersten Befehl und versuchtdiesen zu infizieren.
Klappt dies nicht, so wird der DIR-Befehl infiziert.
Die neueste Version von VirusX schafft auch diesen Virus !!


Es sind noch MEHR Viren unterwegs!  Schick Sie bitte mir!

   ...Steve

