如要转载或使用,请保留以下信息!
作者:BlackFeather
出处:http://www.fenlog.com
这份代码十一的时候再VBGOOD发布了,当时设置了权限,帖子地址是:http://www.vbgood.com/viewthread.php?tid=87917&extra=page%3D1
这个程序的帖子:http://www.fenlog.com/post/30.html
程序要正常运行,需要以下几个文件:
BFAntiVir.exe: 主程序,起控制和系统辅助作用。
VirMon.exe: 实时监控程序,受主程序控制。
ChangeState.Dll:动态链接库,给程序提供修改内存映射的功能。(在VB中操作比较容易崩溃。)
GlobalHook.Dll:实时监控核心,API HOOK并通知监控程序,给用户提示并根据用户选择作出相应处理。
COC8F0~1.ocx:皮肤控件。
MSCOMCTL.OCX:VB中画界面用到的控件。
编译:
两个EXE分别是主程序文件夹和病毒防火墙实时监控程序文件夹中的工程,使用了Xtreme SuitePro ActiveX皮肤控件,安装这个控件后直接编译即可(控件下载地址:http://www.vbgood.com/viewthread.php?tid=85929&extra=page%3D1)。
两个DLL在文件夹DLL中,找名字相同,后缀为.bas的文件使用POWERBASIC直接编译即可(PowerBasic去百度吧,很多下载)。
注:
1、程序和代码稍有点不一样,本来是想改改效率更高,结果改完发现极为不稳定了(DLL与EXE通信的代码)。所以发出来原来比较稳定的这个吧。。。但是还是做好思想准备,还是经常会挂掉所有GUI程序(SetWindowsHookEx函数退出时出错,导致所有被挂钩的GUI程序崩溃)。
2、DLL用了几个比较敏感的函数,被很多杀软误报,请大家不要惊慌。
最后我还附上了两个文档,看看文档,这个程序的流程思路就大概明白了。
首先说明现在只是一个演示程序,只是简单的HOOK了几个函数作为演示而已。
隐藏文件/文件夹 功能的演示为c:\aaaa\bf.txt 前提是开启U盘病毒防御,就会隐藏
用的最通俗的SetWindowsHookEx函数,所以好多东西都HOOK不到。ring3下的HOOK确实没什么前途。。。以后转投驱动,前提是如果可能的话。。。
采用ring3下的全局钩子,HOOK了几个API,sendmessage发送消息返回用户的选择。DLL与主程序之间通信采用的是建立文件映射的方法,DLL里新建一个线程循环读取值的方法,虽然不是实时而且费系统资源,但是这是想不到其他好办法的办法,折中选了一个循环时间,感觉还可以,至少在我这里感觉不到有什么影响。程序不太稳定,我发现WIN2K3下退出的时候会引起被HOOK的程序崩溃,在我这里的虚拟机里是这样,别人那里不知道,还有就是有时候explorer.exe有时候会报错,原因都未知。有空了好好调戏一下。所以开程序的时候要多注意一下。其实也没有说的这么玄乎,因为我们小组的几个牛人测试的时候都没有出问题。
代码截图:
下载地址:
'阻止进程创建演示c:\aaaa\bf.exe
这个IF语句的作用和下面的那个IF语句的作用各是什么,希望能回答一下。
最近忙点东西 都没时间上来看看了 过几天忙完了 我把做的成果发出来
PowerBASIC for Windows
PB/Win Version 9.01
Copyright (c) 1996-2009 PowerBasic Inc.
Venice, Florida USA
All Rights Reserved
Error 460 in C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\桌面\病毒防火墙-主动防御演示程序代码\代码\BFANTIVIR\DLL\ENABLEPRIVILEGE.INC(13:027): Undefined equate
Line 13: lp = LookupPrivilegeValue($null, "SeDebugPrivilege", tmpLuid)
==============================
Compile failed at 21:34:15 on 2009-12-19
是怎么回事??