废掉Minifilter和Sfilter 支持x64
来源:互联网 发布:淘宝加盟的骗局揭秘 编辑:程序博客网 时间:2024/04/28 07:07
在学习Minifilter和sfilter后明白了一点,这两个文件过滤都是attach到设备上
那么我们废掉的方法就很明显了,将文件系统上attach的所有设备清零
怎么得到attach的所有设备呢?
我们通过ObReferenceObjectByName或得到文件驱动对象地址
得到的对象中有一个成员DeviceObject就得到了文件设备对象
这里还有一个链表,保存着下一个对象的地址
在得到的文件设备对象下有一个成员AttachedDevice就是我们需要清0的attach设备地址了
我们循环这个表,执行同样的操作,就可以干掉过滤驱动了
当然我们还要保存原来的attach的设备对象
在恢复或者卸载的时候给会写出去
代码:
SIZE_T NtfsOriFsFlt[64]= {0};SIZE_T FastfatOriFsFlt[64]= {0};SIZE_T RawOriFsFlt[64]= {0};VOID DisableAllFilters(PWSTR lpwName, SIZE_T *OriFsFlt, ULONG MaxCount, ULONG Action){ULONG i=0;UNICODE_STRING TName;PDRIVER_OBJECT TDrvObj;PDEVICE_OBJECT CurrentDevice;NTSTATUS status;BOOL bInit = FALSE;RtlInitUnicodeString(&TName, lpwName);status = ObReferenceObjectByName(&TName, OBJ_CASE_INSENSITIVE, NULL, 0, *IoDriverObjectType, KernelMode, NULL, &TDrvObj);if (!NT_SUCCESS(status)) return ;if(!TDrvObj) return ;CurrentDevice = TDrvObj->DeviceObject;while(CurrentDevice != NULL ){if(!Action){OriFsFlt[i] = (SIZE_T)InterlockedExchangePointer((PVOID*)&CurrentDevice->AttachedDevice, NULL);}else{OriFsFlt[i] = (SIZE_T)InterlockedExchangePointer((PVOID*)&CurrentDevice->AttachedDevice, (PDEVICE_OBJECT)(OriFsFlt[i]));}CurrentDevice = CurrentDevice->NextDevice;i++;if(i>=MaxCount)break;}ObDereferenceObject(TDrvObj);return;}//0=禁用所有文件系统过滤驱动 1=恢复所有文件系统过滤驱动void DisableFsFlt(ULONG Restore){DisableAllFilters(L"\\FileSystem\\Ntfs",NtfsOriFsFlt,64,Restore);DisableAllFilters(L"\\FileSystem\\fastfat",FastfatOriFsFlt,64,Restore);DisableAllFilters(L"\\FileSystem\\RAW",RawOriFsFlt,64,Restore);}
0 0
- 废掉Minifilter和Sfilter 支持x64
- 移除MiniFilter和移除sfilter
- sfilter
- sfilter
- 废
- minifilter
- minifilter
- sfilter和应用层通讯处理
- 废代码的危害和解决之道
- 项目和积累同时进行,不偏废
- EXE和SYS通信MiniFilter方式
- 9行代码废掉Windows !
- java汉字转拼音,取汉字首字母,支持繁体 可筛选下拉框,jQuery插件SFilter
- 支持win8 x32和x64的抓包软件Microsoft Network Monitor
- 那些年和html5一起废过的元素&属性
- experiment : MiniFilter中CDO和CancelSafe的应用
- EXE和SYS通信MiniFilter基于事件方式
- EXE和SYS通信MiniFilter基于事件方式
- LeetCode 280. Wiggle Sort
- php和lua的变量作用域
- 「JavaScript里的面向对象」— 5.原型模式
- 关于NSBundle获取文件路径的问题
- 自定义OpenStack Horizon(Mitaka)
- 废掉Minifilter和Sfilter 支持x64
- LeetCode 277. Find the Celebrity
- lightoj1336Sigma Function(dfs打表或容斥)
- 部署django+apache wsgi
- Unity3d+moba+UGUI摇杆
- R3全盘毁坏数据
- Android Service 回顾
- Linux环境搭建中文LaTeX排版系统
- mount img