首页
社区
课程
招聘
[原创]ring0 head inline hook lib
发表于: 2010-8-31 12:48 7316

[原创]ring0 head inline hook lib

2010-8-31 12:48
7316
没啥子技术含量,参考了海风月影的ring3inline hook lib库,主要是简化你的编程工作量,有了此库,你不需要使用一大堆的内联汇编来写那个裸函数,也不需要为了堆栈破坏问题而蓝屏,目前只支持32系统……
来看看到底挂钩一个函数有多简单!你可以专注的编写过滤逻辑而完全不需要理会挂钩过程
typedef NTSTATUS  ( __stdcall *DZwCreateFile)(
	PHANDLE  FileHandle,
	ACCESS_MASK  DesiredAccess,
	POBJECT_ATTRIBUTES  ObjectAttributes,
	PIO_STATUS_BLOCK  IoStatusBlock,
	PLARGE_INTEGER  AllocationSize,
	ULONG  FileAttributes,
	ULONG  ShareAccess,
	ULONG  CreateDisposition,
	ULONG  CreateOptions,
	PVOID  EaBuffer,
	ULONG  EaLength
	);

NTSTATUS Detour_NtCreateFile(DZwCreateFile Fun, 
			     PHANDLE  FileHandle,
     ACCESS_MASK  DesiredAccess,
    POBJECT_ATTRIBUTES  ObjectAttributes,
     PIO_STATUS_BLOCK  IoStatusBlock,
    PLARGE_INTEGER  AllocationSize,
     ULONG  FileAttributes,
    __in ULONG  ShareAccess,
    __in ULONG  CreateDisposition,
    __in ULONG  CreateOptions,
    __in_opt PVOID  EaBuffer,
    __in ULONG  EaLength
    )
{
	KdPrint(("NtCreateFileRoutine Called! ProcessId:%d FilePath:%ws\n",PsGetCurrentProcessId(),ObjectAttributes->ObjectName->Buffer));
	return Fun(FileHandle,DesiredAccess,ObjectAttributes,IoStatusBlock,AllocationSize,FileAttributes,ShareAccess,CreateDisposition,CreateOptions,
		EaBuffer,EaLength);
}
安装钩子只要一个函数就可完全搞定
BOOLEAN __stdcall InstallHook(PVOID FuncAddr,PVOID NewAddr,BOOLEAN IsStubPaged,HOOK_INFO* Info);


[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习~~~~~~~~
谢谢楼主~~~~~~~~
2010-8-31 15:53
0
雪    币: 334
活跃值: (78)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
多处理器的情况处理了么?
2010-8-31 17:07
0
雪    币: 14
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
已经用Dpc方法来处理多处理器平台了,其实InterlockedXX就满足条件了,只是改写5字节而已
2010-8-31 17:31
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
lib体积真大. Hook方式就一种Header Jmp怎么会这么大呀.

某某用的Hook引擎支持多种模式,也才30kb左右.
你的dasm引擎很大吧...
2010-8-31 19:19
0
雪    币: 334
活跃值: (78)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
线程被中断在被hook的函数的前5个字节的情况处理过没? 如果这也处理过, 那就太强大了, 用定了.
对了, 最好把源代码共享了吧! 既然共享了
2010-8-31 21:47
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
支持所有M$的系统吗?比如Win7?
能Hook所有函数?
2010-9-3 14:33
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如果能hook全部函数那绝对是鬼扯,没有任何一个hook lib 可以全部函数的,某些是不能hook的,否则会蓝屏
2010-9-6 11:40
0
游客
登录 | 注册 方可回帖
返回
//