VIRUSNAME:      Quicky.1376
VIRUSTYP:       Residenter EXE-Virus, Fast Infector, destruktiv
GROESSE:        .EXE-Programme...........: 1376 Bytes
                Speicher.................: 1616 Bytes
INFIZIERT:      EXE-Programme ("MZ") beim Starten und Schliessen
SYMPTOME:       Schwerer Datenverlust, Programmverlaengerungen

<Quicky> ist ein residenter Dateivirus, sehr einfach verschuesselt.
Mit INT 21h, AX=C000h BX=Infektionszaehler mit dem Resultat AX=76F3h ueber-
prueft der Virus, ob er bereits resident ist. Ist das nicht der Fall wird der
Viruscode hinter das Hauptprogramm kopiert, Interrupt 13h und 21h durch
direktes Manipulieren der Interrupttabelle belegt, das eigentliche Haupt-
programm gestartet und schliesslich der Virus mit der normalen DOS-Funktion
fuer speicherresidente Programme (INT 21h, AH=31h) beendet.
Der TSR-Mechanismus von <Quicky> gleicht somit dem, den <Jerusalem> benutzt.
Einige Waechter-TSRs haben mit dieser Methode Probleme und erkennen die
Aktivierung des Virus entweder ueberhaupt nicht oder bringen den Rechner
zum Absturz falls versucht wird den Virus aus dem Speicher zu entfernen.

Der Virus belegt 1616 Bytes an konventionellen Arbeitsspeicher, kann aber
auch im UMB-Bereich aktiv werden falls das infizierte Programm mit LOADHIGH
in diesen Bereich geladen wurde.

<Quicky> faengt Funktion 4B00h (Programme starten) und 3Eh (Datei schliessen)
ab, infiziert also schon bereits beim Scannen oder Kopieren von Programmen.
Da INT 24h (Kritische Fehler) nicht blockiert wird, erzeugt der Virus bei
dem Versuch Programme auf schreibgeschuetzten Disketten zu infizieren Fehler-
meldungen. Waehrend der Infiziervorgangs setzt der Virus Interrupt 13h und
21h auf seine gespeicherten Werte zurueck, um damit Waechter-TSRs zu umgehen.
Allerdings hat das bei aktiven Disk-Cache zur Folge, da die FAT sehr schnell
ungueltigen Eintrage enthaelt und Datenverlust eintritt.

Der Virus umgeht Schreibschutz-Dateiattribute und behaelt das Dateidatum
waehrend der Infizierung bei. In unregelmaessigen Abstaenden wird auch ueber-
prueft ob genug freier Platz auf der Festplatte vorhanden ist.
<Quicky> infiziert EXE-Programm auf die uebliche Art, es wird die EXE-
Signatur "MZ" ueberprueft. Der Virus verlaengert Programme um 1376 Bytes und
befindet sich am Dateiende. Wurde ein Programm erfolgreich verseucht, loescht
<Quicky> noch die Pruefsummendateien CHKLIST.TAV, ANTI-VIR.DAT und
CHKLIST.MS; evtl. vorhandene Schreibschutzattribute werden dabei umgangen.

Der INT 13h-Handler des Virus ist eine reine Schadensfunktion. Es werden
Lese- und Schreibzugriffe abgefangen und in Abhaengigkeit von Systemzeitgeber
und Infektionszaehler beim Schreibzugriffen Bytes an zufaelligen Positionen
im Schreibpuffer negiert. Anhand des Lesezugriffs ermittelt der Virus Zu-
fallszahlen, die zur Kontrolle der Schadensfunktion und der Dateiinfizierung
benutzt werden.

Es gibt noch zwei weitere neudefinierte INT 21h-Funktionen (C001h und C002h),
mit denen die Schadensfunktion und das Infizieren von Programmen aus- und
eingeschaltet werden kann.

Der Virus ist verschluesselt. Allerdings nur sehr einfach (XOR/BYTE) und
nicht polymorph. Es sind keine Texte in infizierten Programmen sichtbar.

Der Virusprogrammierer war entweder unerfahren oder sehr pingelig. Einige
Interruptfunktionen werden mit unnoetigen Parametern aufgerufen, die nur
den Viruscode verlaengern. Ein Beispiel dafuer ist z.B. MOV AX,4000h anstatt
von MOV AH,40h.

[ Analyse: 28.3.95  (c) 1995 Stefan Kurtzhals, Virus Help Munich ]

