能力值:
( LV9,RANK:210 )
|
-
-
2 楼
添加CRC对代码的完整性进行校验。
但也只是加大了hook的难度,如果找到CRC验证码,进行更改后,还是可以进行hook的。完全防止被hook好像是不可以的
|
能力值:
( LV9,RANK:210 )
|
-
-
3 楼
不知是不是我没理解楼主的意思,曾加反hook,是完全徒劳的
可以用过滤驱动在底层对数据包进行拦截,你上层做的一切都白费。如在TDI,NDIS,甚至是网卡驱动,直接拦截网卡数据等等
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我想问题应该更具体化一点,就比较能说清楚了。应该是我的问题问的不明确,刚才根据楼上的回复,我又查了一下网上的资料。确如楼上所说,完全避免hook,几乎是不可能的。
假如一个外挂程序,要想截获一个网络程序的封包。常用作法是先启动外挂,然后监视系统进程出现欲hook的网络程序,开始截获。不知道我这个假设是否正确。
假如上面的假设成立,那么作为被hook的网络程序,是否有能力检测到系统进程中存在一个欲hook的监视进程。如果能够检测出,就可以让网络程序终止。
当然,也可能网络程序已经运行,然后再运行一个外挂程序,那么如果是这种情况,网络程序自身是否有可能检测出被劫持封包,从而终止运行呢?
上面两个问题,实际上已经不是反hook的意思,而是如何检测是否有软件准备hook,或已经被hook.
|
能力值:
( LV9,RANK:210 )
|
-
-
5 楼
假如上面的假设成立,那么作为被hook的网络程序,是否有能力检测到系统进程中存在一个欲hook的监视进程。如果能够检测出,就可以让网络程序终止。
如果是这样,可以在网络程序中创建单独的线程或进程,不断的监测自己代码的完整性,如果不完整,即终止程序,干脆加猛壳,驱动等
当然,也可能网络程序已经运行,然后再运行一个外挂程序,那么如果是这种情况,网络程序自身是否有可能检测出被劫持封包,从而终止运行呢?
这种情况就难办了,因为数据包的接受,对网络程序来说很难判断是否被劫持,可不可以在包中加上暗标,然后网络程序进行检测。再者对包数据加上自己研发的算法,等。。但是时间一长,这些东西始终会被发现的。
一场没有终点的战争。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
防止hook还是防止截取封包啊. 防止截取封包貌似肯定防不住的.如3楼所说,截取封包的方法太多了.
一般将发送出去的封包用个加密算法,不要用常用加密算法,然后将程序加个猛壳. 别人截取到了加密的封包也没用.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
感谢几位对小弟这贴的关注,通过琢磨你们的帖子,又到网上看了下资料,感觉思路比较清晰了。实际上我需要的功能是如何检测是否已被hook.
在网上看到一篇文章,里面提到钩子的原理。安装一个全局钩子,然后获得欲hook的网络程序进程ID,取得需要hook的函数地址,然后修改为跳转到外挂的函数。
全局钩子意味着每个进程内都被插入了钩子代码。现在做一下流程的假设。
首先打开外挂程序,外挂给所有进程都插入了钩子代码。因为是全局钩子,感觉系统进入了一个监听状态,再新打开的程序,都会被自动插入钩子程序,要不怎么叫全局钩子呢。当打开网络程序后,系统也自动给这个网络程序插入了一个钩子。然后钩子代码根据捕获的一个特定事件,取得网络程序的进程ID,根据进程ID,外挂程序又可以取得需要拦截的函数地址,就可以截取封包了。
不知道理解的对不对。假如理解的对,那么是不是可以这样假设,因为外挂首先安装了全局钩子,所以网络程序在装入内存时的一瞬间已经被装了钩子,或者说程序正式开始前已经被装了钩子,那么网络程序是不是可以把运行的第一步实现为,检测自身是否已经被插入了钩子?
呵呵。今天晚上全是猜测。主要是没有理论基础,也无从下手,希望有经验的前辈,在理论层次上给指点一下。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
忍不住还是要问一下。
没有得到回复,是因为问题太弱了,还是我的假设不对。不是不想实践出真知,实在是没有下手的头绪啊。
或者能不能请斑竹给个肯定的答复。哪怕说我的假设纯属胡扯,继续研究。我也会心满意足。没有回复,心里总是不踏实。绝没有要求的意思。
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
这个和HOOK的手段有关,如果不是驱动截取,完全可以通过特征检测,钩子检测,自己做加壳软件偷取关键API的部分代码等来实现.
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
建议楼主先熟练掌握各种HOOK的技巧 然后自然会有反HOOK办法了.
根据楼主的发言 发现楼主对各种HOOK并不是十分了解
要HOOK一个程序 不一定要安装什么全局钩子 可以远程线程注入 可以修改线程ESP注入代码 甚至可以直接修改PE文件
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
估计lz是做网游的,想反外挂。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
收到。感谢各位各位的发言。我又仔细看了一遍我自己在这篇帖子中的发言,正如Nax所说,问题出在我自己对hook的手法不了解上。这就好像反病毒的人,不会写病毒,怎么反病毒呢?
鄙视一下自己,又愚钝了一次。
|
|
|