辅助游戏的增强型工具称作"挂",由第三方编写的增强工具称为"外挂"、由游戏厂商自己编写的则称作"内挂"。而通常情况下,外挂是会被游戏厂商惩罚或禁止的,这其中的缘由不详述。
提到"挂",形象的想像,就会联想到"钩子",有"钩子"才能"挂"东西。幸好基于Windows的系统中就有钩子(Hook)技术,也正是用于实现外挂的核心技术。
游戏厂商禁止外挂的方法,也正是判断游戏进程中是否有钩子存在,而游戏外挂又恰恰常用钩子实现。从而外挂与反外挂便成为了矛与盾的对立,互相制约着。
当使用钩子技术对游戏进行外挂开发时,不仅要考虑进程方面的稳定性和效率、还要同时对抗反外挂技术,所以对钩子技术的熟知程度和程序员自身的代码功底都要有较高的要求。
而我前段时间写的两个小程序,组合起来正巧可以实现外挂的基本功能,而那两个小程序又没有用到钩子,这不免让我感到庆幸----因为不用去肯微软宝典、也不用对系统方面的结构有太多的了解。
在开发过程中,我发现虽然自己的代码没有用到钩子技术,但依然会被游戏客户端判定使用了外挂、游戏会被强行退出。经过几次尝试发现其中奥妙,只要多使用随机数,便可突破游戏反外挂技术,从而顺利对游戏进行自动操作。
有人说这个反外挂技术是由服务器端进行消息判断、寻找规律而判定的,这种说法肯定是错误的,想想游戏玩家的数量和游戏中行为消息的数量(某个时刻所有游戏玩家点击鼠标的次数),就知道没有哪个服务器上会去统计如此海量的点击行为。
实践也说明了一切,如今最简单的模型已经构建出来、并顺利使用了。有时间,我会逐渐对其进行完善。
《热血传奇自动杀羊机器人开发日志》目录列表:
热血传奇自动杀羊机器人开发日志(1)----引子,为什么要写这个程序;
热血传奇自动杀羊机器人开发日志(2)----钩子技术与反外挂技术是对攻防较量;
热血传奇自动杀羊机器人开发日志(3)----实现一个不用钩子技术的简单外挂;
热血传奇自动杀羊机器人开发日志(4)----如何找寻怪物、宝藏、玩家和NPC;
热血传奇自动杀羊机器人开发日志(5)----走动范围的控制与修正;
热血传奇自动杀羊机器人开发日志(6)----如何获取当前坐标、如何确定当前HP和MP值;
热血传奇自动杀羊机器人开发日志(7)----更智能的走动范围控制和自动补红、补蓝;
热血传奇自动杀羊机器人开发日志(8)----又是验证码识别技术;
热血传奇自动杀羊机器人开发日志(9)----至此,应该基本完成了,但还有许多可进一步完善的地方、人工智能。
提到"挂",形象的想像,就会联想到"钩子",有"钩子"才能"挂"东西。幸好基于Windows的系统中就有钩子(Hook)技术,也正是用于实现外挂的核心技术。
游戏厂商禁止外挂的方法,也正是判断游戏进程中是否有钩子存在,而游戏外挂又恰恰常用钩子实现。从而外挂与反外挂便成为了矛与盾的对立,互相制约着。
当使用钩子技术对游戏进行外挂开发时,不仅要考虑进程方面的稳定性和效率、还要同时对抗反外挂技术,所以对钩子技术的熟知程度和程序员自身的代码功底都要有较高的要求。
而我前段时间写的两个小程序,组合起来正巧可以实现外挂的基本功能,而那两个小程序又没有用到钩子,这不免让我感到庆幸----因为不用去肯微软宝典、也不用对系统方面的结构有太多的了解。
在开发过程中,我发现虽然自己的代码没有用到钩子技术,但依然会被游戏客户端判定使用了外挂、游戏会被强行退出。经过几次尝试发现其中奥妙,只要多使用随机数,便可突破游戏反外挂技术,从而顺利对游戏进行自动操作。
有人说这个反外挂技术是由服务器端进行消息判断、寻找规律而判定的,这种说法肯定是错误的,想想游戏玩家的数量和游戏中行为消息的数量(某个时刻所有游戏玩家点击鼠标的次数),就知道没有哪个服务器上会去统计如此海量的点击行为。
实践也说明了一切,如今最简单的模型已经构建出来、并顺利使用了。有时间,我会逐渐对其进行完善。
《热血传奇自动杀羊机器人开发日志》目录列表:
热血传奇自动杀羊机器人开发日志(1)----引子,为什么要写这个程序;
热血传奇自动杀羊机器人开发日志(2)----钩子技术与反外挂技术是对攻防较量;
热血传奇自动杀羊机器人开发日志(3)----实现一个不用钩子技术的简单外挂;
热血传奇自动杀羊机器人开发日志(4)----如何找寻怪物、宝藏、玩家和NPC;
热血传奇自动杀羊机器人开发日志(5)----走动范围的控制与修正;
热血传奇自动杀羊机器人开发日志(6)----如何获取当前坐标、如何确定当前HP和MP值;
热血传奇自动杀羊机器人开发日志(7)----更智能的走动范围控制和自动补红、补蓝;
热血传奇自动杀羊机器人开发日志(8)----又是验证码识别技术;
热血传奇自动杀羊机器人开发日志(9)----至此,应该基本完成了,但还有许多可进一步完善的地方、人工智能。
Leave a comment