阅读:1899回复:5
请教:驱动器隐藏不了是怎么回事?
1、HOOK
ZwQueryInformationProcess __asm { push eax mov eax, CR0 and eax, 0FFFEFFFFh mov CR0, eax pop eax } OldZwQueryInformationProcess= (ZWQUERYINFORMATIONPROCESS)InterlockedExchange( (PLONG) &SYSTEMSERVICE(ZwQueryInformationProcess), (LONG) NewZwQueryInformationProcess); // REProtect memory __asm { push eax mov eax, CR0 or eax, NOT 0FFFEFFFFh mov CR0, eax pop eax } 2、挂载MM, case IOCTL_MOUNTMGR_QUERY_POINTS: //设置完成回调函数 KeInitializeEvent(&waitEvent, NotificationEvent, FALSE); IoCopyCurrentIrpStackLocationToNext(Irp); IoSetCompletionRoutine( Irp, MMQueryCompletion, &waitEvent, TRUE, TRUE,TRUE); status = IoCallDriver(ext->attached_to, Irp); if (STATUS_PENDING == status) { //等待完成 status = KeWaitForSingleObject(&waitEvent, Executive, KernelMode, FALSE, NULL ); ASSERT(STATUS_SUCCESS == status); } if (NT_SUCCESS(status)) { mmPorints = (MOUNTMGR_MOUNT_POINTS *) Irp->AssociatedIrp.SystemBuffer; mmPorints->NumberOfMountPoints=0; } 做这两件事情可以隐藏盘符,可是在磁盘管理下能看到,请教 该怎么办?谢谢。 |
|
|
沙发#
发布于:2008-03-30 09:03
没人能帮我吗?
|
|
|
板凳#
发布于:2008-03-30 16:09
这年头确实没厚道人。
|
|
|
地板#
发布于:2008-04-01 20:14
没人知道怎么屏蔽磁盘管理吗?
|
|
|
驱动小牛
|
地下室#
发布于:2008-04-03 11:03
打开FILEMON,仔细查看磁盘管理器到底做了什么工作,做有针对性的处理.不是别人不厚道,是有些东西别人也没接触过.
|
|
5楼#
发布于:2008-04-03 12:31
这样啊,谢谢啊。不过磁盘管理器好像绕过了文件过滤驱动层。
FILEMON只能看到文件系统。 |
|
|