阅读:1168回复:6
我使用HOOK的方法做了一个反删除文件的驱动!!!!
安装以后可以使用,并能起到反删除的目的。可是当我将这个驱动注册为系统启动以后就开始运行的那种后,当我重起计算机。系统只能进到可以看到2000桌面,然后就重新启动了。我一直不知道这是为什么???
我主要使用的是过滤ZwSetInformationFile函数!!!!! |
|
沙发#
发布于:2004-07-01 23:13
用SOFTICE调试下,你肯定HOOK了系统自己的操作.
|
|
|
板凳#
发布于:2004-07-02 10:25
驱动写的有问题,还是自己调试一下先
|
|
|
地板#
发布于:2004-07-14 22:23
我使用SOFTICE调试了一下看到了这个错误
//设置正确的得到路径的 memset(TempInstallDir,0,255); memcpy(TempInstallDir,HideBobyDir,sizeof(HideBobyDir)); strcat(TempInstallDir,"\\FileLog\\UnDelDir.txt"); //TempInstallDir转换成ANSI_STRING RtlInitString(&TempInstall_Ansi,TempInstallDir); pHideFileDir.Buffer = (PWSTR)ExAllocatePool(PagedPool,1024); DbgPrint("创建pHideFileDir.Buffer\n"); RtlZeroMemory(pHideFileDir.Buffer,1024); pHideFileDir.MaximumLength = 1024; RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,TRUE); 当执行下面的代码的时候: RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,TRUE); 提示错误: Bread due to page Fault (0Eh), Fault=0002 这是为什么那??? 并且这个问题不是说每次都出现的。 |
|
地下室#
发布于:2004-07-14 22:29
pHideFileDir,TempInstall_Ansi都是如何申明的??
|
|
|
5楼#
发布于:2004-07-14 22:41
RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,TRUE);
仔细看看RtlAnsiStringToUnicodeString的说明,为TRUE的时候, this routine should allocate the buffer space for the destination string. 改成RtlAnsiStringToUnicodeString(&pHideFileDir,&TempInstall_Ansi,FALSE); |
|
6楼#
发布于:2004-07-17 19:39
我修改了,可是在使用毒霸杀毒的时候会提示下面的错误:
“Break Due to KeBugCheckEx (unhandled kernel mode exception) Error=50 (PAGE_FAULT_IN_NONPAGED_AREA) P1=E298B000 P2=0 P3=B9EF1870 P4=1”这是什么意思那??? |
|