[转] 为什么fps游戏外挂多?

[转] 为什么fps游戏外挂多?

转自: https://www.zhihu.com/question/29554522/answer/690084911

作者:任鸟飞

链接:https://www.zhihu.com/question/29554522/answer/690084911

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

FPS不光是外挂多,变态功能也多。

那么为什么总是“无法杜绝”这一类变态功能呢?FPS游戏注重游戏体验,游戏公司为了保证玩家的流畅性和打击感,将许多重要数据放在本地客户端进行处理,这就给了外挂开发者有机可乘。如果在关键处修改一些逻辑代码,即可实现多样性的变态功能,夸张的说,只有你想不到,没有做不到。

为什么不能彻底解决FPS游戏外挂

cs子弹加速 无限子弹 无后坐力

上一篇我们讲到CS无限手雷变态功能,现在讲一下CF实现加速功能

FPS游戏,变态外挂总是层出不穷,如飞天、蹲地、无后座力、加速等等。

如下图变态功能:

全屏飞刀(修改了刀的攻击距离和伤害)

(网图侵删)

秒杀BOSS

加速功能在FPS外挂历史上,可以说是历史悠久。从最早的cs,到后来的cf,以及现在的吃鸡类游戏无一不受其毒害。那么加速功能为何无法彻底杜绝呢? 这和FPS游戏的特性有关。射击类游戏封包传送,采用的大多是以“UDP的方式”,来简单的了解一些UDP协议,以下是百科给我们的解释:

UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。

从上了解到,UDP传输资源消耗小,处理速度快,可以满足玩家体验,但是缺点是 不可靠,容易丢包,而“加速 瞬移 飞天”等等功能,都可以通过”变相丢包“实现。

加速可以分为人物加速和武器加速。人物加速,即修改地速,达到移动加速的效果。武器加速即修改武器射速,使原有的射速发生改变。而这种“世人皆知”的原理,游戏公司自然也知晓,那么对其的检测也极其的严格,这个时候不妨尝试用一些另类的方法实现相同的变态功能。

以cf为例子,开枪的时候,不同的武器会有不同的动作,抖动。那么假设,将开枪动作给去掉或修改其抖动时间,是否也能实现子弹加速效果?实践是唯一的真理。

由于抖动时间非常短暂,停止了射击立马停止了开枪动作,搜索数据较为困难。那么可以写一个程序,在开枪状态下讲游戏挂起,保存内存数据再进行搜索。所用到的函数如下:

OpenProcess () //取得游戏句柄

ZwSuspendProcess() //通过句柄将其挂起,保存内存状态。

ZwResumeProcess() //通过句柄恢复挂起,还原内存状态。

CloseHandle () //释放句柄

开枪状态下,将游戏挂起,如下图。

保存内存状态后,搜索未知的数值

恢复程序,还原内存状态后,搜索变动的数值,来回塞选地址

经过反复塞选,得出一个与“开枪动作时间”相关的地址,从理论上来讲,只要是与开枪动作相关的地址,都有可能断到相关的逻辑代码段。得到地址后,去DO中以DWORD的形式访问,下断后进行开枪使其断下,得到以下代码段

经多次下段测试,[ESI+52C]为 类似于“动作间隔”的值,开枪射速与其相关,赋值给ebx。

那么这个时候,咱们可以进行修改逻辑代码。可在此处下HOOK,修改[esi+52c]里的值,从而实现另类子弹加速,也可在此处直接NOP,不让其赋值给EBX,也可实现加速效果,如下GIF:

----------------------------分割线---------------------------

本人每天需要讲课 ,会把每天讲的课以文章的形式整理出来。

本文章仅限于交流,如果本文章侵犯了贵公司权益,请联系我删除。

点赞是一种鼓励,转载是一种美德,分享能给我最大的动力,如有不足之处请予指正。

编辑于 2019-05-22

相关科技文章

阴阳师石距BOSS在哪里? 石距BOSS怎么进?
365体育平台怎么不取缔

阴阳师石距BOSS在哪里? 石距BOSS怎么进?

⌚ 08-13 👁️ 9551
Python怎么打开ipynb文件
365bet官方网站是多少

Python怎么打开ipynb文件

⌚ 08-14 👁️ 2576
捕鱼达人赚钱秘籍
365体育平台怎么不取缔

捕鱼达人赚钱秘籍

⌚ 07-26 👁️ 3889
回声 - 碧蓝航线WIKI
365体育平台怎么不取缔

回声 - 碧蓝航线WIKI

⌚ 07-15 👁️ 5553
广州平板电脑
Bet体育365提款不到账

广州平板电脑

⌚ 08-18 👁️ 7320
世界上最大的双壳贝类,长大了就合不拢嘴?
365bet官方网站是多少

世界上最大的双壳贝类,长大了就合不拢嘴?

⌚ 08-27 👁️ 951

合作伙伴