首页
社区
课程
招聘
[原创]学习内核写的hook库,支持内核中常用的几种hook
发表于: 2011-4-15 15:15 10816

[原创]学习内核写的hook库,支持内核中常用的几种hook

2011-4-15 15:15
10816

学习内核写的hook库,共享出来,方便大家使用

支持内核中常用的几种hook

#include "HookEngine.h"

  //inlinehook相关
  VOID InLineRotine()
  {
    KdPrint(("你好\r\n"));
  }

  VOID
  DriverUnload(IN PDRIVER_OBJECT pDriverObj);

  NTSTATUS
  DriverEntry(IN PDRIVER_OBJECT pDriverObj, IN PUNICODE_STRING pRegistryString)
  {
    NTSTATUS    status = STATUS_SUCCESS;
    UNICODE_STRING ustrLinkName;
    UNICODE_STRING ustrDevName; 
    PDEVICE_OBJECT pDevObj;
    pDriverObj->DriverUnload = DriverUnload;
    HookEngine_Init();

    //Inlinehook方式
    {

      HookEngine_Hook(HT_INLINE_JMP_HOOK, SSDTHook_GetFuncAddr(122), (ULONG)InLineRotine);

    }
    return STATUS_SUCCESS;
  }

  VOID
  DriverUnload(IN PDRIVER_OBJECT pDriverObj)
  {  
     HookEngine_Destroy();
    return;
  } 

特意做了个chm帮助文件


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我以为是骑兵。
2011-4-15 15:30
0
雪    币: 392
活跃值: (89)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3
思路很好,但是,事实上,很多情况都很复杂,不是一个某一个固定写法就能解决的了的;
比如:
inline hook的在函数体的中部,那么覆盖掉的字节可能存在相对跳转和绝对跳转,呵呵
2011-4-16 21:22
0
雪    币: 106
活跃值: (276)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
这么好的东西,为什么没人顶,楼主能开源吗?想深入的学习一下
2011-4-21 23:21
0
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
项一下。。。。。。。。。
2011-4-22 00:04
0
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://bbs.pediy.com/showthread.php?p=950512&posted=1#post950512
2011-4-22 00:08
0
雪    币: 242
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没有完整代码啊,晕,楼主能分享一下吗?
2011-5-23 14:40
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
随便看了下,貌似没有处理多核?
2011-5-24 22:30
0
雪    币: 112
活跃值: (48)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
9
可以拿r3 的 detour库改一个出来
2011-5-25 09:26
0
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
10
处理了多核的。。。。里面包含idthook,ssdthook shaow ssdthook,inline hook, object hook
2011-5-25 19:12
0
游客
登录 | 注册 方可回帖
返回
//