能力值:
( LV13,RANK:240 )
|
-
-
2 楼
如果是我,我会不停地检查IAT,和磁盘文件比较,恢复。
不过为啥不用inlinehook
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
ReadProcessMemory
WriteProcessMemory
不就行了吗?
不需要注入
还有就是既然是iatHook
那么被hook程序。引入表中必须有ntdll
一般情况下程序中是没有的。难得是对你对kenel32.dll等引入表中的ntdll进行iathook?
是这样吗?
否则就是inlinehook了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼上的猜的对,我是对kenel32.dll等引入表中的ntdll进行iathook,比较关键的函数,如ntreadvirtualmemory,ntwritevirtualmemory等函数进行了IATHOOK,现在就是想知道别人一般会有那几种方法进行反HOOK,如讲反hook代码写在loader,或者写在dll里注入反hook等
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
你说的AntiHook是被hook的程序。来Anti
还是另一个程序来anti-hook?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
是另一个程序来anti-hook
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
那不需要注入。
假如A是anti-hook的程序。
B是被hook程序。
A读取自己kernel32.dll 的ntdll 引入表。
然后使用ReadProcessMemory读取B的kernel32的引入表。比较。不等
用WriteProcessMemory 写入不相等的IAT就行了。不需要注入。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
关键是我已经把ReadProcessMemory,WriteProcessMemory 等关键函数hook了,他还能读写吗
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
你是全局的hook吗?还是ring0的hook 这两个函数吗。
如果不是的。那值对ReadProcessMemory,WriteProcessMemor 只B程序调用有效。
其他程序无效。。。
如果是全局的hook那么就是进程保护的话题
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我是r3层的HOOK
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
总的来说谢谢你热心的关切
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
全局hook
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
ring3 全局hook reload ntdll
对于了解PE结构的人Reload ntdll 很简单。论坛里面也有相应的代码。
然后使用reload 的ZwReadVirtualMemory和ZwReadVirtualMemory ZwOpenProcess
unhook就行了。
在ring3你挡不住的。即便进了ring0.别人同样加载驱动。你也挡不住。
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
很好反ntdll的IATHook,代码:
GetProcAddress(GetModuleHandle("ntdll.dll"), "Nt...");
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
ShadoWWinL你好,虽然你不能得分,但对你热情的解答表示再三的感谢,由衷的谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
希望能帮到你。
水平就这样了。只能帮你到这里了。
嘿嘿。有分给我。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
看你们讨论的那么热烈,冒昧的问一下,ntdll有iat吗?
iat不是输入表?ntdll有输入表???
还是说别的程序相对于ntdll的iat???
至于检测方法,GetProcAddress后判断函数是不是在这个模块里即可。
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这个还用问么,肯定是没输入函数
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
看你们讨论的那么热烈,冒昧的问一下,ntdll有iat吗?
iat不是输入表?ntdll有输入表???
还是说别的程序相对于ntdll的iat???
至于检测方法,GetProcAddress后判断函数是不是在这个模块里即可。
上面讨论这么久,也没说是输入表,只有你冒出来输入表这一词
|
|
|