HappyLand Software 獻上
* 本文章僅供研究、學習 *
相信電腦界的每個人都痛恨計算機病毒,她給我們帶來了很多麻煩和損失, 可你知道編寫病毒的方法和過程嗎?在此我僅以VB編寫為例,揭開她的面紗。
用VB編寫病毒需要考慮到如下幾點:
* 感染主機 ~~~~~~~~~~ 首先染毒文件運行后先要判斷主機是否以感染病毒,也就是判斷病 毒主體文件是否存在,如果不存在則將病毒主體拷貝到指定位置(如: 將病毒文件拷貝到c:\windows\system\),可用filecopy語句實現;如果 病毒已感染主機則結束判斷。
例如,判斷C:\windows\system\Killer.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:\windows\system\Killer.exe") If success% = False Then '病毒不存在則拷貝病毒到計算機 FileCopy "game.exe", "C:\windows\system\Killer.exe" ... '修改注冊表,將其加入RUN中。 End If
* 開機啟動病毒 ~~~~~~~~~~~~~~ 在病毒感染主機的同時,將自身加入注冊表的開機運行中,這與向 主機拷入病毒是同時進行的,主機感染后不再修改注冊表。可通過編程 和調用API函數對WIN注冊表進行操作來實現,這樣在每次啟動計算機時 病毒自動啟動。(具體編寫方法請查閱其它資料)
* 任務管理器 ~~~~~~~~~~~~ 在任務管理器列表中禁止病毒本身被列出,可以通過編程來實現。 用代碼 App.TaskVisible = false 就可以實現;再有就是通過調用 Win API函數來實現,這里就不作介紹了。
* 病毒發作條件 ~~~~~~~~~~~~~~ 可用Day(Date)來判斷今天是幾號,再與確定好的日期作比較,相同 則表現出病毒主體的破壞性,否則不發作。也可用Time、Date或其它方 法作為病毒發作條件的判斷。 例: if day(date)=16 then '16是發作日期,取值為1-31的整數 ... ... '當日期相符時運行的破壞性代碼 end if
* 病毒的破壞性 ~~~~~~~~~~~~~~ 編寫的此部分代碼決定了病毒威力的強弱。輕的可以使系統資源迅 速減少直至死機(需要你懂得一點蠕蟲的原理),也就是實現開機即死的 效果;也可以加入硬盤炸彈代碼(HD-BOMB原理我以前做過介紹)、系統后 臺刪文件等。重的可以使計算機徹底癱瘓(不作介紹,你可以參閱其它病 毒的有關資料)。
* 病毒的繁殖 ~~~~~~~~~~~~ 原理很簡單,就是將其自身與其它可執行文件合并,也就是兩個文 件并成一個文件。也可通過E-Mail傳播,方法是病毒讀取被感染主機的 郵件列表,將帶有病毒附件的E-Mail發給列表中的每一個人(這需要你懂 得VB網絡編程)。
讀完本文章相信您已對病毒的編寫思路有了初步的了解,如果你是個VB愛好 者,你已經可以編寫一個很簡單的病毒了,但你要是精通VB的話,請不要有編寫 后傳播她的想法,因為傳播她造成很大的影響將改變你的命運(被公安抓住就掛 了)。
聲明:樂土(HappyLand)工作室并不開發病毒,而是以實用軟件開發為主, ==== 寫本類文章的目的只是為了使大家了解各種病毒編寫、運行的部分 原理,只有在了解病毒原理后才能有效的防范它。如果您在看完本文 章后編寫了病毒程序,造成的后果本工作室概不負責。
歡迎使用樂土軟件(HappyLand Software)
HappyLand Workroom E-Mail: hlsoft2001@sohu.com 作者:HappyLand Workroom
|