幾步解決VB.NET編寫病毒
VB.NET的應用范圍確實非常廣泛,實現(xiàn)的功能也是多樣化。相信電腦界的每個人都痛恨計算機病毒,她給我們帶來了很多麻煩和損失,可你知道編寫病毒的方法和過程嗎?在此我僅以VB.NET編寫病毒為例,揭開她的面紗。 #t#
用VB編寫病毒需要考慮到如下幾點:
* 感染主機
首先染毒文件運行后先要判斷主機是否以感染病毒,也就是判斷病毒主體文件是否存在,如果不存在則將病毒主體拷貝到指定位置(如:將病毒文件拷貝到c:\windows\system\),可用filecopy語句實現(xiàn);如果病毒已感染主機則結束判斷。
例如,判斷C:\windows\system\Killer.exe是否存在,如果有則退出判斷,如果沒有則證明本機未感染病毒,立即拷入病毒文件。
病毒源文件名為game.exe
聲明部分:
- ""定義 FileExists% 函數(shù)
- 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
VB.NET編寫病毒代碼部分:
- ""判斷文件是否存在
- success% = FileExists%
("C:\windows\system\Killer.exe")- If success% = False Then
""病毒不存在則拷貝病毒到計算機- FileCopy "game.exe",
"C:\windows\system\Killer.exe"- ... ""修改注冊表,將其加入
RUN中。(省略若干代碼)- End If
* 開機啟動病毒
在病毒感染主機的同時,將自身加入注冊表的開機運行中,這與向主機拷入病毒是同時進行的,主機感染后不再修改注冊表??赏ㄟ^編程和調用API函數(shù)對WIN注冊表進行操作來實現(xiàn),這樣在每次啟動計算機時病毒自動啟動。(具體編寫方法請查閱其它資料)
* 任務管理器
在任務管理器列表中禁止病毒本身被列出,可以通過編程來實現(xiàn)。用代碼 App.TaskVisible = false 就可以實現(xiàn);再有就是通過調用Win API函數(shù)來實現(xiàn),這里就不作介紹了。
* VB.NET編寫病毒后發(fā)作條件
可用Day(Date)來判斷今天是幾號,再與確定好的日期作比較,相同則表現(xiàn)出病毒主體的破壞性,否則不發(fā)作。也可用Time、Date或其它方法作為病毒發(fā)作條件的判斷。例:
- if day(date)=16 then ""
16是發(fā)作日期,取值為1-31的整數(shù)- ... ... ""kill *******
當日期相符時運行的破壞性代碼
(格式化、刪除指定的文件類型、
發(fā)送數(shù)據(jù)包杜塞網(wǎng)路等,省略若干代碼)- end if
* 病毒的破壞性
編寫的此部分代碼決定了病毒威力的強弱。輕的可以使系統(tǒng)資源迅速減少直至死機(需要你懂得一點蠕蟲的原理),也就是實現(xiàn)開機即死的效果;也可以加入硬盤炸彈代碼、系統(tǒng)后臺刪文件等。重的可以使計算機徹底癱瘓(不作介紹,你可以參閱其它病毒的有關資料)。
* VB.NET編寫病毒的繁殖
原理很簡單,就是將其自身與其它可執(zhí)行文件合并,也就是兩個文件并成一個文件。也可通過E-Mail傳播,方法是病毒讀取被感染主機的郵件列表,將帶有病毒附件的E-Mail發(fā)給列表中的每一個人(這需要你懂得VB網(wǎng)絡編程)。
讀完本文章相信您已對VB.NET編寫病毒思路有了初步的了解,如果你是個VB愛好者,你已經(jīng)可以編寫一個很簡單的病毒了,但你要是精通VB的話,請不要有編寫后傳播她的想法,因為傳播她造成很大的影響將改變你的命運(被公安抓住就掛了)。