首页
社区
课程
招聘
[原创]发一个Ring3 Global Inline Hook库(开源)
发表于: 2011-1-13 15:49 30639

[原创]发一个Ring3 Global Inline Hook库(开源)

2011-1-13 15:49
30639

刚写完了一个全局的inline hook 库, 易用性感觉还不是很好。  但是"全局"2字是亮点。
先说一下全局的思路。
首先遍历当前所有的进程。当然我们想到的大多数方法是用一些枚举进程的api来做,我想到了另一种方法。暴力穷举,这样可以把隐藏进程也给揪出来。
//暴力穷举进程(进程ID都是4的整数倍,而且小于0x0000ffff)

    HANDLE hProcess = 0;
    for (DWORD dwProcessID = 0; dwProcessID<=0x0000FFFF; dwProcessID+=4)
    {
      hProcess =::OpenProcess(
        PROCESS_QUERY_INFORMATION |  // Required by Alpha
        PROCESS_CREATE_THREAD     |    // For CreateRemoteThread
        PROCESS_VM_OPERATION      |    // For VirtualAllocEx/VirtualFreeEx
        PROCESS_VM_WRITE      |    // For WriteProcessMemory
        PROCESS_VM_READ ,        //  For CreateRemoteThread
        FALSE, dwProcessID);
      if (hProcess == 0)
      {
        continue;
      }
      //有进程句柄了。。远程线程注入啥的。。。
       }

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (24)
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
居然是沙发
2011-1-13 16:06
0
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
3
果然是板凳.
2011-1-13 17:13
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错,支持个
2011-1-13 22:08
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个不错
2011-1-14 08:47
0
雪    币: 38
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
此贴可以火,
2011-1-14 09:20
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不错,加油。
2011-1-15 00:11
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢大侠了,学习一下!
2011-1-15 10:48
0
雪    币: 510
活跃值: (438)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
老外有个开源的库,,TitianTitanEngine,,有全部源VC++源码,功能强大。
2011-1-15 15:39
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
10
微软的Detours也很不错。
2011-1-15 16:50
0
雪    币: 57
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
好文  仔细学习了一下……
有一点不明白:
在HookOneApi中为什么要用GetOpcodeSize呢? 直接读取前五个字节不就ok了?
GetOpcodeSize里面写的是神马?看不懂
2011-1-20 14:53
0
雪    币: 57
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
不好意思  刚开始没读完
现在知道为什么了
2011-1-20 15:31
0
雪    币: 2194
活跃值: (1001)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我喜欢mhook 支持64位
2011-1-24 20:58
0
雪    币: 386
活跃值: (46)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
第六个字节的opcode如果本来与第五个opcode是一起的,那么指令就破坏了
2011-1-29 11:21
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
Thanks for share
2011-1-31 17:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
不错,学习了
2011-1-31 17:31
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
学习了 ...........................
2011-2-1 13:18
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
看了个半懂, 学习了 谢谢。。。
2011-4-1 09:04
0
雪    币: 68
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
不错 要是支持64位就好了
2011-4-2 10:43
0
雪    币: 1335
活跃值: (5190)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
学习了 ...........................
2012-3-27 03:08
0
雪    币: 949
活跃值: (18)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
21
感谢共享
2012-3-27 09:01
0
雪    币: 12
活跃值: (773)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
希望有注释~~
2012-3-27 13:39
0
雪    币: 362
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习学习学习
2012-3-27 14:20
0
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
thanks for share.
2012-3-27 15:31
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
谢了,留个脚印
2012-4-21 21:26
0
游客
登录 | 注册 方可回帖
返回
//