首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

[原创]程序之家系列教程之手把手教你制作熊猫烧香病毒专杀工具(带源码)解决办法

2012-01-19 
[原创]程序之家系列教程之手把手教你制作熊猫烧香病毒专杀工具(带源码)程序之家系列教程之手把手教你写熊

[原创]程序之家系列教程之手把手教你制作熊猫烧香病毒专杀工具(带源码)
程序之家系列教程之手把手教你写熊猫专杀工具
(由于文章太长发不了大家可以到我的论坛去浏览并且下载源码.地址是: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

'打开浏览目录对话框


Public   Function   GetFolderPath(ByVal   Obj   As   TextBox,   ByVal   hWnd   As   Long)
        Dim   lpIDList   As   Long
        Dim   sBuffer   As   String
        Dim   szTitle   As   String
        Dim   tBrowseInfo   As   BrowseInfo
        szTitle   =   "请源路径: "
        With   tBrowseInfo
                .hWndOwner   =   hWnd
                .lpszTitle   =   lstrcat(szTitle,   " ")
                .ulFlags   =   BIF_RETURNONLYFSDIRS   +   BIF_DONTGOBELOWDOMAIN
        End   With
        lpIDList   =   SHBrowseForFolder(tBrowseInfo)
        If   (lpIDList)   Then
                sBuffer   =   Space(256)
                SHGetPathFromIDList   lpIDList,   sBuffer
                sBuffer   =   Left(sBuffer,   InStr(sBuffer,   vbNullChar)   -   1)
                If   Len(sBuffer)   >   0   Then   Obj.Text   =   sBuffer
        End   If
End   Function

其中函数GetFolderPath主要是获取用户选择得目录得完整路径


[解决办法]
楼主真是厉害!
[解决办法]
好文,学习,谢谢,
[解决办法]
真高手

热点排行