大家好,鄙人菜鸟一个 仅仅浅谈
防外挂是件痛苦的事情,游戏一问世,有了玩家 就出了外挂 老板就开始下令封了,
目前外挂 有大概3种原理 ,1.封包挂[分析游戏客户端的加密算法] 不过目前游戏为了提高效率 基本使用的算法 都是DES算法 这个有汇编能力的 脱壳后很容易分析 就跟写 注册机 一个道理
2.模拟挂[模拟按键挂]
3.找CALL挂 就是对客户端内核进行分析,对关键函数功能 抓取写成固定模式的
4.加速外挂[更改系统时钟或者找到游戏的关键加速封包,发送封包]
我们针对 逐渐分析,代码我就不便发布 毕竟有保密合同 ,原理不敢独自保留,拿出来与大家共享
1。对付封包挂, 游戏网管 可进行 1.动态算法 2.对封包类软件例如WPE之类可定时检测SOCKET入口点函数是否被HOOK.
2.模拟挂 此类挂危害性质不是很大,答题,是目前最好的方法,如果答题都过了,我没办法
3.找CALL挂 ,用对内存保护比较好的壳 基本可以解决问题,我自己用的WL,因为感觉WL对内存保护还是比较强大的,同时自身客户端也需要给关键函数VMP等等
4.加速外挂 这个我认为比较好的方式 需要在服务端下功夫,游戏处理引擎和网关的逻辑我是这样写的 客户端发送封包给游戏运行网关,游戏运行网关把封包转发给游戏引擎,游戏引擎把返回值发送给游戏网关,游戏网关同时把引擎的封包给客户端 这个时候我们可以发现 游戏网管直接控制着命脉,封包的发送,这个时候我是这样做的, 游戏网管检测到游戏中有人加速 这个发现方法是 对客户端的时钟与服务器时钟进行对比,怎么对比法,各位大侠都有方法知道吧,小弟不多说,做个简单的判断,发现加速,直接可以对人物掉线,并提示,但是这样始终不很完美,最好的方式是发现加速,累计,然后延迟发送封包给M2这样,是比较完美的处理
因为我也是纯个人研究爱好,没钱购买游戏保护平台例如NP等等,没办法所以还是苦苦追寻自己解决外挂之路
希望各位大侠也能不吝惜传授技术 HOHOHO
打个小AD,本人希望结交对 Delphi绘图引擎研究比较深的朋友切磋技术,因为目前我使用delphi 开发游戏客户端,但是无论国内外都没有发现好的绘图引擎【指开源的】能够完全应付大型2D网络游戏开发,
就拿DelphiX来说,DX7时代的产品了,已经淘汰了,希望 能够共同写出一份 类似DelphiX 支持DireceX9.0的2D delphi绘图引擎 如果有此类愿意 加入研究的朋友 可以发邮件给我
- 标 题:关于网络游戏防外挂浅谈
- 作 者:zerovirs
- 时 间:2010-05-06 21:34:15
- 链 接:http://bbs.pediy.com/showthread.php?t=112465