[原创]程序之家系列教程之手把手教你制作熊猫烧香病毒专杀工具(带源码)解决办法
[原创]程序之家系列教程之手把手教你制作熊猫烧香病毒专杀工具(带源码)
程序之家系列教程之手把手教你写熊猫专杀工具
(由于文章太长发不了大家可以到我的论坛去浏览并且下载源码.地址是:http://chenhui530.com/forum/thread-471-1-1.html)
(作者:chenhui530,论坛http://chenhui530.com)
前言
经过去年和熊猫烧香、威金等病毒的“斗争”,我也累了,“程序之家病毒专杀工具”虽然可以轻松解决此类病毒问题,虽然“熊猫”已经成为历史了,但是我相信更多的“熊猫”会悄然而至,病毒制造者也会不断编写新的病毒,各种各样的病毒每天都会出现,反病毒只靠专业的杀软公司是远远不够得。大家想到过自己写专杀工具清除病毒呢?我相信大家都有过这样的想法,只是由于不知道怎么写而已。其实写一般的传统PE病毒专杀工具并不是大家想的那么复杂,本文将结合详细的注释讲解配合“Microsoft Visual Basic 6.0 中文版”手把手教你写一个属于自己的熊猫烧香病毒专杀程序(并不局限于熊猫烧香象威金也是可以的只要是类似感染方式得病毒都适用)。
准备工作:
首先大家得安装好“Microsoft Visual Basic 6.0”,最好是安装企业版打上SP6补丁,然后再到我的论坛去下载我为大家提供得开发接口文件“GetVirusInfo.dll ” 地址为http://chenhui530.com/forum/viewthread.php?tid=468&extra=page%3D1。程序分为2个部分。一个是主程序(查杀部分)另一个是添加病毒特征码程序。(程序可以自己添加特征码,当变种出现只需要使用此工具添加即可。
主程序部分:
1.窗体设计和引用类库:
大家把“Microsoft Visual Basic 6.0”打开然后在“新建工程”中选择“标准 EXE”项目。请看图(1)。选择菜单项得“工程(P)”然后选择“引用”然后在里面找到“Microsoft WMI Scripting V1.2 Library”把它选上(我的系统是XP,如果是2K请选上“Microsoft WMI Scripting V1.1 Library”,注意9X不支持WMI,如果需要支持的话可以安装。),主要是用于对进程得监视,见图(2)然后按“确定”。然后我们再把我给大家提供得开发接口引用到工程中,方法和添加“WMI”支持一样,所不同得是需要手动浏览到我提供得开发接口文件,见图(3)。然后为工程添加部件,因为默认“标准 EXE”工程是没有Listview的所以我们还需要再在“工程(P)”菜单里选择“部件”然后在里面找到“Microsoft Windows Common Controls 5.0 (SP2)”把它选上(为什么不选择6.0这里稍微说下因为6.0不支持XP风格所以我就舍弃了它选择了5.0),见图(4)然后按“确定”。
2.窗体布局:
然后我们把“工程”名称命名为:“PandaVirusKiller”,窗体“Form1”命名为:“frmMain”,看图(5)。然后再在窗体上拖一个“PictureBox”命名为“picLogo”,然后再拖4个CommandButton分别命名为:“cmdKill”,“cmdExit”,“cmdAbout”,“cmdStop”,“cmdPath”,“cmdPause”然后分别指定其属性“Caption”为“杀毒(&K)”,“退出(&C)”,“关于(&A)”,“停止(&S)”,“浏览(&B)”,“暂停(&P)”然后再拖入一个ListView控件和StatusBar和一个TextBox分别命名为:“lstMsg”,“statusMsg”,“textPath”,textPath的Text值为“全盘扫描”,鼠标右键点击ListView在弹出菜单中选择属性,然后按图(6)的属性设置后按“确定”返回,然后分别调整窗体控件如口图(7)样式布局(当然你可以按自己得布局方式^_^)。
3.窗体编码:
好现在窗体空间布局都准备好后我们就进入程序得编码。首先我们先添加一些程序需要得模块,见图(8),下面需要添加得其他模块都这样子添加。把第一个添加得模块命名为:“modBrowsePath”(此模块得用处主要是调用系统目录选择窗体,好让用户在界面上可以选择杀毒得路径。)然后把下面代码添加进模块中。
Option Explicit
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Declare Function SHBrowseForFolder Lib "shell32 " (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32 " (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32 " Alias "lstrcatA " (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
'打开浏览目录对话框
程序之家系列教程之手把手教你写熊猫专杀工具
(由于文章太长发不了大家可以到我的论坛去浏览并且下载源码.地址是:http://chenhui530.com/forum/thread-471-1-1.html)
(作者:chenhui530,论坛http://chenhui530.com)
前言
经过去年和熊猫烧香、威金等病毒的“斗争”,我也累了,“程序之家病毒专杀工具”虽然可以轻松解决此类病毒问题,虽然“熊猫”已经成为历史了,但是我相信更多的“熊猫”会悄然而至,病毒制造者也会不断编写新的病毒,各种各样的病毒每天都会出现,反病毒只靠专业的杀软公司是远远不够得。大家想到过自己写专杀工具清除病毒呢?我相信大家都有过这样的想法,只是由于不知道怎么写而已。其实写一般的传统PE病毒专杀工具并不是大家想的那么复杂,本文将结合详细的注释讲解配合“Microsoft Visual Basic 6.0 中文版”手把手教你写一个属于自己的熊猫烧香病毒专杀程序(并不局限于熊猫烧香象威金也是可以的只要是类似感染方式得病毒都适用)。
准备工作:
首先大家得安装好“Microsoft Visual Basic 6.0”,最好是安装企业版打上SP6补丁,然后再到我的论坛去下载我为大家提供得开发接口文件“GetVirusInfo.dll ” 地址为http://chenhui530.com/forum/viewthread.php?tid=468&extra=page%3D1。程序分为2个部分。一个是主程序(查杀部分)另一个是添加病毒特征码程序。(程序可以自己添加特征码,当变种出现只需要使用此工具添加即可。
主程序部分:
1.窗体设计和引用类库:
大家把“Microsoft Visual Basic 6.0”打开然后在“新建工程”中选择“标准 EXE”项目。请看图(1)。选择菜单项得“工程(P)”然后选择“引用”然后在里面找到“Microsoft WMI Scripting V1.2 Library”把它选上(我的系统是XP,如果是2K请选上“Microsoft WMI Scripting V1.1 Library”,注意9X不支持WMI,如果需要支持的话可以安装。),主要是用于对进程得监视,见图(2)然后按“确定”。然后我们再把我给大家提供得开发接口引用到工程中,方法和添加“WMI”支持一样,所不同得是需要手动浏览到我提供得开发接口文件,见图(3)。然后为工程添加部件,因为默认“标准 EXE”工程是没有Listview的所以我们还需要再在“工程(P)”菜单里选择“部件”然后在里面找到“Microsoft Windows Common Controls 5.0 (SP2)”把它选上(为什么不选择6.0这里稍微说下因为6.0不支持XP风格所以我就舍弃了它选择了5.0),见图(4)然后按“确定”。
2.窗体布局:
然后我们把“工程”名称命名为:“PandaVirusKiller”,窗体“Form1”命名为:“frmMain”,看图(5)。然后再在窗体上拖一个“PictureBox”命名为“picLogo”,然后再拖4个CommandButton分别命名为:“cmdKill”,“cmdExit”,“cmdAbout”,“cmdStop”,“cmdPath”,“cmdPause”然后分别指定其属性“Caption”为“杀毒(&K)”,“退出(&C)”,“关于(&A)”,“停止(&S)”,“浏览(&B)”,“暂停(&P)”然后再拖入一个ListView控件和StatusBar和一个TextBox分别命名为:“lstMsg”,“statusMsg”,“textPath”,textPath的Text值为“全盘扫描”,鼠标右键点击ListView在弹出菜单中选择属性,然后按图(6)的属性设置后按“确定”返回,然后分别调整窗体控件如口图(7)样式布局(当然你可以按自己得布局方式^_^)。
3.窗体编码:
好现在窗体空间布局都准备好后我们就进入程序得编码。首先我们先添加一些程序需要得模块,见图(8),下面需要添加得其他模块都这样子添加。把第一个添加得模块命名为:“modBrowsePath”(此模块得用处主要是调用系统目录选择窗体,好让用户在界面上可以选择杀毒得路径。)然后把下面代码添加进模块中。
Option Explicit
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Declare Function SHBrowseForFolder Lib "shell32 " (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32 " (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32 " Alias "lstrcatA " (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
'打开浏览目录对话框