首页
社区
课程
招聘
[原创]山寨Fsd Inline Hook
发表于: 2009-3-31 13:08 7844

[原创]山寨Fsd Inline Hook

2009-3-31 13:08
7844

代码大部分是炉子[0GiNr]提供的,在此感谢。
增加了一段获取通过NTFS驱动对象获取分发函数地址的代码,如果已经被人hook过,可能造成蓝屏。最好的方法还是解析NTFS文件获取原始分发函数地址。Xp sp2测试通过。

extern POBJECT_TYPE *IoDriverObjectType;

NTKERNELAPI
NTSTATUS
NTAPI
ObReferenceObjectByName (
                                                 IN PUNICODE_STRING ObjectName,
                                                 IN ULONG Attributes,
                                                 IN PACCESS_STATE PassedAccessState OPTIONAL,
                                                 IN ACCESS_MASK DesiredAccess OPTIONAL,
                                                 IN POBJECT_TYPE ObjectType OPTIONAL,
                                                 IN KPROCESSOR_MODE AccessMode,
                                                 IN OUT PVOID ParseContext OPTIONAL,
                                                 OUT PVOID *Object
                                                 );

PULONG NtfsMajorFunction = NULL;
ULONG NtfsDispatch = 0xfa8f3618; //Ntfs!NtfsFsdSetInformation

BOOLEAN GetNtfsMajorFunctionAddr()
{
        PDRIVER_OBJECT        pDriverObject;
        UNICODE_STRING        DeviceName;
        NTSTATUS                ntStaus;
        BOOLEAN                        bRet = FALSE;
        RtlInitUnicodeString(&DeviceName, L"\\FileSystem\\Ntfs");
        ntStaus = ObReferenceObjectByName(&DeviceName, OBJ_CASE_INSENSITIVE, NULL, 0, *IoDriverObjectType, KernelMode, NULL, (PVOID*)&pDriverObject);
        if(!NT_SUCCESS(ntStaus))
                goto __end;
        NtfsMajorFunction = (PULONG)pDriverObject->MajorFunction;
        bRet = TRUE;
__end:
        return bRet;
}

NtfsDispatch = NtfsMajorFunction[IRP_MJ_SET_INFORMATION];


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
2
沙发学习~~
2009-3-31 13:09
0
雪    币: 148
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
VC++6.0学习.
2009-3-31 13:22
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
这个为什么也叫山寨啊?
2009-3-31 14:04
0
雪    币: 177
活跃值: (232)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
在人家思路的基础上加工出来的,功能一样,所以叫山寨了
2009-3-31 21:23
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
6
太难了。。。
完全不懂
2009-3-31 23:11
0
雪    币: 66
活跃值: (960)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7


这样的技术,正常软件很少用到
2009-4-1 01:51
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
8
正规软件用过滤驱动
2009-4-1 07:08
0
游客
登录 | 注册 方可回帖
返回
//