Magic Disk 64

home to index to html: MD8807-HACK-MECK-VIRUSPROGRAMMIERKURS_TEIL_1-5.1.html
               Hack-Meck                
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Lange wurde er angekündigt -  jetzt  ist
er endlich da: der Virusprogrammierkurs!
In den folgenden  Ausgaben  möchten  wir
Sie in der Rubrik  Hack-Meck  im  Rahmen
dieses Kurses in die Funktionsweise  ei-
nes Virus einführen. Am Ende werden  Sie
in der Lage sein, sich einen eigenen Vi-
rus programmieren und die Anatomie eines
jeden Exemplars untersuchen  zu  können,
um so zum Beispiel einen Viruskiller  zu
einem beliebigen Virus schreiben zu kön-
nen.                                    
Doch nun gebe ich das  Wort  an  unseren
"Virenspezialisten":                    
Ich möchte an dieser Stelle darauf  hin-
weisen, daß dies ein  überaus  brisantes
Thema ist,  mit  dem  man  nicht  spaßen
sollte, denn ein Virus  ist  ein  eigen-
ständiges Programm und  bösartige  Viren
können  verheerende  Folgen  haben,  die
nicht  zuletzt  auch  den  Programmierer
selber treffen können!                  
Ich selbst bin  bei  der  Programmierung
auf meinen eigenen Virus hereingefallen,
als er sich plötzlich vor meinen Assemb-
ler gehängt hatte, weil ich vergaß,  daß
er noch aktiviert war. Dieser  Kurs  ist
nur zur Verständlichmachung eines  Virus
gedacht, nicht aber um Schaden anzurich-
ten! Achten Sie also darauf, Ihren Virus
so zu programmieren, daß er den Benutzer
vor eventuellem Datenverlust warnt.  Un-
ser  Magic  Disk  Virus  arbeitet   nach
demselben Prinzip. Sie  haben  sich  mit
Sicherheit auch schon  einmal  über  den
Verlust eines  wichtigen  Quellcodefiles
geärgert, und: was Du nicht willst,  daß
man Dir tu, das füg' auch keinem  andern
zu ...                                  
Da Sie sich ja nun hoffentlich  der  Ge-
fahr eines Virus bewußt sind, möchte ich
nun endlich zur Ausführung schreiten.   
Ich werde versuchen, den Kurs  möglichst
leichtverständlich zu halten,  doch  ist
es unerläßlich, wenigstens  den  Assemb-
lerbefehlssatz des C64 zu  kennen.  Denn
ein Virus  kann  nur  in  Assembler  ge-
schrieben werden,  da  er  ein  Programm
ist, das nahe am System arbeitet und so-
mit nur Hand in Hand mit  dem  Betriebs-
system des  C64  (bestehend  aus  reinem
Assemblercode) wirklich effektiv wirksam
ist.                                    
Beginnen wir also  Schritt  für  Schritt
mit der Planung unseres Virus,  den  Sie
am Ende in  seiner  endgültigen  Version
testen dürfen. In der  nächsten  Ausgabe
wird er  der  Magic  Disk  64  beigefügt
sein.                                   
Definieren wir zunächst erst einmal  den
Begriff "Virus":                        
Wie mittlerweile  (nach  dem  BHP-Virus)
überall bekannt sein dürfte, ist ein Vi-
rus ein kleines aber  effektvolles  Pro-
gramm, das sich auf  Diskette  vermehrt,
und zwar ganz still und leise, ohne  daß
der Benutzer direkt etwas  davon  spürt.
Das heißt im Klartext: wird  ein  System
von einem Virus  befallen,  so  versucht
dieser (so lange wie er aktiv ist)  sich
zu vermehren. Bei jeder  sich  bietenden
Gelegenheit versucht er, sich auf  einen
Datenträger, sprich  eine  Diskette,  zu
kopieren. Somit ist die  Chance  größer,
daß ein "geheiltes" System wieder  infi-
ziert wird; nämlich einfach dadurch, daß
ein infiziertes Programm gestartet wird.
Obendrein haben manche Viren  auch  noch
zusätzliche Funktionen, die den Benutzer
hin und wieder auf ihre Anwesenheit auf-
merksam machen.  Zum  Beispiel  kann  es
vorkommen,  daß  plötzlich  ein  kleiner
Käfer über den Bildschirm krabbelt,  daß
der Cursor  verrückt  spielt  oder  Ähn-
liches.                                 
Meistens sind Viren sogar so hartnäckig,
daß man sie nur noch mit einem  brutalen
Abbruch  der  Stromzufuhr,  sprich   dem
Ausschalten des Computers, stoppen kann.
Diese  typischen  Merkmale  eines  Virus
wollen wir hier nochmal in einer Tabelle
zur besseren  Übersicht  zusammentragen,
denn diese Funktionen soll unser kleiner
Freund später ja auch besitzen:         
1) "Fortpflanzung" auf andere Disketten,
   um die Art zu erhalten.              
2) Speicherresistenz, d.h. Schutz vor   
   RESET und RUN/STOP-RESTORE           
3) Kleiner Hinweis auf die eigene Exis- 
   tenz.                                
Beginnen wollen wir mit dem  ersten  und
zugleich auch schwierigsten  Punkt:  die
Artenerhaltung. Da dieses  Thema  aller-
dings sehr ausgedehnt ist, muß  ich  Sie
leider hiermit auf die  nächste  Ausgabe
der Magic Disk vertrösten,  in  der  wir
dann endlich zur  Praxis  übergehen  und
mit der Programmierung beginnen möchten.
Valid HTML 4.0 Transitional Valid CSS!