游戏开发论坛

 找回密码
 立即注册
搜索
楼主: tarkey

老子看不惯外挂系列 之 彻底粉碎钩子型外挂

[复制链接]

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
 楼主| 发表于 2004-9-7 20:11:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

回Secondage:

我想你没看明白他写的意思吧?

l, but it is highly recommended; otherwise, other applications that have installed hooks will not receive hook notifications and may behave incorrectly as a result. You should call CallNextHookEx unless you absolutely need to prevent the notification from being seen by other applications.

你仔细看看这个。。

之所以说是either before or after只是因为他是EX结尾的函数。
WINDOWS下所有的EX结尾的函数都是会在底层自己建一个线程去
运行,而在调用处就直接返回。

所谓的OPTIONAL的原因我上面贴的那段英文讲得很清楚了。
你必须呼叫这个函数,除非你根本不想让自己被别的进程hook。

3

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2004-9-8 00:46:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

觉得不错,不过有些地方我没想太明白,在自己看资料之前,能否指点一下
1、能否保证我们自己的钩子在所有其它钩子之后
2、其它的钩子是否一定是外挂
3、如果每隔一段就去执行我们的进程,然后不调用CallNexthookex(),那该
用什么样的频率去执行我们的进程才好呢
4、钩子频繁的使用会不会对游戏效率有影响
这是对楼主提出的解决方案的一些小小疑问。
我觉得,技术上的问题都有办法解决,可是让所有好的程序员都能够不去走外挂这条道,才是值得大家认真思考的

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
 楼主| 发表于 2004-9-8 06:53:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

后入为主,可以采用类似每隔几个更新周期
unhook再hook的方法来将自己的钩子保持在钩子队列的最前。

其他钩住自己游戏进程的,你说不是外挂还能是什么,呵呵。

钩子的使用在效率上肯定是有影响的,不过对于EX系列的FUNCTION
能将影响减少到很小。因为图形的刷新不会因为钩子的原因而停下来。

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2004-9-8 09:21:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

我觉得tarkey的办法施行的通的

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-9-8 09:35:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

大哥,不要被call这词迷惑
callnexthook只是做传递消息用的,该响应的钩子还是会响应的
跟你往不往下传消息是没有关系的
不要没做测试就在这里乱发一气

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2004-9-8 14:27:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

大哥,能不能告诉我传递的消息是什么?下一个钩子收不到消息,会不会影响运行呢?

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
 楼主| 发表于 2004-9-8 15:30:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

。。。。。secondage。。
你错了,你的钩子程序return的是什么?是0是吧?
是0的话就会继续传,你要return 1啊。

标准的写法return CallNextHook()什么的,是因为callnexthook是返回0的

你return 1就好了,这点忘记写在文章中,难怪你会误会。

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2004-9-8 18:40:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

走过路过,千万别错过,虽然不懂,但一定支持反外挂!!
顶上去

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-9-9 10:10:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

你可以做个实验,你就钩住键盘消息
然后你不往下传,然后按键,看最后一个钩子会不会相应
如果会,那就是我错了

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
 楼主| 发表于 2004-9-9 11:02:00 | 显示全部楼层

Re:老子看不惯外挂系列 之 彻底粉碎钩子型外挂

CallNextHookEx()是传消息没错。
而钩子的回调函数的返回值是控制是否往下个钩子走的。
如果你返回0,那么就呼叫钩子链上的下一个钩子。
如果这个时候你不CallNextHookEx(),只是return 0的话。
下个钩子会被呼叫,但是没有消息。

如果return 1的话,呼叫了CallNextHookEx()也没有用。

做过实验了,钩住键盘,直接return 1可以屏蔽掉。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 06:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表