先是顺移外挂:  
   
  石器和魔力会出现顺移外挂,是因为它的移动消息机制是客户端直接向服务器报告自己新坐标和人物方向,客户端又不是每走一步汇报一次,而是达到一定时间汇报一次,可能是一秒一次吧。正常情况下,每秒最大可走三步,顺移外挂直接向服务器发送新坐标就可以了。以前石器的服务器根本不检查两次坐标的距离差,所以能大顺移。后来大概修改了代码,新坐标如果与旧坐标距离超过3就视作外挂,立即断线。但3步顺移还是禁止不了,跳个沟或者跳到BOSS后面都可以,因为3步汇报一次坐标是这个引擎的最低要求。服务器又不能去检查两个坐标之间是否有障碍或者有无BOSS(可能设计上根本没顾及到这个要求,又或者是检查它们会导致CPU占用率太高机器受不了)。  
   
  反观UO,传奇,顺移外挂一直没出过,因为他们的移动消息机制不同,他们每次移动都是向服务器汇报自己的移动方向,每移动一次汇报一次。而坐标是服务器回传给客户端的,客户端只有决定自己移动方向的权利,没有决定坐标的权利。如果你想向墙或者其他人物方向移动,服务器会发现并可能把你弹回来(传奇好象不弹,UO是肯定弹)。  
   
  根据这个结论,三步顺移是石器类型引擎的“死穴”,解决方法为:把围墙做厚把沟做宽,超过三步。象熊男这种BOSS不要放在路中央,他身后要有厚的门,打败他让门消失一段时间也可以实现偷渡,三步顺移就无效了。  
   
  再说加速:  
   
  1、普通网络加速,这是不可防和封的。一般情况下,网络程序发送消息出去时,如果消息很短,系统会自动把它保留0.1秒,看后面是否跟一个或几个消息,如果有跟的消息,系统把它们合成一个完整包发送出去。这是网络固有延迟,有程序的方法使这种延迟不存在。去掉这种延迟是种合法的行为,系统本身给了用户这个选择权。但通常情况下这是不道德的行为,因为消息包的小而碎,包数量大大增加,加大了交换机和路由器的负荷,对骨干网会造成不利影响,和在街上乱扔垃圾属于同一性质。有些外挂通过设置通信的模式实现这种加速,它对没用外挂的玩家来说很不公平。这类加速对魔力宝贝的效果可能不大,对UO和传奇有明显的效果,PK中你快那么一点别人就打不着你。  
   
  2、利用系统BUG加速:  
  石器的加速属于这种类型。石器客户程序内部固化一个定时器,人物动作快慢由这个定时器决定。石器外挂(台湾版SADE源代码我看过)是用反汇编方法获取定时器代码地址,并对内存中代码进行修改来实现时间片控制的,黑客高手所为(对其反汇编水平深感佩服)。这个外挂一度盛行,直到华义买到石器源代码,才针对它进行了修改。后来服务器可能做了如下设置:为每次移动和战斗开始记录时间片,客户端每移动数步比较时间差,如果超出系统允许的速度就断线。战斗结束比较时间差,如果过快也是外挂所为。也就是说从服务器设计上进行防护而不是靠设备,这类外挂不难清理。怕的只是运营方没有源代码,或者有源代码技术又不足,或者开发方技术不足,这都会导致无法及时修正BUG。  
   
  再说改封包:  
   
  改封包的BUG其实也是系统设计导致的。(我不是说有BUG就是水平不行,这么大的程序百密一疏,BUG总是难免)。但有些BUG完全是设计水平低下造成的,比如石器的遇敌与否,居然是由客户端来决定。这件事交给服务器我想并不是难事,也不增加多少开销。黑客既然能反汇编石器代码,修改通信包更不是难事,所以原地、寸步、不遇敌太容易实现了。反过来如果遇敌交给服务器决定,这个功能外挂就根本实现不了。  
   
  再说看血外挂:  
   
  服务器在通信中告诉了客户端各怪物多少血,这个功能大概是游戏调试阶段所需要的,用于检查服务器的BUG。正式版本这个开关当然是关掉了,但问题是开关放在客户端而不是服务器,黑客们轻松地找到了这个开关,把它打开,于是大家可以看对面所有怪物的血了。  

 

转载于:https://www.cnblogs.com/jiandanfy/archive/2009/07/13/1522301.html

游戏外挂原理和技术分析(关于魔力宝贝)相关推荐

  1. [转载]游戏外挂原理

    最近同学在折腾外挂 我也就把这篇发上来吧 以前的文章了 也不知道那里来的了..... 1.游戏外挂的原理 外挂现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服 ...

  2. 游戏外挂原理基础18反外挂方案

    所谓知己知彼方能百战不殆,要想减少或避免外挂对游戏的侵害,必须从根本上知晓外挂的原理,及其常用的技术手段,从而在技术手段上对其进行封堵. 一.外挂的分类 外挂一般的分为2类,脱机式 和 内挂式. 脱机 ...

  3. 常见攻击原理与技术分析

    黑客攻击原理与技术 黑客的概念 "黑客"一词是英语Hacker的音译,是指拥有高深的计算机及网络知识,能够躲过系统安全控制,进入或破坏计算机系统或网络的非法用户. 攻击发展历程 黑 ...

  4. 游戏外挂原理解析与制作 - [内存数值修改类 篇四]

    前三篇的博文结合了C#的Demo对内存数据修改一类的挂剖析了原理,利用C#语言调用Windows API,我们其实已经写出了一个简单的内存扫描工具,但是它存在一些缺陷,比如说只能所搜索单一类型数值(整 ...

  5. C#使用 WebBrowser制作网页游戏辅助工具关键技术分析

    使用WebBrowser控件,实现起来确实很方便,但灵活性差,比不上直接组包发包.对三国风云这款网页游戏来 说,WebBrowser用的好的话理论上可以实现想要的功能(我只实现了整点自动"举 ...

  6. web应用防火墙(WAF)的安全原理与技术分析

    Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护.SQL注入.XML注入.XSS等.由于是应用层而非网络层的入侵,从技术角度都应该称为Web IPS,而不是Web防火墙.这里之所以叫 ...

  7. 游戏外挂制作指南 (一)

    要想在修改游戏中做到百战百胜,是需要相当丰富的计算机知识的.有很多计算机高手就是从玩游戏,修改游戏中,逐步对计算机产生浓厚的兴趣,逐步成长起来的.不要在羡慕别人能够做到的,因为别人能够做的你也能够!我 ...

  8. 网络封包基础,执着游戏外挂教程

    要想在修改游戏中做到百战百胜,是需要相当丰富的计算机知识的.有很多计算机高手就是从玩游戏,修改游戏中,逐步 对计算机产生浓厚的兴趣,逐步成长起来的.不要在羡慕别人能够做到的,因为别人能够做的你也能够! ...

  9. 全面的学习 游戏外挂 编程开发 视频教程+源代码

    有游戏分析,CALL基址分析,封包分析,外挂制作 ,逆向调试,过驱动保护等课程 课程大网如下  详情见:郁金香外挂教学网:http://bbs.yjxsoft.net VC++外挂教程大纲(另有del ...

最新文章

  1. LeetCode简单题之重新分配字符使所有字符串都相等
  2. 链表问题15——将搜索二叉树转换成双向链表
  3. [NC15748]旅游 树形dp基础
  4. 费用流 -- 四川省赛F-Direction Setting [拆边成点+费用流]
  5. 横空出世,比Visio快10倍的画图工具来了。
  6. 防止被算力“锁死”,人工智能进化急需革命性算法
  7. 基于Linux 的VM TOOLS Install
  8. 2017北理c语言答案,c语言答案 北理工
  9. HD2500显卡驱动linux,Intel发布HD Graphics 2500/4000显卡Win10驱动下载
  10. 大剑无锋之什么是死锁?【面试推荐】
  11. 分屏显示_2021元旦高性价比显示器推荐——便携式显示器选购指南(分屏办公、小尺寸办公必备)...
  12. Qt中QTableWidget用法总结
  13. c语言表达式amp;amp;,C语言中的运算符及其优先级
  14. PyCharm使用opencv错误解决办法:ModuleNotFoundError: No module named 'cv2'/ImportError: DLL load failed
  15. java基础学习的心得体会
  16. Oracle 函数大全
  17. S/HIC 系列软件:diploS/HIC 利用 CNN 和非定向基因型数据识别 软/硬 清扫
  18. 无锡市计算机表演赛举办方,21届计算机表演赛无锡赛区方案.doc
  19. <C++>类的对象内存空间分配一点就通,this指针一学就会
  20. Unity Shader-热空气扭曲效果

热门文章

  1. ubuntu修改无线网卡的默认名称
  2. 全国计算机考试选择题要求,全国计算机等级考试MSOffice选择题必考(27页)-原创力文档...
  3. python的Image模块
  4. 快速为mysql创造100万假数据
  5. 实验二:OpenGL的简单动画
  6. LevelDB初体验测试
  7. Java中计算日期间隔
  8. 2022-2028全球与中国内存测试设备市场现状及未来发展趋势
  9. 计蒜客 家谱 vector临接矩阵+dfs
  10. ttl值设置多少才合适