对于单机游戏来说,所有数据都是在内存和硬盘上的,所以单机游戏实际上是有内存修改器和存档修改器两种。只不过修改的位置不同,技术上来说都是大同小异,就是直接修改游戏数据。制作技术不外乎两种,一种是直接分析游戏主程序对应的反汇编代码,找出关键位置。另一种则比较简单,是通过游戏中数据的变化,来找到对应位置。比如金山游侠中的内存搜索,就是通过搜索内存中某个数值的变化来确定内存地址从而修改数值的。(实际上只要把游戏数据存储成浮点类型,一票类似原理的修改器都跪了。。。)。存档修改器也是类似,首先存个档,然后消耗个数值,然后再存一个档,比较两个存档的差异来确定要修改的位置。知道了要修改的内存或存档地址之后,剩下的就是写个程序修改对应内存或者存档的位置就行了。基本上单机游戏修改器就是这么个流程。

网游的数据都是存储在服务器上,所以所谓外挂的原理其实也没比单机复杂多少。比如有个网游的基本架构如下:

实际上一般还有个账户服务器,用户账户数据一般是跟游戏数据分离开的,一个用户账户是可以登录若干个游戏服务器的。但是这个跟本话题无关暂时省略掉。
比如你在游戏中做了某样操作,比如打个怪,或者开个宝箱,这时候,游戏客户端的任务就是把你这些操作,转换成预先定义好的数据格式发送给游戏服务器,然后游戏服务器收到数据之后,了解了你的意图,然后在游戏服务器上做了一番比较和判断之后,然后把结果发送给游戏客户端,你掉了XX血获得YY经验,打开宝箱得到ZZZ物品。客户端收到服务器的指令之后,在你的画面上把服务器的结果显示出来,仅此而已。
这时候就能看出来了,你仅仅修改游戏客户端的数值是没用的,因为数值并没有同步到游戏服务器上,下次服务器给你发送数据的时候就会改回来。
那么游戏外挂是怎么做的呢?关键就在于外挂会模拟客户端发送数据参考下图。

比如在客户端我正常打怪,手动点击一秒钟打怪一次,但是外挂则会毫无节操地一秒钟发送给服务器几十哪怕上百次打怪的数据。于是有些服务器就会被骗过,从而客户以更高的效率获得经验和奖励。但是这种方法对外挂编写者技术要求比较高,首先你得能分析的出来原来客户端和服务器段通信的数据封包的格式,然后写出模拟客户端的外挂程序。其次最重要的是你得能骗得过服务器。像一秒钟打怪几十次的数据,服务器还是很容易判断出你是在作弊的。而且对于这种严重破坏游戏公平性的外挂来说,被发现的代价还是很大的。游戏公司也是严厉禁止的。
骗不过服务器怎么办呢?于是有些外挂走上了另一条路,这条路上外挂不是模拟游戏客户端了,而是模拟游戏的主体——人。也就是外挂部分或者全部代替人在游戏中的作用。就像下面的图示。

还用打怪来举例子就是外挂给游戏客户端发送模拟指令,模拟用户的打怪操作。然后用某种预先定义好的算法,更有效率的打怪,然后在HP低到一定程度的时候,自动回血。基本上只是一个自动代练的程序实现。这种外挂有些并没有很大的破坏游戏的公平性,游戏官方也是睁一只眼闭一只眼的。

后来好多游戏公司举得,既然这种外挂并没有怎么破坏游戏的公平性,那为啥不自己做呢,能多赚点钱谁不乐意呢?于是有些游戏就又提供了游戏的挂机打怪功能,根据功能不同,免费或收费也不尽相同。于是这种官方提供的东西又被叫做内挂。。。

单机与网游的数据存储、外挂与内挂相关推荐

  1. 手游开发之惑:好玩不过单机,厂商却独爱网游

    在7月25号举办的ChinaJoy世界移动游戏大会上,大会组委会发布了<全球移动游戏产业白皮书>.报道中提到:2012年全球智能手机的销量已达7.82亿台.2012年全球移动市场规模为11 ...

  2. 支持自动打怪(内挂)的网游,更新日期15.3.2

    更新日期:15.3.2 持续更新中,希望大家多多支持,未涉及到的内容可通过留言或其他方式联系我,我会及时添加的. 极乐空间-----------------15.3.2,3D画面不错,Ctrl+Z开启 ...

  3. 3D网游中人物的碰撞后反应控制

    人物移动控制是单机和网游中比较重要的部分,但前单机游戏使用动力学以及IK动画等已经达到了非常逼真的地步,在大型网络游戏中这样的物理模拟同步是很实现的,因此在目前多数网游中仍旧是采取使用一个包围体(盒子 ...

  4. 网游生命周期在百度指数曲线上呈“M”形分布,各阶段搜索行为呈一定特征

    (本文转载自:http://data.baidu.com/youxi3/part1.html) 产品生命周期就是一种新产品从开始进入市场到被市场淘汰的整个过程,进人和退出市场分别标志着周期的开始和结束 ...

  5. 尝试 对网游私人服务器架设的一些接触

    前端时间接触到了一些私人服务器游戏,因为自己本身喜欢玩游戏,无论单机还是网游都会有收费的游戏道具,所以之前总是会去各种论坛去寻找破解版和私人服务器.事情的起因就是这样的但是对于网络游戏无论私人还是官方 ...

  6. 内网穿透远程群晖NAS:配置cpolar内网穿透生成数据隧道 3/6

    系列文章 内网穿透远程群晖NAS:免费安装cpolar内网穿透 1/6 内网穿透远程群晖NAS:映射5000端口实现公网访问群晖 2/6 内网穿透远程群晖NAS:配置cpolar内网穿透生成数据隧道 ...

  7. Netflix数据库架构变革:缩放时间序列的数据存储

    Netflix分析了其数据集的访问模式,对查看数据存储架构进行了重新设计,并采用群集分片的数据分类方式,实时和压缩数据并行的读取模式.以寻求满足更多的独特需求与成本,效率的改进.本文来自Netflix ...

  8. Netflix如何设计一个能满足5倍增长量的时序数据存储新架构?

    2016年1月,Netflix在全球范围内扩展业务.越来越多的会员.越来越多的语言和越来越多的视频回放将时间序列数据存储架构扩展到了它的临界点(详见第1部分文章<Netflix实战指南:规模化时 ...

  9. 网游如何防外挂篡改数据——客户端内存加密

    题记: 以前玩过pc单机游戏的同学,相信对金山游侠这款作弊修改器一定不陌生,玩家通过修改器可以轻松地定位.修改游戏里的关键变量,如boss血量,金钱,主角战力等数据,轻松制霸游戏.作弊修改器的原理非常 ...

最新文章

  1. 2021最大看点AI for Science,在哪些领域有斩获?
  2. openssl生成自签证书
  3. 一次上机试题(面向对象)
  4. 【开发管理类软件必备知识视频教程之二】登录窗体后台注意事项
  5. MySql根据经纬度查询任意距离范围内数据
  6. 利用Telerik Fiddler 进行手机抓包!
  7. composition 组合
  8. 已收藏!java面试知识点整理
  9. 牛腩视频播放管理系统
  10. 【设计鉴赏】张艺谋《影》震撼人心的海报设计
  11. python背景介绍_二手房房价影响因素分析 讲解1背景介绍
  12. 激活office 2007 的方法
  13. 领英问题问答--有关领英各类问题整理,置顶推荐
  14. iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
  15. fastjson 属性大写问题
  16. Rtools 环境变量设置-windows
  17. QT学习笔记-第三天
  18. 前22年的Loser,后4年和自己赛跑的人 | 最惨前端面经
  19. 一个程序员转型 AI 工程师的故事
  20. STM32学习笔记(六 定时器及应用 4 光敏传感器实验 )

热门文章

  1. 柬埔寨外资准入法律及政策简介
  2. 《那些年啊,那些事——一个程序员的奋斗史》——58
  3. 羊了个羊背后的逻辑思维
  4. Android Cannot execute task: the task has already been executed (a task can be executed only once)
  5. QueryBuilders.termsQuery
  6. disabled属性的添加与移除
  7. 公司内部合伙投资协议书范本
  8. Python攻城师的成长————面向对象的三大特征(继承、多态)
  9. Python-006-灰色关联分析法
  10. GSM模块信号强度CSQ与RSSI的对应关系,新增android的ASU (转载)