首页
社区
课程
招聘
[分享]内核清理TDI驱动的一种方式
发表于: 2015-7-23 10:11 3843

[分享]内核清理TDI驱动的一种方式

2015-7-23 10:11
3843
清除tdi的方法

#ifdef __cplusplus
extern "C"
{
#endif
#include <NTDDK.h>

        NTKERNELAPI
                NTSTATUS
                ObReferenceObjectByName(
                IN PUNICODE_STRING ObjectName,
                IN ULONG Attributes,
                IN PACCESS_STATE PassedAccessState OPTIONAL,
                IN ACCESS_MASK DesiredAccess OPTIONAL,
                IN POBJECT_TYPE ObjectType,
                IN KPROCESSOR_MODE AccessMode,
                IN OUT PVOID ParseContext OPTIONAL,
                OUT PVOID *Object
                );
         extern POBJECT_TYPE* IoDriverObjectType;
#ifdef __cplusplus
}
#endif

        PDEVICE_OBJECT DeviceObject = NULL;
        PFILE_OBJECT FileObject = NULL;
        PDRIVER_OBJECT pDriver = NULL;
        UNICODE_STRING DeviceName;       
        RtlInitUnicodeString( &DeviceName, L"\\Driver\\Tdx" );//win7下       
        //RtlInitUnicodeString( &DeviceName, L"\\Driver\\Tcpip" );//xp下       
        ObReferenceObjectByName(&DeviceName,OBJ_CASE_INSENSITIVE,NULL,FILE_ALL_ACCESS,IoDeviceObjectType,KernelMode,NULL,(PVOID*)&pDriver);
        DeviceObject = pDriver->DeviceObject;
        while(DeviceObject!= NULL )
        {
                DeviceObject->AttachedDevice=0;
                DeviceObject = DeviceObject->NextDevice;
        }
       ObDereferenceObject(pDriver);

虽说简单但是已经教授很多人了,就像TDI过滤驱动修改数据包一样简单。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
内核清理TDI驱动可以干嘛?就无法访问网络了吗?
2015-7-23 16:09
0
游客
登录 | 注册 方可回帖
返回
//