Bu sayfadaki yazılar
Sayfanın metni
Sayfa 17
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 16
Virüs kendini G/Ç alanının altındaki $d000 adresine yerleştirmektedir.
Program, çalışabilmesi için Basic başlangıcına (2049) kaydırılır.
Değişen vektörler: LOAD SAVE BREAK RESTORE Basic-Warmstart Reset koruması
Fa
Virüs aktif hale geçiyor.
Program çalışmaya başlıyor.
Resim 3: Normal bir resette BHP-Virüs'ü önce kendini güvence altına alır ($d000'a yerleşir). Bu arada bilgisayarın normal işlevlerini taklit eder. Sistem kontrolleri virüs tarafından yürütülmektedir.
Eğer hastalıklı bir program yüklenirse resim 2'de üst tarafta görülen hafıza modeli oluşur. Eğer LIST komutunu yazarsanız ekrana gelecek satırdan virüsü anlayabilirsiniz:
1987 SYS PEEK (43) 4 256*PEEK(44) 4 48: VIRUS
Virüs hafızada aktif konuma geçmeden bu satır gözükmez. RUN ile program çalıştırıldığında SYS komutunun adresi hesaplanır (Eğer Basic başlangıcı 2048'de ise 2097 bulunur) ve makine dilinde yazılmış olan virüs programı devreye girer. Virüsün diğer adımları resim 3'deki diyagramda gösterilmektedir. Bu arada resim 2'de alt kısımda görülen bellek dağıtımı oluşturmaktadır. Virüs kendini
53248'den
PROFESYONELLER İÇİN GEREKLİ
BİLGİLER
($d000) başlayan yere kaydeder. Burada dışarıdan çok zor girilir; Basic V2.0'dan ulaşmak ise imkansızdır. Daha sonra ana program gerçek yerine yerleştirilir. 32768 ($8000) ve sonraki 9 bayt virüs tarafından reset koruması olarak kullanılır (CBM-80 kelimesi $8004'den itibaren yazılır). Unutmayın! Bilgisayarı kapatıp açmak bir virüsün tüm yaşam fonksiyonlarını sona erdirir. Resim 2'nin üst kısmında hastalıklı bir program yüklendikten hemen sonra (RUN edilmeden önce oluşan) bellek dağılımı görülmektedir. İkisi arasındaki tek fark, ana programın aşağı yukarı 2300 bayt ileri kaydırılmasıdır. Kullanılmıyor gibi görünen alanda ise, RUN komutuyla derhal aktif hale geçebilecek olan virüs yer almaktadır.