能力值:
( LV4,RANK:50 )
|
-
-
2 楼
广告位出租~
|
能力值:
( LV9,RANK:165 )
|
-
-
3 楼
膜拜一个先,自己逆向烂啊
|
能力值:
( LV12,RANK:310 )
|
-
-
4 楼
漂亮的框架。。。和360的HookPort有什么区别
|
能力值:
( LV12,RANK:600 )
|
-
-
5 楼
其实只是分析了一点,没说出整体框架。
还有为啥是
8053dbb6 90 nop
8053dbb7 90 nop
8053dbb8 90 nop
8053dbb9 e962170c77 jmp TsFltMgr+0x2320 (f75ff320)
前面3个NOP有神马好处
|
能力值:
( LV12,RANK:270 )
|
-
-
6 楼
占位围观!!
|
能力值:
( LV5,RANK:60 )
|
-
-
7 楼
前排膜拜大牛分析
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
凑两个双字,猜测。sys现在也到ZMCPB打酱油了?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
数了下,就差两个人就全员到齐了
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
字母在LZ的帮助下向数字看齐了
|
能力值:
( LV5,RANK:60 )
|
-
-
11 楼
凑俩字节可以放后面吧,猜不到
|
能力值:
( LV12,RANK:600 )
|
-
-
12 楼
NO,前面3个NOP是有意图的
|
能力值:
( LV12,RANK:770 )
|
-
-
13 楼
还有二个神秘指令,等你挖掘下啊
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
3个nop 意味着想要3个妹子 , 呵呵
|
能力值:
( LV5,RANK:60 )
|
-
-
15 楼
如果在这个地方hook的话,后面系统的更新估计也要随着改动了,前面那五个字节不错,貌似MS的各个版本都没变过。
其实也可以考虑前面五个字节的前面 …… 不过我考虑的可能比较局限,还有很多要考虑的……
想了下,还是没想出来那三个NOP的作用,没跟上大牛的步伐啊
|
能力值:
( LV5,RANK:60 )
|
-
-
16 楼
三个妹纸
|
能力值:
( LV12,RANK:270 )
|
-
-
17 楼
nop掉mov edi,esp是为了直接使用edi的值?
合理的hook部分就是从 mov ebx,dword ptr [edi+eax*4]之后到call ebx之前,但要过滤,最好保留edi值,而前面的部分被hookport占了,所以把mov edi,esp 这句放在过滤后面。 呃,刚受JeTus提醒
8053d7ec 8b3f mov edi,dword ptr [edi]
8053d7ee 8b1c87 mov ebx,dword ptr [edi+eax*4]
这里也可以hook,没太注意。KiFastCallEntry里的hook空间不多了啊~~
|
能力值:
( LV9,RANK:260 )
|
-
-
18 楼
这个算不算一处神秘指令:
SuperHook proc near
arg_0= dword ptr 8
arg_4= dword ptr 0Ch
arg_8= dword ptr 10h
push ebp
mov ebp, esp
push edi
push ebx
push edx
mov edi, [ebp+arg_0]
mov eax, [edi]
mov edx, [edi+4]
mov ebx, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
lock cmpxchg8b qword ptr [edi]
pop edx
pop ebx
pop edi
mov ebp, esp
pop ebp
retn 0Ch
SuperHook endp
为了保证原子操作,使用了 lock cmpxchg8b 指令
|
能力值:
( LV9,RANK:260 )
|
-
-
19 楼
ZMCPB是啥?
|
能力值:
( LV9,RANK:260 )
|
-
-
20 楼
实际更改内存的函数如下:
SuperHook proc near
arg_0= dword ptr 8
arg_4= dword ptr 0Ch
arg_8= dword ptr 10h
push ebp
mov ebp, esp
push edi
push ebx
push edx
mov edi, [ebp+arg_0]
mov eax, [edi]
mov edx, [edi+4]
mov ebx, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
lock cmpxchg8b qword ptr [edi]
pop edx
pop ebx
pop edi
mov ebp, esp
pop ebp
retn 0Ch
SuperHook endp
将三个 nop 放在 jmp 前面莫非是为了设计SuperHook函数的调用接口?因为这样在任何地方需要调用 SuperHook 进行 hook 时可以统一这样来调用:
SuperHook(dwHookPoint, 0xe9909090, dwOffSet);
其中 dwOffSet 就是从 dwHookPoint 要跳转到的相对偏移(dwOffSet = new - dwHookPoint - 8)。
不知道这个原因对不对……
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
那三个nop跟360有关吧....我猜
|
能力值:
( LV9,RANK:260 )
|
-
-
22 楼
也有可能是给360多腾点地方,万一360突然要用7字节jmp呢
|
能力值:
( LV13,RANK:220 )
|
-
-
23 楼
额 多贴点 nt api的处理过程函数啊 看看有没有啥xx没
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
膜拜....坐等解释...
|
能力值:
(RANK:400 )
|
-
-
25 楼
伟哥,亲。很久么见,想屎你啦。
|
|
|