中国制作外挂为什么这么厉害?

by , at 15 August 2020, tags : 外挂 怪物 反外 断点 内存 点击纠错 点击删除
使用CN2/CN2GIA顶级线路,支持Shadowsocks/V2ray科学上网,支持支付宝付款,每月仅需 5 美元
## 加入品葱精选 Telegram Channel ##

知乎用户 emmm 发表

外挂并不是逆向技术的唯一的用途,在回答里也说明了,我并不支持外挂。技术是一把双刃剑,用在什么地方在于人。仅回答问题,保持客观中立。
======================
现在国内辅助开发者,大都是早期跟着手段龌龊无比连 PG 都敢 Patch 的腾讯游戏 TP 摸爬滚打多年熬出来的正规军,很多都是杀毒软件公司的前员工,还有很多纯粹的技术爱好者。

早期从输入法注入到 LSP 注入,再到驱动注入,只要能注入不惜单独写内核模块插 APC,甚至内核重载,VT 调试。连 DX 的 SDK 库都不需要引用,靠纯内联汇编来实现坐标投影变换,各种为了对抗 TP 创造出的各种黑科技 Hook,手写 Naked 函数几乎没有特征,为了缩小体积隐藏自己连 Shell code 都用上了,对抗 PUBG 还不是如鱼得水。很多国内的土办法虽然写起来可能并不稳定,但对抗一个非本土游戏确实很有优势。

一般都是一两个作者找数据写程序,加上网络验证和保护壳,这些都有成型的完整解决方案,毕竟有钱赚就有人做。用注册充值或者激活码的方式限制使用,这样就可以招代理代卖,挂在发卡平台上,用黑身份注册,充值卡买黑支付宝收款,拿到钱以后去菲律宾菠菜平台之类的提现洗干净,以虚拟物品等方式转回国内。

外挂也分面向个人玩家的和面向工作室的,显而易见面向个人风险高,但是赚的可能也会很多。面向工作室多数是那种打金挂或者自动模拟操作的辅助工具,淘宝上有专门为了这种模拟而做的视频转接 (图像识别) 和 u 盘大小的键鼠盒子来模拟真实操作。外挂这个产业实在太大,每个环节都有一拨人,竞争激烈,有的环节是完全合法的,比如发卡平台。由于国内缺少游戏分级制度,中国在游戏发布上的审核非常落后,没有分级就意味着全年龄,这样很多优秀的游戏作品被挡在国外,直接导致外挂泛滥时,这些非本土游戏开发商却无法通过正规法律途径解决问题(如腾讯的做法)。

外挂核心逆向技术其实大都是跟老外学的,知名的比如 mpgh 和 uc 论坛,毕竟国内很少有看雪这样优秀的平台供大家学习,多数都是看一些小工作室出品的教程入门的,不过在一些方向上国内的的技术确实是青出于蓝。老外大多喜欢玩那种从引擎层面就开始操作的多功能的外挂,而在国内,多数玩家只需要有基本的透视自瞄就够了,花哨无用的功能最终是被市场淘汰掉的。本身功能少,检测面小,再加上腾讯教的一些比较猥琐的技术,越来越难检测。国内的逆向技术经过多年发展,其实也是很厉害的。单独说某国厉害这种事个人觉得没有意义,也不要妄自菲薄。

另外很多玩家只是看到了在游戏里被外挂虐到死。外挂也是一项技术,逆向分析有多精彩,怕是只有玩过的人才感受的到,而逆向技术也并不仅限于外挂本身。本人不支持外挂,但支持对逆向技术的探索精神。

未知攻,焉知防。

知乎用户 愤怒的泡面 发表

2019.11.27 更新:

最近突然翻到这个问题,看到楼下有个匿名答主对我的内容挨段批判了一番,所以解释一下:

我没有歧视什么国内外技术高低的意思,都是实事求是地说,也没有提到什么技术不好。我学习的资料都是从 UC 获得,问的问题都有人很友好答复我。我夸一下它的社区氛围不过分吧。其次是我对国内的开发者的能力都是持肯定态度的,我只是举例子说明了开发门槛高低的问题,所以我从产业链上说明一件事,想表达的是外挂开发这件事不都是那些非常顶尖的大神在做,也有很多新手可以做到。怎么到你这儿就变成了我在暗示中国开发者没能力了呢?

我只是希望技术不分国界,跟什么国家没关系,我说国外某社区氛围好,并不是说他们技术比中国厉害,学无先后,达者为师,取长补短,认清自己的不足才能进步。

另外我并不是做安全的开发者,有很多人回答得比我好,也更加回答在点上,我都是虚心学习,不要搞这些有的没的,动不动就挂人,年轻人能不能纯粹点呀。


以下为原答案:

前段时间曾经在开发吃鸡的外挂(学习研究用途,纯属兴趣),后来反作弊机制更新后就没再折腾。那段时间都泡在国外的 UC 论坛里,暂且不评价中国制作外挂是否厉害,这里从技术角度客观地说一下我的观点。
国外的外挂制作技术厉害吗?
在这里重点提一下 unknowncheats, 简称 UC. 这是一个关于外挂、逆向等技术的论坛,类似国内的看雪,但他们对外挂技术的专业态度以及良好的氛围,让人好像发现了新大陆。在吃鸡这游戏的版块里,不管是 BE Bypass(绕过吃鸡的第三方保护服务 BattlEye), 还是透视、自瞄,都能找到很好的思路。
当然,公布出来的 BE Bypass 可能已经被检测到了,而且大家一致潜意识不会把有效的 BE Bypass 公布出来。但对于一些可能已经失效的 bypass, 大多数人都会选择公开源码。
让人惊讶的是,他们还专门为制作外挂的新手准备了非常不错的入门资料,包括教你如何调试,如何找游戏的模块基地址,另外还专门制作了一张指针关系图,告诉你关于 UWorld / Entities / Camera 之类的偏移量,可以直接通过他们提供的指针偏移量读取内存拿到摄像机的矩阵,可以直接拿到周边单位(敌人、载具、空投箱等)的坐标,通过这些可以很轻易实现 map-hack, 也就是我们说的 “透视”。并且这个指针关系图会定期更新,几乎是在游戏更新之后的 5 小时内就会有人发布新的内存地址。所以外挂作者几乎不担心内存地址的更新了。
另外吃鸡整个客户端的结构代码都被 dump 下来导出为 SDK 并且开源在 Github, 只要包含头文件,就可以轻易用于开发吃鸡的外挂,包括 Vector3 等通用的 Utils 类定义。也可以直接通过读内存然后写入到 Player 的实例里,因为 Player 里定义的字段完整对应了读出来的内存结构,在每个字段还注释这个字段的偏移量。
在这种条件下,制作吃鸡的门槛已经变得极低,只要有一定的开发能力似乎就可以做到,并且大家似乎都乐于开源自己做好的外挂(虽然也有可能是已经被检测到的),包括覆盖窗口的实现,绘图,内存读写,几乎都是从 Github Clone 下来就能用。所以回到问题,国外制作外挂厉害吗?答案无法直接给出,但可以说,这种对于外挂开发的社区氛围绝对是独一无二的。
中国制作外挂厉害吗?
前些时间制作吃鸡外挂的时候,我也专门研究过国内市面上的其它外挂。发现大部分都是易语言写的,甚至从制作程度上看,作者可以说几乎没有像样的开发能力,因为不仅界面画的难看,就连联网验证都做不好,随便抓几个包就能做中间人,并且免费用他们的外挂。而且他们依仗的只是一个 DLL, 主界面程序除了负责联网验证、充值之类的功能外,唯一的作用就是通过调用 LoadLibrary 去加载这个 DLL, 然后外挂的功能就生效了。
基于这样的猜想,一个像样开发能力都没有的人,有可能做出吃鸡外挂吗?从我的角度分析,应该不能。至少说他们没有能力不借助别人的资料,自己从头到尾去逆向分析内存地址,自己实现自瞄算法,甚至他们都没搞懂自瞄为什么要通过调整摄像机的 FOV 进行,不知道世界坐标跟屏幕坐标之间是怎么转换的,但没关系,他们会有自己的渠道去拿到那个 DLL,甚至是源代码,他们依赖自己的方式,每天入账过万,甚至数十万,你是不是很气?
那么,中国制作外挂厉害吗?我可以回答厉害。即使抛开大多数国内的外挂作者的编程水平不说,但他们在这种环境下的作战经验,并不是在正儿八经行业待着的程序员能比的。因为他们有很多奇技淫巧。例如吃鸡实现透视,在不入侵客户端进程的情况下,无法通过 hook dx 实现,那么这时候一般会实现一个透明的窗体,覆盖在游戏窗口上面,然后通过在上面绘制框架或者骨骼实现透视效果,他们绘图可能用的是 GDI+,导致窗体上的图形不断闪烁。然后看到外挂的说明文件有这么一段描述,只要打开迅雷(迅雷可能做了一些骚操作,可以一定程度优化顶层窗口闪烁问题),就可以解决闪烁问题。当时心里惊叹,居然还有这种骚操作!
其次是关于外挂进程隐藏,国内早期做外挂的时候曾经利用输入法注入,但如今这种方法几乎过时了。而在吃鸡上,有些外挂还会通过注入 explorer, 注入 yy 语音, 注入迅雷之类的,被 BE 加入了白名单的模块去隐藏自己。
另外大多数外挂用的验证系统居然是同一个第三方提供的模块,API 是一模一样的。我们可以想象,国内的这部分产业可以说是相当的成熟,他们甚至不需要自己有过强的开发能力,就可以把这么个东西工业化,而不知道的人会认为外挂作者都是大神,其实未必。

知乎用户 我的苏打小饼干呢 发表

利益相关。10 + 年开挂经验,接触过外挂作者(国内国外都有)。手机码字,较乱,有问题留言。

PS:本人真的不出售外挂,一切真的均来源于网络,真的均为道听途说!相信我!不要私信我了!(手动滑稽)

pps:插一个小故事。当国外制作者们还想着怎么破解游戏绕检测,能实现自动瞄准的时候,国内的外挂制作者们已经贴心的为顾客准备了主播定制版外挂。游戏界面分屏,给观众看的是一个画面,自己看的是透视画面。并且外挂作者们很贴心的加入了小地图和 M 键地图中加入透视,地图上每个小红点都是一个人。加入了透视物品(可以选择看什么物品)直接用蓝点显示出来,落地必然 98k。观众也不傻,鼠标跟着头移动也知道你开挂啊。没事没事,枪法烂无所谓,作者们制作出了魔法子弹功能,子弹自动跟踪爆头,只要打在人物模型一定范围内就行~我就是想屠杀,不想走路怎么办。好说!子弹穿墙穿越山体,你就站在原地开枪就行,直接能击杀 800 米外厕所里面的人,这样也无聊的话可以开启吸星大法,直接将对手抓到您的面前被您屠杀。那… 我也容易被偷袭致死啊… 好说!无敌锁血,飞天遁地无所不能!总这么屠杀没意思了怎么办… 也行啊,11 月 5 日新更新的隐身外挂,让对手死的不明不白,让您拳头吃鸡!(手动滑稽)

“据说” 主播定制版每月销量约为 200 多份。如果自己玩肯定不会买主播版啊~大家可以去各大平台看看一共有多少主播,然后算一下主播开挂的百分比… 直播的半壁江山被开外挂的主播霸占真是毫不夸张。

首先先回答题主的问题。中国外挂制作者厉害么?答案是确实很厉害。但是这并不代表国外顶尖的外挂制作者并不厉害。

这个问题可以这么来看。就像是做一个精美的工艺品。国内外挂制作者采用的是规模工业化的模式,每一个步骤都有成规模的团体进行研究,最后交由专人打包出售。同比而言国外的外挂更像是小作坊模式,顶尖的手艺人(外挂作者)能做出看起来一样,甚至有些时候看起来更加精细的物品,但是论规模论效率国内的外挂产业简直能爆出国外 100 条街以上。热门游戏更新,检测更新。作者可以保证 6 小时之内出新版本正常发售,我所知道的国外工作室没有一个能做到这一点的。总而言之,感觉国外的外挂产业还停留在爱好者层面,国内的已经开始产业化了。

我开挂至今也有 10 年了。从最开始的金山游侠修改单机游戏,也经历过后来外挂最猖獗的 dnf 和 csol 时代,再到现在的 lol 守望先锋等等… 没有一个游戏是完全杜绝外挂的。可以这么说,外挂是和病毒很类似的一个东西,一个游戏发行的时候只能尽量杜绝简单的外挂,然后等外挂出来了之后再去研究外挂的方式,然后封禁漏洞,走这样一条路。完全没有外挂的游戏需要所有的计算产生在服务端,pc 端基本只产生一个接收作用。有这样的游戏么?有的。棋牌类的游戏基本都是这样,比如你开挂了不能天胡不能马走田象走日。fps 游戏很多计算发生在本地。这也是 fps 游戏外挂屡禁不止的原因。

按照技术含量来看,外挂分为几种。一是破解无检测单机游戏(红警,cs 本地版)。破解最简单。类似八门神器,金山游侠都可以修改。技术含量较低,因为只涉及到修改本地文档的部分,而计算机权限较广,很容易破解。

二是脚本类。脚本类技术含量最低,功能最次,封号概率最低(如果不提取内存)。小学生没有任何经验均可写出来,如自动吃药,打开脚本检测你的血槽上一个点的颜色,是红色不吃药,是白色吃药,原理就这么简单。按键精灵可以做到如 qq 炫舞自动 perfect,炉石传说自动上分(优先法术打脸,优先出怪,有嘲讽打嘲讽。后来的智慧型脚本增加了算法,但是论技术含量还是很低,涉及点深度学习的东西)。但是这里注意,之前有大神号称通过按键精灵的手段开发出了 lol 自动躲技能辅助,百分之百出现神走位,任何非指向性技能根本打不到,当画面中出现一个飞行技能,系统会自动做出走位判断,同样的机制还有当普攻能打死小兵,小兵会发光,自动释放技能消耗对手。能闪现 r 死可以一键斩杀…。后来另有大神通过这个思路重新打了一个包开始出售,也有了后来 “lol 主播蛋糕揭秘外挂 BOL 小苹果,外挂使用者打到了国服第二” 的新闻。

三是检测弱的网络游戏。某些韩国网游真的惨不忍睹,之前玩的一个游戏,只要把客户端某个文档用 txt 打开,修改几个 0 和 1,就可以神挡杀神佛挡杀佛了。csol 当初某个文档 0 改为 1,就可以把生化武器带入爆破模式使用。游戏防挂方面真的菜得很。

四是疯狂检测宁杀一千不放过一个多手段多检测并且还疯狂更新的游戏。对,我说的就是腾讯的 TP。腾讯的防封真的可以算是世界前三(个人感觉是第一)。其实想编写一个外挂很简单。CE 修改技能代码全屏大爆炸不是梦。

技术含量在哪里呢?防封!!!

在 dnf 火爆那些年,dnf 外挂和腾讯的反外挂部门打起了莫斯科保卫战。我提几个名字你们可能都还记得,dnf 科比,dnf 血刃,dnf 宝马… 在外挂的高潮时期各出阴招,你这边禁止注入,我那边输入法注入。你这边封禁输入法注入漏洞,我用迅雷白名单注入,你这边修改检测方式,我套双层壳三层壳注入。游戏检测异常伤害了,我修改武器强化,武器强化 31,按你的逻辑还是无限秒怪。你这边人物伤害检测了,我这边无限召唤人偶,用人偶打怪自己不动手。人偶系统下线了,我这边修改药品给自己攻击力 + 999。你开始暴力检测人物单次伤害了,我这边加速器一秒 999 刀单次伤害还是不触发检测。又封了之后,我可以使用 npc 的武器自带无敌光环… 在 dnf 的那几年真的是一个野花盛开的年代,最疯狂的一天我记得游戏还了 6 种检测,外挂在检测更换的 30 分钟内更新好,一天更新了 6 个版本外挂,最后还是可以奔放。数以万计的外挂爱好者(有些不为了盈利,虽然为了盈利的很多,dnf 外挂周卡 50 到 100,一周卖几万份的话…)均以突破腾讯检测为荣。练兵,就是这样练出来的。

时光荏苒。dnf 检测不再是腾讯的重点。现在 dnf 已经开发出来了脱机挂。什么是脱机挂?游戏界面黑屏,角色进去之后自动刷图自动拾取金币自动上架拍卖行,疲劳清空之后自动换下一个角色。

(亮点在右下角红色字,还有屏幕右下角的时间)

在利益的驱动下,在腾讯的安全投入不断增多的情况下,在法律监管不严的情况下。国内外挂黑产真的是练出来了一只铁军。现在的外挂产业化。作者作为食物链顶端。写核心源码。永远不透露自己真实身份,可能某天作者的 qq 就再也不曾亮起。也可能你下一个找到的作者和上一个作者是同一个人而你毫不知情。之后是分销商。分销商拿到不同作者的源码后包装成不同的外挂,交给渠道商。渠道商建站,建卡盟,出售给代理商。代理商也就是大家平时能找到的 “老板”。在这个产业中因为作者很多,作者其实拿不到很多钱,大部分钱被渠道商收割。之前沸沸扬扬的糯米事件,使用的就是顺丰主播版,售价 5000 每月。渠道商提卡 1500 每月。

(黑色的是售价。红色的是渠道提卡价。一个售价 5000 元的主播定制版外挂,渠道提走 3500,打包分一部分,作者的工作室一般只能拿走 800 左右)

蓝洞官方封的 30 多万号。数量如此巨大证明肯定是很多人是多次开挂(你爽了 n 天,没被封。才会二次购买,刚开就封号就没人买了)假设 n 等于 15(真没有夸张)这样来看公开的绝地求生的外挂产业值约为 3 个亿左右。但是游戏有那么多款,还有无数没被封过号的… 外挂产业已经很凶了…

绝地求生上线了。火爆异常。也是外挂们的狂欢。外挂制作者们为了抢腾讯网易的几块金子,拉锯战中经常被打的灰头土脸,仅仅偶尔打几个小规模的翻身仗。你给我一枪我埋个地雷,你排一个雷我抄起了身边的火箭筒… 然后突然间发现身边出现了一个拿着长矛木棍,背着几大筐黄金的野人(绝地求生)。艹,那和 tx 干个屁啊,兄弟们抄家伙朝这边打!

外挂制作者们高潮了。也创下了蓝洞一天之内封禁 15 万账号的记录。

在不断的进化,市场竞争中。活到现在的工作室没有一个很简单。要么掌握渠道,要么掌握很多作者联系方式,要么自己技术真的很强。

经过这样的发展… 你说,中国外挂产业强么?

诸位看官,感觉还不错可以点个赞!感谢作者也是对我的支持!更可以点个关注不迷路!选哪个都行(再次手动滑稽)

知乎用户 杨熙栋 发表

当年 DNF 最火的时候每个礼拜没有活动也更新,为什么?反外挂。一个外挂出来 tp 官方安控 7 天必须解决,而解决之后 2 天以内外挂制作团队必须重新攻破。一直这个强度打下来…… 你还能说啥?

知乎用户 9chu 发表

除去照搬现有代码的,国内当然有很厉害的外挂团队。

听反外挂的同事说这些团伙都是非常有组织有纪律的,而且跟一般公司一样有产品经理和研发(但是真正的核心开发者往往是神龙见头不见尾的,也是为了自身安全考虑)。同事说曾经对抗一款外挂,每次都是周末上线新版本,而且专挑下班的时间上线,鸡贼的狠(于是可怜的安全组同事只能下班回家后返回公司对抗外挂)。

并且,因为外挂的特殊性,通常反外挂也只能以防御为主,非常被动。你完全不知道外挂可能以哪一种方式来破坏你的游戏客户端。比如某射击端游出现了一款透视外挂,经逆向分析发现透视原理是修改的 D3D 状态机的 DepthTest,关掉深度测试后所有的敌人都显示在了画面上面。后续安全相关的同事针对 D3D Hook 做了诸多保护,检测虚表、检测 inline hook,甚至于监控了所有高危函数,这意味着简单的注入 D3D 的操作会被反外挂系统侦测到(比如在绝地求生中注入 DX11 修改虚表会直接导致账号被封)。然而坚持了没多久,类似的外挂却又出没了,这回他们发现外挂作者通过 Hook EnterCriticalSection 绕过了检测(因为 DX9 API 内部的一些函数会进入临界区,通过 Hook 这一函数进入了函数执行的上下文,从而可以干自己想要的事情)。

可以说外挂开发的攻防战需要的不只是技术功底,同时还需要很大的脑洞。就好比吃鸡最近出现的路飞挂,做透视外挂的都知道可以读取玩家的骨骼信息并表现出来,但是有谁想到把这个骨骼信息修改下就会出现这种非常搞笑但是又粗暴有效的效果。

尽管大家都对外挂不齿,但是对于这样的核心开发者,我多少会抱有一些敬意。而这样的人才,也有不少被招安成为外挂对抗的一份子。

知乎用户 VeroFess​ 发表

卧槽居然推到我首页上了…

当然中国的吊了

你还见过哪个国家的反外挂能把系统带崩的 (滑稽

中国的 VT 过保护也是风生水起

而且现在都是大佬写核心,二级写功能,三级改界面,四级重打包

这么成熟的产业链不知道比国外的小作坊高到哪里去了

知乎用户 阿拉斯加猫 发表

中国外挂厉不厉害我不知道,但是韩国公司的产品的反外挂曾经给我们留下来的印象真的不好。

2007 年还是 2008 年,世纪天成代理了 CS:online,这是一款韩国 NEXON 研发的产品,按理说,NEXON 在韩国也算大厂,游戏也很好玩,像我这种不玩 CF 的玩的不亦说乎。

不久,游戏更新了生化模式,但是第一次玩,简直天天沉迷无法自拔,但是僵尸模式大家都喜欢子弹量大的枪,方能最后生存下去,但是机枪普遍不准,威力小,在某一次更新之后,游戏的空投补给箱可以获得一把叫做旋风 AK 的武器,60 发子弹,U 型弹夹。造型也很帅。

期初,这把枪是只能在生化模式里面出现,在团队战,爆破模式均没有办法使用的,因为太影响游戏平衡性了。

然后下午 2 点后,游戏之中开始出现大规模的在团队战,爆破模式里面使用 AK 的玩家,我们感慨,外挂真牛逼,5 个小时就搞定了,但是有人又晒出截图,说外挂完完全全没有更新啊?难道出 bug 了?

然后下午一个作弊方式在玩家里面疯传,将 cs:online 的本地客户端,找到一个文件。用 txt 打开,将其中第几行的 = 0 改成 = 1,然后就可以在游戏里面随心所欲的用这一把神级武器了。

这么重要的一个文件,写在客户端里面!

而且没有加密!!!

而且没有加密!!!

而且没有加密!!!

你说是我们外挂制作水平强么………..

(这是 2007 还 2008 年国内网游蓬勃发展的时候的事情)

-—————————–2017.11.15。23:39 更新 ———-

我只是吐槽一下韩国厂商反外挂做的很垃圾,整篇答案没有丝毫给用挂的开脱的意思,本身用挂的,伤害最大的是玩家,用挂的有责任,厂商也跑不掉,有些人啊,就是韩国厂商骂不得,nexon 说不得,我一个玩家在自己的游戏里碰到漫天挂,我能求助谁?让我去报案?还是让我去用爱感化用挂的人?让他们回头是岸?某些人自己跪的久了,不怨你,但是指责站起来的人挡了你的视野那就大大的不对了!

关于韩国制作外挂会被判刑所以没有人敢于制作外挂,这个是一个完全站不住脚的逻辑。

首先,韩国外挂入刑实在 2016 年的一项修正案,诸位看清楚了是 2016 年,在此之前完全没有法律依据,其次,外挂入刑的最高处罚是多少呢,监禁 5 年,4 万美金罚款,这个处罚成本远远没有到让人不敢去制作外挂的地步,我了解到的外挂作者,这个处罚金真的小意思。

其次,《守望先锋》《英雄联盟》在韩国的外挂猖獗程度,诸位可以自己去了解一下,当然了,某些人的逻辑就是那样,只有丢人的中国人才开发挂,韩国是路不拾遗,夜不闭户的环境造成了韩国厂商没有处理好外挂~ 你若高兴,继续跪呗。

知乎用户 匿名用户 发表

我算比较了解这方面,在圈内认识的人还是蛮多的。比如《绝地求生》上周出的手臂可以伸长的外挂,他的开发我就认识。《绝地求生》官微上发的那个视频,就是我用手机录的,不知道怎么流传到官微那里了,算我小坑了一把朋友。

楼上诸位并没有回答到点子上。

中国制作外挂之所以这么厉害说白了就是利益驱动。比起其他赚钱的技能,所需时间短,成本低,门槛低,工作时间短劳动强度低,但是收益却很高。我微信群里赚百万以上的起码 10 多个。门槛低到什么程度呢,这 10 个赚百万的起码有一半是学生党或初高中毕业的低学历者。真正完全是为了兴趣(仅自用不外售)写外挂的人还是少数。

挂的变现非常非常容易,所以就有了大量的外挂从业者。下面说下变现流程。

外挂是分为工作室版本和玩家版本的,工作室版本专门提供给游戏工作室的。我认识的 1000 台机器的工作室起码有 30 家。不过现在工作室都是配双路的服务器或者 E3E5 了,里面能开 6~15 个虚拟机。

下图就是一个外挂的生产到客户手中的步骤。

太晚了,暂时就写这么多,你们想了解什么可以评论里留言。声明下,我不会写外挂,我只是乱起八糟加的群太多,没事灌水认识的人多。

知乎用户 陶韵 发表

突然意识到国内游戏腾讯独大的理由竟然是曾经的许多好游戏完全无法抵挡外挂。
新绝代双骄,脱机挂横行,野外十万人以同样的路径砍一只猪。改了三次版,最后弃疗直接内置挂机挂→_→
三国群英传 ol,也是被挂机挂逼傻了,直接内置挂机,没多久就遍地僵尸通货膨胀,在我口袋里两千金的时候,过了一个月上线看到喇叭卖东西开价二十亿。
行星边际,老夫期待了那么久,进场就被飞天 59 干成纱布了。
街头篮球,据说有一伙人开了个进场 50 比 0 的挂,本以为不可能被逆天,结果对方的挂是不管比分多少都会赢→_→
还有跑跑卡丁车,想想完美世界竟然是被逼疯的。
细思极恐,莫非真相是腾讯在反挂的路上学会了做外挂的技术,直接放出毁灭兵器把其他公司都弄死了吗?

知乎用户 匿名用户 发表

从零 2 年至今零零散散写过一些单机外挂,主要是自己是手残党。。。。毕竟混迹各种群,也知道一些圈内的事情,谈谈自己的看法吧

外挂这玩意儿其实很考验思路,说中国制作外挂为什么厉害?其实很简单,长期的对抗,一旦从简单的自身发展到 “军备竞赛” 基本上水平的提升就很快了。

1、外挂编写作者的强大毅力

最早写 war3 的时候,其实觉得难度不大,很多人都在写,看不出真正的水平,但是真正的到对抗 TP 的时代,基本上能够继续坚持的都是毅力非凡的大牛,过了几次 TP 之后,我觉的我再也不想搞 TX 的游戏了,太累了,这特么哪里是玩游戏,是折腾自己, 不知道多少朋友在面对内存数据校验、指令混淆中感到深深的无力,这不是仅仅是技术原因,更多的是没有毅力再坚持下去。

2、外挂能赚钱

自己多年不玩网游,大多以单机为主,吃鸡流行的时候,看了一眼外挂的价格 300¥/d,每天只要卖 10 份拷贝副本就能赚 3000,一个月 9W,多少人能抵抗得住这种诱惑,各种功能外挂层出不穷,我一度以为全中国都是外挂制作者,不过我不舍得 98 块钱买游戏,所以也没有条件游戏进行调试,不过掌握的各种数据,现在写挂 3 个月买房也是非常简单的。

3、技术的趣味

其实排除 TP 这种死变态的对手,其实写点小外挂很有意思的,新手写的第一个挂,往往是针对内存地址的修改,直接通过 CE,分分钟获得满足感,记得玩 CSGO 的时候,花了一个下午就复刻了某宝百元的挂,效果还是不错,FPS 游戏的特殊性导致 CSGO 的挂非常容易实现,写起来也非常有趣,和基友在自己的服务器玩的时候相互对抗对方的外挂,有点类似 core war,非常有趣,无形也提升了自己的外挂编写水平。

4、知识获取更加简单

很多大牛喜欢分享自己的源码或者文章,通过分享自己的知识,让技术为大家分享(好吧我就是说的是 UC、github、MPGH 、看雪、GH),同时也能极大提升外挂制作者的水平,据我所知现在很多外挂作者已经不再是依靠简单的易语言、lua 等这种简单外挂制作者,而是有扎实基础的 “程序员”,他们有着扎实的 C++、汇编、操作系统、windows 内核驱动开发相关技术、软件调试技术…… 知识体系,在知识更容易获取的今天,能够迅速的学习新的知识,并把知识用于新的外挂编写。当然小白也能去找一些 XX 香、XXX 勤等视频快速上手,能做一些简单的外挂。

5、内鬼现象

本来这一段不想写的,但是觉得谈看法还是就说说吧,某些游戏(尤其是二线、三线游戏)的开发程序员自己编码的时候会留下一些 “BUG”,然后这些程序员也会写一些相关的挂(这种一般挣不到大钱),也导致会有一种为什么都没什么人玩的游戏也会有外挂的现象。

中国制作外挂为什么这么厉害,我想应该有一个答案了~

顺带一提中国的商业外挂反破解的水平也很高,各种加壳、混淆、暗桩水平很高……,常常会觉得大家现在学的好深啊。。。。。

顺带一提 diya 这个我也不知道如何界定~ 感觉很厉害就是了~

知乎用户 陶创 发表

侧面说一个,国产游戏(国内开发,国内运营)为什么现在少见吃鸡这样的 BT 挂,印象中也就 CF 出现过一段时间,CF 还不算纯国产。

国外各种服务端无数据合理性校验,对客户端数据完全信任制,比起国内反外挂意识和水平,落后 15 年以上。

国内这反外挂水平。

还不是被外挂逼出来的。

然后,在这样的反外挂环境下,写的外挂不强能用?

这是一个互相督促,互相进步的结果。

认真脸。

知乎用户 梅 Mayoz 发表

外挂功能的实现需要本地进行计算然后和服务器进行通讯配合实现。那么我们在本地把我们能做的做事情都做了,功能也自然就实现了,下面讲一下一款游戏外挂的原理让大家理解为什么无法抵制外挂的出现。

射击类游戏 (FPS) 它的结构比较简单, 我们讲一个稍微复杂一点的武侠游戏, 这样的结构分析出来了, FPS 也就好说了.

武侠游戏的核心首先是一套挂机功能. 能自动打怪, 寻路, 检测血量自动吃药, 捡东西.

在追数据之前, 要说的一句话是: 一定要懂正向, 了解数据结构, 脑中构思功能间的调用关系.

比如打怪功能., 点击怪物之后触发的功能调用可能如下,通过这一层层的调用关系来实现一件事情。

鼠标点击CALL {         .
  判断点的什么东西call{             ....
    选中怪物call{                 ......
      走路call{                     ..........
        攻击call{                         
          技能CALL{                             ...                             ...                         }                     }                 }             }         }  } 

这是调用关系的构思, 同时还要捋清楚数据结构, 比如技能对象的结构

struct 技能对象 { 
技能ID 
当前是否可用 
攻击距离 
消耗MP 
伤害值
 恢复值 
技能类型 
冷却 
学习等级 
} 

脑中只有有了框架才会有突破口和追的方向.

接下来开始正式工作, 首先要把人物自身对象结构找到. 这个突破口比较多, 比如利用人物的血量变化搜索到 HP(同理 MP / 真气等) , 只要找到人物的一个属性 (HP), 那么基本等于找到了人物对象

左上角数值显示, 人物当前血量为 3871, 进入 CE 搜索四字节的 3871

然后, 想办法让这个血量变化, 换装备 / 掉血 / 吃药. 这里我选择吃药, 比较方便.

![](data:image/svg+xml;utf8,)

再次搜素 4733

直接得到一条线索. 接下来要做的就是追数据来源, 所有新手们都知道, 直接搜到的地址下次开游戏就不一定是这个地址了. 要追到他的来源 (基址), 基址是固定不变的 (游戏更新会变).

接下来开始追来源,

在找到的血量 右键 => 查找是什么写入这个地址. 弹出来的页面没有变化, 因为我们还没有改变血量, 就没有写入内容. 再次吃药!

血量上升的同时, 收到一条写入数据. 观察这条代码不难理解, 将新的血量写入到人物血量地址.,eax 是新的血量,[ecx+0x2D00] 是存储的血量.

然后继续搜索 ecx 的值 0x4F1FA458, 看是什么地方存储了这个值. 记得标选 HEX(16 进制)

将得到的结果 右键点击 => 是什么访问 这里不需要再找写入了, 找访问就可以 (它存储的不再是人物血量了, 而是存储的人物某个结构的指针, 是不停的访问这个结构的, 所以通过访问就能得到数据)

如上图所述, 都是 + 0x4 的偏移, 在选择的时候有两个选择方法:

1. 不要选这种左右都是同一个寄存器的, 会让你分析的时候不知道给你的数值是左边的还是右边的. 具有干扰性

![](data:image/svg+xml;utf8,)

2. 尽量不要选择来源是 eax 的, 因为 eax 还可以作为 call 的返回值, 容易追错地方.(纯新手容易犯错)

(什么是 call 的返回值?? 在写 C 语言代码的时候每个函数都可以给他写一个返回值, return 给一个东西. 那么在汇编代码里面, 所有的 call 只要有返回值都会在 call 内部的结尾赋值给 eax)

继续, 我们选中一行合适的代码继续往下分析. 追 0x51E539F8

得到三个结果, 都选中, 数量不多, 挨个右键查看访问. 发现只有第二个有访问数据. 所以其他两个不是我们的目标 /

从第二个得到如下图数据

我们继续选择合适的一行追. 0x423E5DC8

又得到这么多数据, 继续按照前面的方法挨个访问.

其中两三个数据都有访问, 并且访问得到的偏移不同, 这时可能有的数据特别难追追不通, 也可能每条数据都可以使用. 需要我们都去追一下, 我已经挨个试过了都没问题都能追到, 最后我选择的追 + 54 的偏移.

接下来再次搜索我们便得到了四条基址

这个时候还不要高兴的太早, 还有几个要注意的地方!!!

第一, 一定要考虑这个游戏是不是模块动态加载. 如果是那么基址一定要用模块 + 偏移的方式来写, 如果不是, 那么绿色的地址可以直接用. 很巧, 这个游戏是动态加载的. 双击基址就可以查看他的模块 + 偏移

这才是他的最终结果.

还有一点就是, 尽量使用主模块 + 偏移. 这个游戏的主模块就是 Game.exe

我再双击另一个基址大家看一下他的模块 + 偏移是什么

![](data:image/svg+xml;utf8,)

是一个陌生的模块, 可以用但没必要.

这时一整条人物血量的基址得到了.

[[[[[Game.exe+ABABC0]+54]+1a0]+4]+2D00]// 人物血量

这个时候需要读者思考一下. 大家都写过结构体, 用过结构体指针 + 偏移表示某个成员. 也就是说人物血量作为人物结构的一个成员, 他的偏移是 2d00, 那么是不是表示在同一层下面还有其他成员.

为了方便观察我们打开 OD 附加游戏

(附加过程中会发现附加失败, 因为咱们用 CE 下过写入和访问断点. 只要点一下 ce 的小电脑图标重新选择一下游戏进程就可以了.)

在 OD 中 dd 4F1FD158 就直接看到了血量的数据 (16 进制的), 然后再 dd 4F1FD158-2d00 就是本层结构的头部. 我们从头开始看看, 看着感觉像是什么数据都把他转换为 10 进制在游戏里找找对比一下

比如上图, 看到一个 1F, 选中之后右键修改, 显示 10 进制位 31. 回到游戏观察一下人物属性, 人物的等级为 31

那么 2d00 改为 6c 就是表示人物等级

就继续往下翻, 或者说需要什么人物属性就到这里找什么. 我把我找到的直接分享给大家.

+38//名称
+6C//等级
+80//称号
+2d00 //当前血量
+2d04//当前蓝量
+2d08//拥有经验
+2d14//精力
+2d18//精力上限
+2d1c//活力
+2d20//活力上限
+2d50//体力
+2d54//定力
+2d58//身法
+2d60//力量
+2d64//灵力
+2d68//外功功力
+2d6c//内功功力
+2d70//外功防御
+2d74//内功防御
+2d78//生命上限
+2d7c//蓝量上限
+2d88//命中
+2d8c//闪避
+2d90//会心攻击
+2d94//会心防御

然后大家观察发现, 这个结构下面并没有人物的坐标. 看来游戏把坐标结构和人物属性结构分开了.

[[[[[Game.exe+ABABC0]+54]+1a0]+4]+2D00]// 人物血量

观察一下这行数据. [+4]下面是人物结构, 坐标不在这里他有可能在 [+8] 或者说他可能在前面的几层结构下面, 可能在 + 54 也可能在 + 1A0. 这样一来范围太广无从下手.

方法有两个:

1. 重新打开 CE 搜索人物地址, 和搜索血量一样, 不过人物坐标是个 float(浮点) 类型, 不要选错

2. 利用网上的遍历工具一层一层找坐标

我都用过了, 方法不再展示, 直接贴数据:

\[\[\[\[Game.exe+ABABC0\]+54\]
+2C//人物X坐标 
        +30//人物Z坐标
+34//人物Y坐标

这里我们所需要的人物属性已经搜完了. 接下来是找怪物

找怪物的话突破口在哪, 从什么地方下手呢. 打开怪物血量看一眼, 不显示 HP 数值, 也不显示 MP.

只有怪物 ID 露在外面, 那就搜索怪物的 ID: 花港毒蜂

![](data:image/svg+xml;utf8,)

得到 800 + 数据, 我们跑到别的地方, 让身边的怪物不再是花港毒蜂, 因为我们要找身边怪物, 存储身边怪物的数组或者链表等结构是一直存在的, 当我们身边怪物变成小狗, 他就会存储小狗.

那么我们去别的地方看看, 搜 ID: 白堤柳鬼

出去第二个带身 字的 , 就是我们要的结果. 那么哪些名称才是在怪物对象下面呢.???

我给大家分析一下, 我们都学过类, 学过继承, 无论是人物还是怪物, 游戏程序员在写的时候会有一个父类, 然后人物和怪物会继承那个父类. 在内存中观察的话, 父类结构放在子类的头部, 也就是说, 人物和怪物对象的头部结构应该很相似. 我们就利用这一点, 用得到的怪物名称地址减去 0x38,dd 一下 (因为人的名称偏移是 38)

首先人物对象的头部结构是这样的

然后挨个 dd 得到的数据 - 38, 最后有一个比较相似的, 其他的都截然不同, 如下图

验证一下,+6c 也是等级, 和人物的一样, 说明没找错

上面的这个过程极其麻烦, 要忍住寂寞, 保持耐性.

基础到这里结束, 接下来是重点部分了, 寻找怪物遍历

我们在头部下硬件访问断点,

因为周围的怪物是在不断变化的, 怪物列表在不停的访问怪物对象, 所以我们要在怪物对象地址处下断

断在上图位置, 这个游戏大部分是二叉树结构, 大家做好心理准备, 我开始走一次正常分析路线, 把路上的坑给大家分析一遍

这个 eax 就是咱们下断的怪物对象, 并且发现每次下断点 eax 在不断变化, 说明前面有代码把所有的怪物都遍历了一遍, 那么咱们就追 eax 的来源就会找到怪物遍历的地方. 开始追!

直到最后追到这么一个地方, 要继续追 eax 了. 但是 eax 上面有个 call, 那么我们需要进入 call 追 eax, 给 call 下断点, 断下之后按 F7 进入 call 内部, 这时下面这个结构我们一步步分析

如下图的循环就是二叉树遍历, 回想二叉树在 C 语言中是什么样的写法, 先传递一个树根节点先遍历左子树, 然后遍历右子树.

在循环中,[eax] 就是 + 0 得到左子树 [eax+8] 就是 + 8 得到右子树. 通过循环把所有节点扫描出来

那么这个树根节点是谁呢? 就是这个循环头部的 eax, 然后开始追她的来源. 来自 [esi+4], 在追 esi

esi 来自 [ecx+40] //[[ecx+40]+4], 再追 ecx

![](data:image/svg+xml;utf8,)

在外层得到一个基址, 不要忘记是动态加载, 点击 E 按钮查看所有模块, 找到主模块 Game.exe

![](data:image/svg+xml;utf8,)

Game.exe 的地址是 00BB0000

然后用 166ABC0-00BB0000 得到偏移 ABABC0

Game.exe+ABABC0(和人物基址偏移一样)

这个时候我们得到了树根 然后观察二叉树结构也能知道遍历的规则, 最后就能得到所有的二叉树节点.

这里就可以编程实现遍历了, 我们是在逆向分析游戏, 就不教学写代码了. 代码不会写的朋友要多敲代码.

我们写代码便利观察发现周围的花草树木 NPC 怪物人物宠物全部遍历出来了, 这是什么情况. 我们得到的竟然不是怪物二叉树而是所有环境对象的二叉树.

掉进坑里了, 这个时候思考一下文章开头所说的游戏结构.

我们给怪物对象下断点断在了大环境对象中, 那么他细致分类应该是在遍历结束之后. 我们回到给怪物对象下断点断下的地方.

这个地方的 eax 还是大环境中的所有对象, 那么下面的代码应该会有细致对象的分类遍历

下面的代码就是这些, 一行一行分析并没有做分类处理, 然后进入每个 CALL 看看, 没有任何异常, 直到最后一个 CALL, 里面是一个二叉树结构!!!!

这个地方进行判断, 如果对象头部是 - 1 也就是 FFFFFFFF 就跳转到最后一个 call(新的二叉树遍历)

call 内部结构如下图所示

我们按照之前的方法可以轻松找到树根. 内部遍历也和之前的遍历一样.

最后遍历出内容发现. 得到的内容范围确实缩小了. 只剩下了玩家. 自己. NPC. 怪物. 掉落物

我们要细分就需要手动分析对象结构了. 分别拿出一个类型, 挨个对比发现, 在便利的道德节点下

+14]+20]+8] 表示的是对象的类型

+14]+20]+8]// 分类标志 //6 其他玩家 //4npc(4 包含怪)//8 自己 //1 凋落物 //9 珍兽

这个过程需要耐心思考耐心比较, 过程很痛苦.

在二叉树遍历的过程中, 我们需要对这个 + 14]+20]+8] 进行判断筛选怪物

经过细化我们找到了, npc 和怪物类型是 4, 但是该怎么区分 npc 和怪物呢? 如果不区分的话打怪就会选中 NPC 从而出错.

我在结构中继续找, 没有找到区分 NPC 和怪物的地方, 那么只能能从另一个思路下手了. 既然打怪会失败. 那么会有什么提示呢.??? 进游戏看一下

他提示不能攻击此目标, 进 CE 搜这句话

把这个地址放到 OD 中 dd 然后下访问断点. 再回到游戏攻击 NPC, 触发断点. 看看是什么地方调用了它

断下之后点击一下上方的 K 按钮. 调用来自都会显示出来

然后我们给所有调用来自主模块的地方下断点. 这些地方可能就是打印不能攻击那句话的 CALL

下断之后 运行游戏, 先不要进行任何攻击, 如果哪些断点自己断了就把他删除, 说明这个地方不是相关功能 CALL,(功能 CALL 不会自己没事乱运行)

然后选一个 NPC 攻击, 这些断点回一次断下, 按照断下的顺序, 给这些断点 12345 编号排序

然后再选一个怪物进行攻击, 发现他没有运行编号 5 的断点!!!!!!!

说明编号 4 内部进行了判断. 重点分析编号 4

问题又来了, 这个函数的内部代码太多. 那个地方才是判断呢.

我是用的方法是, 头部下端, 然后攻击 NPC 从上到下运行一遍, 做一下标记

然后攻击野怪再运行一遍. 找到他们那些代码运行了哪些没运行, 没运行的代码前面的跳转就是关键判断, 最后定位在了这个 CALL. 就是怪物 NPC 判断 CALL

选中人物自身返回 1, 选中怪物返回 0, 选中 NPC 返回 2

那么我们只需要把它添加进入二叉树中, 把返回值为 0 的对象选出来进行攻击即可.

另外一件需要判断的事情是, 打怪不能乱打不能看见怪物就上去打, 为了考虑效率, 先打距离自己最近的怪物, 那么就应该在二叉树遍历中取出怪物的 XY 坐标和人物自身的 XY 坐标, 计算出两者的 X 差值和 Y 差值, 利用勾股定理计算出两者距离. 需要注意的事情是, 数据类型是 float, 不要写错, 容易出错

// 角色位置 float RX = *(float*)(Base1 + 0x2C); float RY = *(float*)(Base1 + 0x34); // 怪物位置 float GX = *(float*)(Attribute0 + 0x1E8); float GY = *(float*)(Attribute0 + 0x1EC); // 计算 float tempjuli = sqrtf(labs(RX - GX) * labs(RX - GX) + labs(RY - GY) * labs(RY - GY));

到这里, 怪物筛选完成了, 接下来是选中怪物的实现

选中怪物如何下手分析呢

我作为一个新手, 目前能想到的起手方法就两种,

第一种就是利用发包 CALL 追功能. 因为每个功能都会发包, 只要从发包 call 往回走就能找到功能, 但是线程发包除外, 线程发包的话需要先追到线程外的数据来源, 然后再往回追才是功能 CALL

第二种是找突破口 (简单说法), 比如, 我想找某个动作的调用 call, 可以先找到动作列表, 然后得知某个动作的对象地址, 然后给他下访问断点, 使用动作时就会断下, 然后可以追到动作. 再比如想追走路 call, 那么可以从人物的状态下手. 静止不动可能状态为 0, 走路起来, 状态改变,(一般改为 1, 也可能 23456), 最后搜索到人物状态的地址. 那么给这个地址下写入断点, 进行人物移动就会断下, 就能找到功能 call

我利用的是发包追 CALL, 为什么要用发包呢. 游戏内的操作它是需要服务器去进行判断然后实现的, 比如你打死了一个野怪, 那么你需要告诉服务器你打死了野怪.

发包三大函数 send sendto WSASend,ctrl+g 分别输入这三个函数下断点, 哪个正常断下就说明游戏用的哪个发包函数. 如果 ctrl+G 找不到这三个函数, 可以在函数名前面输入模块 ws2_32.send 这样去书写.

![](data:image/svg+xml;utf8,)

![](data:image/svg+xml;utf8,)

最后我们找到了, 这个游戏使用的 send 发包.

在 send 函数头部下断点, 然后回到游戏右键选中一个怪物, 断点断下.

堆栈数据如图:

data 就是他的数据包, size 是他的数据长度,

因为根据发包函数往回一层层的追发现这是线程发包, 那么就需要在 data 右键数据窗口跟随. 在 2c 范围内给合适的一行数据下写入断,(删除发包函数的断点), 然后会断在一个地方, 再次运行起来, 选择一只野怪, 又会断下, 这个时候就可以不停的返回上一层, 把所有经过的主线程模块 CALL 都下断点 (这些 CALL 中存在的选怪功能 CALL), 然后运行起来之后把自动断下的断点删除. 再次选怪, 后把所有断下的 CALL 都挨个分析, 看看他们的参数, 找一个适合使用的 CALL 作为我们的选怪 CALL

最后确定了这个 CALL 比较好用, 只有两个参数. 第一个参数 push 1 第二个参数是目标 ID.(在怪物对象下面可以找到)

然后传入 ecx, 就可以调用.

选怪功能完成了. 接下来就是打怪

打怪同样可以用发包函数返回的方式找到一个技能调用 CALL, 只需要传入目标 ID 和技能 ID 就可以释放技能, 但是这样找到的 CALL 会有距离限制, 不会自动寻路.

技能CALL 
push 0xBF800000
push 0xBF800000
push 0xBF800000
push 0x26			//若是攻击技能,则为目标ID
push 0xFFFFFFFF
push 0xFFFFFFFF
push 0x0			//技能ID
mov ecx,0x2C72DBA0	//\[\[\[1DDA0D0\]+128\]+1b4\] 
call 0x01728470		//GAME.EXE+408470

并且在调用这个技能封包 CALL 之前你需要先确定自己的技能的 ID, 需要遍历技能背包. 因为有太多局限性, 还需要寻路, 我们暂时不用这个去打怪. 我们可以使用按键 CALL 打怪.

让游戏内自动按下 F1 实现调用技能, 这样的好处是按键之后他会自己跑到打怪的距离内. 不需要我们再去计算距离.

下面写一下按键 CALL 的寻找方法.

前面我们用的发包法, 这里我们利用突破口. 按下 F1 之后能不能用他会去判断 F1 上面有没有技能., 我们不断的改变 F1 上面的技能得到 F1-F10 的数组

打开 CE,F1 放上一个技能搜索未知初始值

切换技能位置搜索变动的数值.

移走技能搜索 0

重复上述步骤, 将最终得到的几个结果分别放到 OD 中 dd 一下, 然后下访问断点, 之后实用技能访问他们.

和前面的找 CALL 方法一样, 在断下的地方开始返回, 每个返回得到的 CALL 都有可能是按键 CALL.

接下来分析剩下的断点的参数. 找一个最合适的 CALL 作为按键 CALL

最后定位在这里, 只需要传入一个 1 和一个下标 (0-9)(F1-F10,C 语言下标从 0 开始) 就可以调用技能了.

到这里打怪功能已经实现了, 我们需要吃药, 可以把药品放在技能栏, 检测到血量低于多少时按一下相应的键位.(其实正常来说外挂作者也会找到相应的吃药 CALL,这样按键偷懒了)


通过以上的流程分析, 大家也明白为什么无法杜绝外挂的出现了. 因为数据在你本地, 你的电脑你做主. 同时提醒各位读者, 学习技术请用在正确方向. 本教程仅作技术交流, 无任何恶意用途.

维护软件安全需要大家一起努力.

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

欢迎大家评论留言, 第一次发表文章, 没有什么经验, 希望能得到大家的点赞.

知乎用户 匿名用户 发表

本质上和美国不禁枪然后疯狂卖枪的逻辑差不多。

现在反外挂反破解能力已经成为大公司碾压小公司的法宝,很多小公司刚有一点声望就在被抄被破解被外挂的局面下死了。不仅仅是游戏行业,最普通的小网站,也随时面临被 ddos 勒索关站。

基本上不靠着大佬在这行已经活不下去了。

知乎用户 八月缺你 发表

外挂,把一个聊天的某讯软件逼成了安全中心

知乎用户 匿名用户 发表

说中国的外挂都是偷外国人的是搞笑的吧,TP 不比外国那堆游戏的保护不知道高到哪里去了?你见过哪个毛子天天对着 TP 怼 DxF?

这些说中国外挂制作没技术的,你们是否接触过一点中国的外挂产业?你们是否写过一个仅仅调用 WriteProcessMemory 的锁血挂?是否接触过一点 windows 内核编程?看雪 ID 多少?几篇精华?

啥都没见过就喷,真是为你们捉急

-——————————————————

不好意思,有点答非所问了。其实我一开始就是有点不爽一些对这块不怎么了解的人质疑中国的游戏攻防技术。。实际上在这块领域中国绝对是领先世界的。。。各种大神天天在研究过保护与保护,vt 框架,这之类的东西。TP 的保护也没有任何一家国外的游戏公司能与之媲美。有兴趣的可以去逛逛看雪、吾爱这种论坛。。。一些人看到的可能只是一小部分,所以才会得出中国外挂不行的结论,也可以理解。。我个人虽然也是研究二进制安全这块的,但不是什么大神,只是菜鸟一枚。。。我前面的语气可能过激了,在此道歉。

知乎用户 0x0000102a 发表

说到国内的外挂就不得不说 TP (TenProtect),TP 可以说是国内外挂里程碑,为什么这么说?TP 本身是一个鸡肋产品,它阻断了一大部分的脚本外挂作者。内存挂成了一个门槛,不会内存重载都不好意思说自己会写外挂 :( 内存挂的核心就是要找到关键信息的内存地址将其调试最后实现对内存的读写,而 TP 我记得没错的话是内核驱动的反调试系统,要绕过它并不是易事,不管你是用 Hook 还是 shell code 至少得具备过 vm 驱动保护的能力。

- - - -
在中国,外挂的利益驱动是大批量的游戏工作室而并非玩家,真正到玩家手上的外挂醉翁之意不在酒,聪明的外挂作者一定不会让外挂流通在市面上,现在能与腾讯 Tp 抗衡的外挂作者来源肯定不会出现在 52pj 或精易,我看答案里都提到大多是看雪,看雪已死好吗。难道没人提一下 debugman 吗?我的偶像 mj0011 可在里面,国产外挂的经典之作就不得不提一下 2012 的某款 DxF 外挂了,外挂的好坏评判之一出于外挂是否智能化,这款外挂可是实现了一台 8 核 16G 脱机一天 1200 人民币的目标,回味一下脱机二字。之后团队竞技游戏的兴起以及移动支付的发展再次推进了类似吃鸡和 Lol 这样的玩家消费挂,也就养活了不少发卡平台和 x 级代理还有一些代练和骗子。

- - - -
外挂团队少之又少,牛逼的外挂作者重金难求,随便在 52PJ 或看雪挖一个人回答是 “不做”,其实是做不了吧?刚才说的 Dxf 那款脱机挂不就是南京翰海源某著名安全专家的杰作么,前一个月获利小 1000,另外推广团队说实话比某宝还专业了,只要你的挂靠谱,一周内至少让全国上千家中小型工作室全部换上,一张周卡 37 左右,我瞎说的。

- - - -

有位匿名用户的答案很有意思,中国的外挂攻防确实是领先世界的,那是因为 TP 这种东西都是人家完剩下的,国外的作者屈指可数,谁来对抗?最后推荐一本徐胜的《游戏外挂攻防艺术》有兴趣可以去了解一下。

知乎用户 黄药师 发表

国内 ,免杀 外挂 反挂 键盘保护 可以说吊打全球

知乎用户 匿名用户 发表

大家都说国内写外挂的不行

请大家搜索一个论坛。广海 http://ghoffice.com

知乎用户 韦易笑​ 发表

法律不健全,抓的不够多而已;不过这两年趋于完善,游戏公司起诉判刑的案例也越来越多啦:

全国首例网络游戏 “外挂” 入罪案宣判 夫妻获刑

80 后利用游戏外挂非法牟利 320 万元 被判刑 10 年

《穿越火线(CF)》外挂制作者栽了:判刑两年 罚款 8 万元

6 人编网游外挂 4 个月获利千万 动作太大被抓或判 10 年_网络游戏

荆州:男子卖游戏 “外挂” 获利千万 被判刑三年

2 名 “技术宅” 编写游戏外挂卖钱被判刑 - 搜狐新闻

开发 “无敌” 外挂半年赚 200 多万元,俩 “能人” 双双获刑 – 上观

男子编写网游外挂获利 700 万被判刑 3 年 6 个月

6 男子编网游外挂获利千万 要判 10 年 - 网游, 外挂, 判刑,- 驱动之家

-—

随便搜索了一下,早年法制环境不健全,第一个被抓判刑的到现在也没几年,国外守法的人多,大家都守规矩,国内外挂作者们没有法律意识,或者钻空子知法犯法,这也变成厉害了?

各位 “厉害” 的人,请搜索下近两年的判决,现在这已经不是几年前了啊,趁早洗白上岸为妙,如若不然,一个不留神,一辈子就毁了,到时候追悔莫及。

知乎用户 Doppelganger 发表

技术力量决定了准入门槛

法律、执行力度共同决定了违法成本

使用量决定了获利基础

中国算不算是天时地利人和(手动滑稽)

知乎用户 小笼包 发表

那些说国内外挂卖的厉害的而不是写的厉害的,你们可省省心吧。多去卡饭看雪看看。补充一下知识再来回答一下问题。毕竟这是知乎,不是贴吧。

光一个 tp,国内有多少人在研究。就吃鸡,就那点保护,算了吧。

是时候干一票大的了。

知乎用户 白夜 发表

FPS 的外挂并不厉害。

你可能并没有见过《黑暗之魂 3》不管 PS4 还是 PC 都通用的一个挂…..

人家直接自创一个技能,冲你丢一个飞刀,然后你屏幕炸了,满屏红光,然后你浑身装备耐久度掉光,人血只剩一丝。

但考虑到国内主机玩家的人群稀少…… 这挂可能是外国人搞的。

知乎用户 南無三 发表

因为部分人根本不知道廉耻是什么,所以犯罪和违道德的事情可以做的理所当然。在游戏里开挂,为祖国争光。
下图是我和一个卖外挂的聊天。我是在油管上看到这个的人的。https://www.youtube.com/watch?v=6qjYz4d4xaE 附上链接 需要 vpn
油管的视屏大致讲述了,
一个日本队友,看到队友 3 个是中国的外挂玩家后找机会杀了 3 个队友,还好心教育他们别开挂,结果遭到谩骂。游戏中途知道他是日本玩家还 tk 他特意不救起来,直到队伍里的一个妹纸把他拉起来。

知乎用户 老甜 发表

反复提示这个问题,就回答下吧。

首先,题主虽然问的是制作外挂这个问题,但是描述的确是外挂猖獗这个现象。须知,外挂猖獗不等于擅长制作外挂,就跟鸦片战争前中国不盛产鸦片一个意思。因此,需要回答的其实只是为什么外挂猖獗。

从经济学角度而言,显得猖獗其实就是交易活跃,交易的两段是供给和需求。

两端分别说,先说供给。
外挂其实也是程序,其实是一种软件产品。如果说发布在论坛,作为共享和学习,还可以打打擦边球的话。拿出来卖,显然是有问题的。
一,经营行为,必须有资质,最少你得注册一个软件公司吧。所以非法经营什么的靠得上,至少也存在偷税漏税。
二,就算持证上岗经营了,还得保证经营不存在侵权行为,外挂存在对游戏商数据的篡改,肯定侵权了。
也就是说,法律上,这个行为是应该受到惩罚的,但实际上基本没人管,从供给的角度而言,成本极低(没有合规成本)。作为软件业的话,毛利率已经达到极致(只有人工)。

从需求来说,中国市场的需求极其旺盛,主要有三个原因。
一,还是没有或者很低的合规成本。玩家作弊,顶多封号。
二,文化上,我们国家的人民普遍喜欢做桌下交易,走捷径,这个就别不承认了,各行各业都一样,虽然全球都有潜规则,但中国智慧高个档次。因此需求更加旺盛。
三,玩家不够成熟或者就是素质低下,体现为对游戏鉴别力不高,这么多页游活下来不是没原因的。事实上,外挂显然会伤害自己及其他玩家的游戏乐趣,但似乎没什么乐趣的游戏,大家也玩得很乐。大家更在乎一群人中装逼的感觉,而忽略了游戏精巧的设计带来的乐趣。就像很多人说魔兽世界好玩是因为青春。作为世界最游戏的游戏,在中国还需要青春加成也是悲哀。

供给需求都旺盛,交易成本极低,这大概就是猖獗的原因

知乎用户 朱元 发表

本来该公安管的事情变成了必须有关系公安才会管这种破事,你说这市场可以养多大,参考赌,参考 ddos。

然后又冒出来个腾讯,人家技术也不差啊,对于反外挂人家也是重赏之下求勇夫,于是呗,互相军备竞赛呗,你反调试,我研究内核,,,彼此都已经进化到了很高深的境界,总体来说网游的话还是游戏开发商更有主动权,但外挂者撸羊毛的能力也很厉害的。

知乎用户 黄恩龙 发表

并不是因为中国制作外挂厉害,很多国家完全有这个水平而且很简单。

只是因为国内对内很严, 对外宽容。

首先重要的是游戏和软件大部分来自海外, 特别是韩国。

你看破解版都是外国软件,国内软件也有, 就说珊瑚虫 QQ 把,蹲了几年。

你看入侵网站外国网站扫 ip 段, 搞路由器入侵, vpn, 暴库, 脱裤裤, 卖资料,

但是国内只是帮你找出来漏洞, 人家就告你非法入侵, 连网站都没了 (乌云)。

什么黑卡, 黑资金, 外国随便搞, 国内你敢搞, 那你撅着屁股等着被 kick ass 把。

我在外国一提起黑客, 入侵, 做外挂, 他们就震惊的看着我说:“那犯法啊!”

我立马激动的回答道:

“我只搞外国, 不搞国内, 因为我爱国,

因为我爱国,国内不管我”。

TG 意思也很明确, 外国你随便搞, 只要不涉及洗钱,这也是一种爱国的表现,拖垮对方的资本家。

不过等国内代理了,就等着看好戏吧。

监狱里猛男都已经饥渴难耐了,就等着他们去送屁股,而我在几年前早已洗手不干了。

聪明的投资者里说过:“任何投机都是暴利行为, 这迟早会让你破产”。

做外挂的人,跟妓女没什么区别,天亮就睡觉,晚上熬夜调试。

起码上班的程序员都是朝九晚五, 但是大部分外挂工作室和团队并不是这样。

所以要么身体垮了,要么钱包垮了。因为暴利带来的奢侈消费的习惯会跟着这个人很久。

有人说我没写技术细节, 不了解中国技术领域,我呵呵哒,关闭评论

现在真是懒得去撕逼了,浪费时间。但该澄清还得澄清,免得别人小看我,瞎嘚瑟。

我不敢说我是第一批国内搞 xx 得,但第二批我肯定是了。

知乎用户 太昊悦和 发表

绝大部分外挂,是内外勾联,甚至贼喊捉贼。

没有内应,哪儿来辣么精准的突破。

哎,评论区有位同学问我理由。我能告诉你真相么?不能。

自我八周岁模仿着写出第一个贪吃蛇游戏后,就不玩儿游戏了。除非能有人领着小心翼翼绕过层层警戒触发器,几句 SQL 改掉属性,不玩儿了,还能小心翼翼清扫所有日志,来无影去无踪的游戏,凑合着玩玩儿。

那个,提示一下,改属性时切莫贪心,稍微高于平均值就可以了。此处特指将所有属性均改为高于平均值一丢丢,切记,是所有。2 vs 30,一改就赢。

但是呢,我是个善良的好人。曾被稀里糊涂灭团者,你们是看不见好人和善人的,对吧。

知乎用户 须川亮 发表

首先, 做外挂 / 破解更厉害的是毛子

然后, 个人觉得并不是外挂厉害, 而是棒子的游戏代码渣得一比那啥, 太容易开发外挂了

以前网游基本是棒子的, 所以看不出, 现在百家争鸣的环境下, 稍微注意一下就会发现往往是棒子的游戏外挂最多功能也最变态,锁血锁蓝那是基本配制,上天入地属性爆炸那是入门级. 从当年的传奇, 奇迹, 精灵, 到现在的 DNF,DN,ELS,TERA,AION 等等等等, 全是有外挂而且都是被外挂或者差点被外挂毁掉的

当然也不能一刀切说其他网游就没外挂, 但可以这样说棒子之外的网游外挂的水平放到棒子网游里简直是丢外挂的脸

知乎用户 网易易盾​ 发表

庞大手游用户群体之中混杂着部分 “作弊用户”,他们既影响其他玩家的体验,也侵害了游戏开发商的利益。其背后的外挂开发者通常以低成本的方式,摧残着游戏的寿命,并从中牟取非法利益。更有甚者通过借正规公司渠道贩卖 VIP、广告等服务获取违法利益。

介绍几种通用性比较高、外挂开发者常用的作弊方式,了解下外挂究竟是怎么搞出来的。

由于不同引擎的特性,很多游戏受到不同层面的攻击:

一、修改器:

修改器具有通用性,通过读 / 写游戏内存,对于游戏内部的敏感数据进行非法获取,来达到某一类效果:例如无敌、无限金币、透视、无限 CD、修改人物属性等,严重影响了游戏平衡。常见的修改器有:GG 修改器、烧饼修改器、八门神器、葫芦侠等。

虽然修改器五花八门、但是其原理通常是采用以下方式进行实现:

1. 通过内核提供的函数读 / 写内存

2. ptrace 附加并调试进程

3. 使用 read/write 函数读写 / proc/pid/mem

4. 通过多种方式注入 so 到游戏进程读 / 写内存

二、加速器:

加速器也具有通用性,游戏开发商通常通过使用时间函数来进行相关判断。通过加快或者减慢时间,来达到某一类的效果,例如:体力恢复、竞速类游戏、技能 CD 等,这类操作严重影响了游戏平衡。常见的加速器有:GG 修改器(含有加速功能)、烧饼加速器、叉叉加速器等。

下面列举了不同情况下实现加速器的原理:

1. 通用方式:劫持 gettimeofday,clock_gettime 等时间函数。

2. U3D 引擎:调用 U3D 引擎提供的函数直接设置时间倍率实现。

3. Cocos2D 引擎:修改 Cocos2D 引擎提供的函数实现。

三、虚拟空间:

通常修改器和加速器在使用的过程中需要更高的 Root 权限以实现对游戏进程进行操作。虚拟空间的出现解决了这一些问题,他能够使游戏进程和外挂进程隶属于同一个用户空间,并直接对游戏进行非法操作,其需要代理系统服务等一类的操作,但这一类操作能够被主流游戏安全厂商所检测。

下面展示了虚拟空间被外挂开发者所利用,实现手机免 root 也能够使用外挂的方式。

四、修改代码逻辑重打包:

由于游戏引擎各不相同,游戏代码逻辑存在于不同位置,针对不同游戏需要不同的处理方式。

1. mono

mono 是 Unity 运行 dll 脚本十分重要的组件,而 dll 脚本存储在 asset/bin/data/managed 目录下,外挂分析者能够直接反编译 Assembly-CSharp.dll 修改代码逻辑进行破解,达到免费购买、增加伤害、攻击加速等非法功能。

2. il2cpp

il2cpp 是 Unity 另一种运行游戏代码逻辑的方式,这种方式与 mono 的不同之处在于它将 dll 中的 IL 指令在编译的过程中翻译成 cpp。并编译成 so,执行游戏的代码逻辑。这种游戏引擎的方式的确增加了破解者的破解难度,但仍然很容易被攻破。修改 libil2cpp.so 的代码逻辑同样也能实现非法功能。

3. cocos2d

针对 cocos2d 的引擎,其代码核心逻辑主要存在于 lua 代码中,游戏开发商如果使用不经过任何保护的 cocos2d 引擎,则等于直接将源代码暴露给破解者,破解者能够很容易的破解游戏逻辑功能。

更多的作弊方式由于篇幅原因也就不再一一列举(如:重打包修改资源文件、注入外挂功能脚本等)。

通过上述作弊方式的介绍,相信各位也意识到,游戏厂商想要肃清外挂,保证游戏玩家体验,考虑接入主流游戏安全厂商是一个明智和必要的选择。

网易易盾的手游反外挂系统结合网易多年游戏安全实战积累,围绕游戏行业常见安全风险,提供一站式全生命周期手游解决方案。易盾手游保护使用深度研究行为检测的方式,不需要使用黑名单,即使是新修改器、加速器,或者是变种,都可以即时检测。

目前独家提供 U3D 函数级加密功能。通过脚本加密组合文件校验,防二次打包等功能,进行全方位破解防护。提供最高可压 80% 的压缩服务,同时支持 Android 和 iOS。易盾手游保护同时支持对 U3D 及 Cocos 资源进行加密,独家研发的 U3D 资源加密还支持在线更新。

关注 “网易易盾” 知乎号,了解最新安全资讯。

点击 0 元试用易盾智能反外挂服务

往期精彩推荐

[如何在使用 Android 系统手机的时候最大程度保护个人隐私安全?​www.zhihu.com

](https://www.zhihu.com/question/21825025/answer/625956142)

知乎用户 白大人 发表

知乎用户 游戏篡改者 发表

可能是聚集了人民的智慧和市场的需要吧。

技术是一把双刃剑,从兴趣爱好的角度回答一下问题。

讲一个大家都玩过的单机,秘籍原理。

《魔兽争霸 3》是一款经久不衰的里程碑游戏,可以说他为大多数的竞技类游戏提供了一个模板,从早期的起凡对战平台,梦三国等游戏就开始大量的模仿和改进魔兽地图。到现在脍炙人口的《英雄联盟》也处处可以看到魔兽的影子。

魔兽最大的亮点在于一个平衡性,电子竞技是其核心思想,而如同大牌电影一般的剧情,和培养团队协作的 RPG 模式同样是吸引玩家的经典玩法。

电子竞技的第一要求是平衡,魔兽在这一点上做的无可挑剔。但是在单人模式中,我们同样可以通过各种秘籍来打破这平衡,这也是让手残党能够打败简单电脑的一种福利。这些秘籍都是魔兽自带的,它们大多来自于电影小说的台词等,处处散发着西方人的幽默感。

今天我们要了解的是 “keysersoze” 这条指令。他来源于《非常嫌疑犯》中的人名 Keyser soze,这里不做细说,有兴趣的朋友可以去了解一下这个人物。这条指令的作用是让我们的金币增加 500,如果再后面加上空格并输入一定的数值,则可以增加我们指定的金币数量(如图)

那么这个功能在内存中是如何实现的呢?下面我们通过逆向的角度来对其进行分析。

在分析前我们需要用窗口模式来打开魔兽,这更加方便我们进行调试,修改方式为将快捷方式的路径后面 + 空格 + window(如图)

接下来打开游戏,并用 CE 进行加载(如图)

由于这条命令是修改金币数量的,所以我们要从金币的数量入手对其进行分析。在大部分的情况下,金币数量是以整数型进行存放的,当然也有个别情况可能会用到浮点型。那么我们先用 CE 搜索整数型的数量发现没有得到任何的结果,而同样用其他的类型扫描也没有得到结果。这说明这个金币的数量很有可能是进行加密处理。

于是我们通过位置初始值进行首次扫描,并通过增加和减少数值来进行过滤,并最终得到一个结果(如图)

很明显这是将实际的金币数量 * 10 之后的结果,我们将其修改为 1234560 后,游戏内的金币变为 123456(如图)

这里为了修正实际的金币数量,对建筑进行一下多人建造,所以实际数量减少了 1。

接下来我们用 OD 加载游戏,并对金币数量的地址下硬件写入断点(如图)

当我们输入秘籍之后游戏断下,这说明秘籍对游戏金币进行改写(如图)

讲断点删掉之后,我们执行到返回,对外层函数进行分析,看一下哪一层函数方便我们调用,并且可以达到秘籍的效果。(由于测试崩溃了,所以重新启动了一下游戏)

在外层我们发现可以调用的函数很多,我们选择一个最外层可以调用的函数进行分析(如图)

这个函数有 3 个参数,其中的第一个参数是常量,代表的是金币,第二个参数则表示需要增加多少金币,而第三个参数则是立即数 1。再传入一个 this 指针 ecx 既可以对函数进行调用了。我们通过代码注入器进行测试(如图)

测试成功,游戏金币增加 500,当然这是数值是我们可以任意添写的。

虽然测试成功了,但是我们发现在调用之后中并没有出现启用秘籍的提示,对于有强迫症的人来说,这显然是不完美的。出现这种情况的原因很显然是因为调用内部不完整函数导致的。那么我们继续选择向外层返回,得到了一个新的函数(如图)

这个函数只有一个结构体参数,结构内部除了一个金币数量是可以进行修改的,其他都是常量,显然这些常量中某一个代表 KeyserSoze 秘籍。通过插件在 OD 中申请一片空的内存,并将结构体拷贝到里面(如图)

将 ecx 传入之后进行调用,在金币增加的同时,启用秘籍的提示也出现了(如图)

这就是指令 KeyserSoze 在内存中调用的函数,当然也仅仅在单机版中可以实现。在联网模式中,是有服务器进行数据验证的,如果检测到数据不同步,就会出现游戏崩溃或者断开连接的情况。这种检测方式也同样适用与网络游戏中,这也是网络游戏安全最基本的一种检测手段。

最后放一个免责协议,如果本文章侵犯了贵公司权益,请联系我删除。

知乎用户 匿名用户 发表

这么多人邀我回答?

针对高赞的绝大部分回答, 我要吐槽一下:

真正有水平的 “外挂作者”, 都懒得在这里跟你们 BB, 闷声发大财才是王道。

有兴趣的可以搜一下 “绝影” 这个人, 前车之鉴摆在这里。

疯狂的程序员作者绝影现状怎么样,被抓了真的不?

只是我很疑惑, 搞数学的指点搞艺术的,搞算法的指点搞业务逻辑的。 怕是在场的绝大部分人连这场会议的入场卷资格都搞不到手, 甚至连程序员都算不上的人, 也在此指点江山, 意气风发

为何搞得他们才是业界的平均水平一样呢? 我很是不懂。

PS: 我想表达的意思是, 连一个连外挂开发不懂, 也非工作室, 也非外挂代理, 也没接触过圈内人, 就算有一点小道消息, 也能代表业界水平了? 就跟普通的军事爱好者吹中国的军事力量跟美国比起来不值一提, 被吊打。 人家局座说的话就当放 P。


言归正传, 回答题主的题目:

这个问题就跟 民企和国企一样, 在自由市场下, 竞争是最好的进步方法。

国外的外挂制造作者水平高吗? 高!

中国的外挂制造作者水平高吗? 高!

你非得要对比一下哪个比较高, 那这个是真的无解。

美国的法律我不太了解, 不知道高调出头会不会被 FBI 跨省, 会不会被游戏公司告。不知道 “台面上” 最叼的那个人,是否就代表着最高水平。

但是在中国下, 别说最叼了, 哪怕最菜你都不好认识, why? 参考绝影的例子。

发展到这个地步…… 利益才是最根本的原因, 要是没钱赚, 你看会有这么多人研究吗?

匿了, 果然非技术话题下的回答不适合我。 中国人开挂就是丢人,美国人开挂并且在 uc 论坛教别人开挂就是正常。

不知道为何…… 开挂丢人下非得强调中国人……

知乎用户 怡宝好好喝 发表

强悍的外挂硬是逼得国内的反外挂系统进入世界一流水平

知乎用户 刺猬公社 发表

以下文字截取自刺猬公社(ID:ciweigongshe)原创文章:【中国外挂产业:每天进账过万,不愁没有买家】

* 友情提示:开挂一时爽,一直开挂…… 封号早

————————————————————————————————————————

中国的游戏史,就是一部 “开挂” 史。

锋子(化名)既是中国最早的一批电子游戏玩家,也是最早在《CF》中开挂的一批玩家。“(2008 年)因为管控还没有那么严格,所以在大环境下大家都是开挂的,自己也跟风去用了外挂。” 锋子说,百度上随手一查,就能找到一大堆免费的外挂,平时也多在网吧玩游戏,不用考虑电脑病毒的影响。
他所使用的外挂,功能比现在丰富得多。除去现在常见的自瞄、透视之外,还有显示对方位置,瞬间移动、无限子弹、穿墙等等,甚至能让角色直接飞天遁地。锋子当时只需要躲在地面下,对着上面一通扫射,就能不断收获击杀数,普通玩家没有任何反击的余地。
据他回忆,那个时候游戏内的外挂检查机制也不完善,没有封号之类的措施,根本不用像现在一样演戏,可以放开胆子撒泼。但游戏太过 “一边倒” 也会丧失许多乐趣,不使用外挂又打不过,锋子在玩了一下午之后,就再也没有碰过《CF》。
锋子所用的外挂,和目前《APEX 英雄》中猖獗的外挂是同一类型,也就是本地外挂。
据熟悉游戏编程的 HRC 介绍,目前的外挂主要分为两类,程序外挂和硬件外挂,而本地外挂就是程序外挂的一种。
所有的客户端游戏,都可以通过本地外挂,来达到作弊的目的。其原理是使用暴力计算工具,将游戏公司加密的程序进行解算,从而达到修改游戏数值作弊的目的。
本地外挂对 FPS 类游戏(First-Person Shooting,即第一人称射击类游戏)“杀伤力” 最大。因为 FPS 游戏复杂的场景,使得其需要计算的数据量巨大,限于技术条件这些运算只能在本地进行,外挂可以轻松乘虚而入。
在一些早期网络游戏中,因为几乎没有任何防外挂措施,导致普通玩家都能 “写外挂”。
例如当初流行的游戏《反恐精英 online》,一段时期内,只需要将某个文件使用 txt 打开,将文档里的 0 改为 1,就可以把生化武器带入爆破模式使用,轻松达到作弊的目的。
因此,本地外挂的编写难度并不高。不管怎么给本地游戏文件加密,总会有人拿着更加 “暴力” 的计算工具将其破解。当然,这类外挂的售价也不高,以《APEX 英雄》为例,在某宝上一般是 10 元 / 天。

《刺激战场》中一部分的外挂,开发难度就要高很多,属于服务器外挂,它的工作原理是先通过游戏公司的防火墙,然后寻找到服务器内部的漏洞进行破解修改参数,破解完成后,还需要将数据发回到玩家的设备上。
毕竟游戏公司也不是吃素的,光是防火墙就够很多外挂制作者玩儿的了。
也有游戏公司的程序员会自己故意设置一个漏洞。
超级 IP“精灵宝可梦” 能够火爆全球,也是因为程序员森本茂树的个人行为:
舍不得自己创作的宝可梦被列为废案,便私自将其写进了游戏的漏洞之中,结果极少数玩家获得了这只藏在漏洞里的精灵,瞬间引爆了话题。而那只废案宝可梦,就是梦幻。
所以,程序员私自设置漏洞从而方便制作外挂,也不是不可能的事情。
硬件外挂在市场上也颇受欢迎。以《刺激战场》为例,某宝上遍地是各种硬件外挂。
手机上操作不习惯?没事,你可以购买蓝牙设备将手机连接上鼠标和键盘,转眼变身为客户端游戏。连续射击时弹道不集中?没事,你可以购买鼠标宏,一个按钮就能完成 “压枪” 这样复杂的游戏操作。

相比于程序外挂,硬件外挂因为没有直接修改游戏,而是修改了硬件设备,所以比较隐蔽。很多游戏厂商为了反击,会在启动游戏之前扫描玩家的硬件信息、安装的软件信息、软件驱动以及 IP 地址等。
开公司,卖外挂
按照中国法律的规定,开发制作外挂是未经许可或授权,挂接运营合法出版、他人享有著作权的互联网游戏作品,从而谋取利益、侵害他人利益的违法行为,涉嫌破坏计算机信息系统罪,后果特别严重的可以判处 5 年以上有期徒刑。
因此中国的外挂产业属于黑产,外挂制作者也是神龙见首不见尾,其售卖少有通过公开渠道的。
去年 5 月,四川省遂宁市射洪法院就公开宣判了一起非法制造游戏外挂的案件。3 名外挂制作者在 10 个月内,竟获取了 145 万元的非法收入。最终都被判处 3 年有期徒刑,没收所有违法所得收入和作案工具,还需要承担数万元的罚款。
但对于欧美很多国家来说,外挂产业却属于灰色地带,所以就有胆子大的直接开公司制作贩卖外挂,德国外挂公司 Bossland 的就是其中的佼佼者。
熟悉欧美游戏巨头暴雪的玩家,一定对其开发的外挂 “兄弟” 不会陌生。“兄弟”外挂一直是《魔兽世界》摆脱不了的阴影,在这款游戏中存在了 6 年之久。
暴雪系的其他游戏也都被 Bossland 一起打包做成了 “豪华外挂套餐”,公开售卖。无可奈何的暴雪,打了 8 年的官司,才总算是扳下一城。

因为暴雪长期的诉讼,导致 Bossland 资金紧张
但即便是 Bossland 公司,根据暴雪公司起诉时公布的数据,在美国数年,也才卖了 42818 份外挂,和 Respawn 公司公布的几个月封禁十几万账号比起来简直不够看。
中国虽然没有像 Bossland 这样的公司,产业却要庞大得多。
以《APEX 英雄》为例,如果 Respawn 公司的数据当中有 10 万来自中国,价格按照常见的 10 元 / 天来算,那么这些账号在封禁之前每使用 1 天外挂,就会产生 100 万元的交易流水,其体量和欧美自然不是在一个层级上。
个人卖家很多都是通过 QQ 群来售卖外挂。如果一个加满顾客的 2000 人群中有一半的人最终购买了外挂,按照 10 元 / 天来算的话,每天就能有 1 万元的进账,每个月交易额能达到 30 万元。这样的 QQ 群遍地都是。
2018 年,腾讯联合警方破获各类外挂制作销售和游戏诈骗盗号等案件 33 余起,抓获犯罪嫌疑人 350 余人,其涉案金额更是达到了夸张的 1.51 亿元;相比之下暴雪被 Bossland“折磨” 了这么多年只索赔 870 万美元,就显得有点小家子气。
巨大的利益下,外挂与反外挂的战争
在国外数据分析公司 Newzoo 发布的 2018 全球游戏市场报告中,中国在这一年产生了 379 亿美元的收入,占据了全球的 28%,稳坐全球游戏市场的头把交椅。

但对比其他国家,中国游戏市场的结构却是畸形的。
ESA(美国娱乐软件协会)发布的 “2017 年美国游戏行业研究报告” 中显示,其在游戏设备上就更加多元化,除了常用的 PC 电脑、智能手机之外,家庭游戏主机、便携游戏掌机和 VR 游戏设备都占据不小的比重。

在 GPC(中国音数协游戏工委)和伽马数据一起发布的 “2018 中国游戏产业报告” 中,游戏细分市场里移动游戏占到了 62.5%,客户端游戏占到了 28.9%,而在美国颇受欢迎的家庭主机游戏和单机游戏,则是连 1% 都不到。

国内网游占据优势有一定的历史原因。
考虑到青少年过度沉迷游戏的问题,2000 年,有关部门颁布了游戏机禁令:面向国内的电子游戏设备及其零、附件生产、销售即行停止。任何企业、个人不得再从事面向国内的电子游戏设备及其零、附件的生产、销售活动。
但此时却是中国互联网发展最快的时期,网民对于电子游戏的需求不断增长,导致国内网络游戏行业的快速发展。从 2001 年盛大游戏推出《热血传奇》开始,各大网络游戏公司不断崛起,创造了一个又一个游戏神话。
等到 2014 年游戏机禁令解禁,索尼微软纷纷推出自己的国行版主机之时,已经很难再撼动中国游戏市场了。
更何况彼时又是移动游戏兴起之时,对于不少习惯各种盗版和免费游戏的中国玩家来说,需要先花费两三千元购买主机才能玩的游戏,几乎没有什么吸引力。
不过,游戏公司对于反外挂的投入是远不及现在的。
毕竟当时的首要任务,还是抢占这片巨大的蓝海,所以外挂产业就在网络游戏的阴影中如杂草般疯狂生长,就像早期的《CF》;而像《DNF》这样 PVE(Player VS Environment,指玩家挑战程序所控制的怪物和 boss)向的游戏,那些开外挂带人通关副本的玩家,反而会引起追捧和效仿。
如今,游戏公司自然也不会坐以待毙。受制于法律的规定,国外游戏公司的反外挂机制只可从游戏数据本身排查,不可涉及使用者数据,导致一些蹩脚的外挂程序都能绕过检测。
相比之下,腾讯的反外挂机制 TP 就要厉害得多。当你运行游戏时,它会迅速扫描所有与游戏软件相触发的文件,一旦监测到非正常的数据,直接判定外挂。
道高一尺魔高一丈,总会有外挂制作者想出新的法子,反过来又逼得腾讯升级,这么一来一回,硬生生变成了一场外挂与反外挂之间的 “军备竞赛”。
网友 @Center 就曾经在知乎上分享了《DNF》火爆时,外挂制作者与腾讯 TP 之间的斗争:
" 游戏检测异常伤害了,我修改武器强化,武器强化 31,按你的逻辑还是无限秒怪。你这边人物伤害检测了,我这边无限召唤人偶,用人偶打怪自己不动手。人偶系统下线了,我这边修改药品给自己攻击力 + 999。
你开始暴力检测人物单次伤害了,我这边加速器一秒 999 刀单次伤害还是不触发检测。又封了之后,我可以使用 npc 的武器自带无敌光环。"

最后,腾讯打造了世界领先的反外挂体系,中国的外挂也越来越成熟。
外挂到底能否根治?
目前看来,反外挂将是一场长期的斗争。毕竟,外挂制作者永远是主动进攻的一方,而游戏公司只能见招拆招。尤其是 FPS 类游戏,只要计算还保留在本地,就一直会是最容易被攻克的类型。
前段时间谷歌入局的 “云游戏”,是个根治本地外挂的方案,但依旧免不了服务器出现漏洞的情况。更何况“云游戏” 距离普及,还有很长的路要走。彼时服务器外挂需求量大,是否会有内部的程序员因为利益 “铤而走险” 也不得而知。

腾讯的做法效果可能更好。线上提升反外挂水平的同时,在线下与警方合作打击外挂产业。只有违法的成本不断地增大,这批躲在阴影下的人可能才会最终收手。​​​​

知乎用户 匿名用户 发表

贵乎现在随便写过两行代码的人都能说自己是程序员了,笑死。

另外崇洋媚外还能跨越到程序开发层面了。什么时候洋大人用的编译器比我们的优化效率都能高上一倍了?是不是外国论坛和社区都挂着红底白字大条幅写个 “中文操作系统与狗不得入内”?几百年过去了,有些人的心理还是有一种“洋人的 xx 就是比汉人的长” 的观点。这毛病得打,要不然治不好。

挑部分有代表性的答案,挨个骂:

所以回到问题,国外制作外挂厉害吗?答案无法直接给出,但可以说,这种对于外挂开发的社区氛围绝对是独一无二的。

人家说技术,你说社区氛围,可以,这很灵活。

大部分都是易语言写的,甚至从制作程度上看,作者可以说几乎没有像样的开发能力,因为不仅界面画的难看,就连联网验证都做不好,随便抓几个包就能做中间人,并且免费用他们的外挂

人家说外挂开发,你说应用程序安全,可以,这很安全。

而且他们依仗的只是一个 DLL, 主界面程序除了负责联网验证、充值之类的功能外,唯一的作用就是通过调用 LoadLibrary 去加载这个 DLL, 然后外挂的功能就生效了。

调用个 DLL 来隐藏内部实现细节,这样就很 Low。可以,这很模块化。

从我的角度分析,应该不能。至少说他们没有能力不借助别人的资料,自己从头到尾去逆向分析内存地址

上面说人家外国社区公开了很多源码,下面就开始暗示国内外挂开发者没有能力分析内存地址,可以,这很有逻辑。

但他们在这种环境下的作战经验,并不是在正儿八经行业待着的程序员能比的。因为他们有很多奇技淫巧

人家写的是外挂代码,你拿正常开发逻辑来做比较,可以,这很高端。

我们可以想象,国内的这部分产业可以说是相当的成熟,他们甚至不需要自己有过强的开发能力,就可以把这么个东西工业化,而不知道的人会认为外挂作者都是大神,其实未必。

中国是卖得厉害,不是做得厉害。

回到题目,中国制作外挂为什么这么厉害?

因为有这样成熟的产业链,而这个产业链的技术实力不是小打小闹写过几个函数钩子的人就能想想的。**能工业化的东西,技术能力一定不会差。**卖的厉害就是工业化能力高的体现,直接体现的就是做的厉害。

为什么卖的这么厉害?因为国内游戏开发商的保护系统(对,比如 TP)比国外开发商的保护系统不知道高到哪里去了。各种动态下发,定期更新,开发商变着花样给你搞事情,外挂团队只靠人力劳动去跟特征码的话远远不够,必须要对补丁做针对性分析。

那为什么国内的保护系统能力就更高一些?因为国内外挂开发者的技术能力就是更强一些。外挂就是奇淫技巧,写的代码就是奇淫技巧,跟什么狗屁的 “正常” 开发能力没关系。你用正常的开发能力评价体系来在外挂开发这个特定场景下套,就相当于你用嵌入式程序员的评价体系去评价一个写高频交易的程序员,完全是没有意义的事情。

我估计一会肯定有人要说,那为什么各种单机大作没有很牛逼的国内团队破解?

很简单。免费发 xxM,xxx 空,x 侠网,可以。那你敢把单机游戏的破解版拿出来卖吗?底裤给你罚掉。

外挂开发的社区化,一定会伴随着用户态 & 内核研究技术的社区化。后者的社区化已经很成规模了,比如看雪,比如 52pj。

另外不要以为人家用一个英文名,用一个英文论坛,就是外国团队了。有那么几个论坛,里面全是英文 / 俄文,你连中文内容都发不出去。进去一看留的邮箱都是 QQ 邮箱,发的文件拖出来一看编译环境的语言全是 2052,你说是中国人还是外国人?

别的领域有历史问题,可以理解。计算机这个领域还拿中国程序不当程序,不是蠢就是坏。


评论区网友们让我上干货………… 这答案本来就没干货………………

另外希望各位同事注意遵守高压线啊,内部情况少说为妙

知乎用户 成风桑 发表

因为外挂市场大,这届玩家不行

知乎用户 博谈 发表

坐拥这么大的市场想不牛逼都难,从这点来说外挂工作室比那些国内车企争气多了

知乎用户 石二郎 发表

一款当红的外挂,月销售超过 200 万元。庞大的需求,当然刺激技术蓬勃发展。

随着游戏整体市场规模的增长,外挂市场也会跟着水涨船高。

外挂做为寄生在游戏身上的亚生态,基本上是相互依存,相互促进的关系。

外挂这个东西,基本上是不可能消失的,就像警察和小偷,小偷没了警察也就没用了。

知乎用户 地狱少年自在天 发表

你起这标题是想引战么?

什么叫中国制作?你是以为外国就不制作了?你以为外国的外挂就不厉害了?你以为国内外挂开发者水平很高?

国内现在的很多挂直接上 MPGH 下载别人上传的源代码和成品,做个汉化写个界面加个收费就拿去卖。

相比 MPGH 上那些纯粹为了交流的技术讨论,国内这些外挂 “开发者” 纯粹就是为了钱。

MPGH 基本上提供的就是源码和成品 DLL,要么就是文档,按着来重新构建。

源码需要用 IDE 编译,DLL 需要自己 inject,文档就更麻烦了,要按着步骤重新构建代码,即便上述问题都解决最头疼的就是游戏的安全保护。

国内的外挂形成了一整套产业链,相比以前连需要自己重新造轮子,现在做外挂开发简直不要太容易,你只要智力稍微正常一点再拥有像 Batman 和 Ironman 的一部分超能力(有钱)就 OK,每个环节都能找到专业的人来做,汽车厉不厉害?但是造汽车的工人懂机械结构工程力学那些吗?流水线的就是让生产人员不需要掌握多少专业知识就能从事生产工作,国内的外挂产业现状同理。

功能不会弄怎么办?MPGH 找!现成 DLL 一大把,写个 injection 直接一把梭,游戏保护头疼怎么办?有专门写过保护驱动的大佬,花钱买!

甚至编程连 WinAPI 都省了,直接有现成的封装好的库给你调用,都不用去一个个声明 OpenProcess,ReadProcessMemory,WriteProcessMemory。就国内大多数从事外挂的,文化水平又不高,很多高中都没读,英语英语不会,数学数学不会,FPS 的方框透视还需要懂三角函数来算坐标和视距,不像人物透视挂个 hook 就行了,前者只读内存里的坐标数据,后者要改写内存挂 hook,后者容易被游戏安全系统检测到,前者只有读取不容易被检测到。

初中时候学习弄游戏外挂,最大收获就是比较系统的学习了外挂所需要的知识体系,对后来自学计算机科学有很大促进作用。弄外挂,你得找基址吧,你首先你得懂的游戏的数据是放在哪个 address 上的,透视就是通过禁用 Z 轴缓冲,让本来不被显示的元素显示出来,计算机系统结构和计算机系统;然后数据是现在寄存的,简单的像植物大战僵尸里扣阳光的 Sub 指令给 Nop 了,就不扣阳光了,数据结构;如果你高级一点像刷什么金币之类的,数据存在游戏的数据服务器上,涉及网络封包,计算机网络;把弄外挂所需要的基础知识都学会,CS 考研 408 都入门了。

知乎用户 地狱骑士 发表

前面有人说利益驱动,我想这是根本原因。最初用外挂是传奇的时候,02 年左右,那时候基本上都是免费的,后来到 06 年出了征途,依然是免费外挂,再后来就是收费了,一直到 09 年我毕业后去一家游戏工作室打工,已经开始出现一个月几百块钱的外挂了。在 09 年之前我印象中的外挂技术含量都比较高,基本上都是内存居多。到了 10 年之后,感觉模拟类型的脚本开始增加,到现在是越来越多,很多做工作室的人自己都会一点。写脚本工具也越来越多,有的工具甚至能让你在几个小时内就入门直接开始写出一些简单的脚本。


所以很想知道中国制作外挂这一行业是怎样运作?背后的外挂开发者又是怎样的一群人?


我所了解的外挂基本都是脚本类型,因为我的圈子就是这个,而大逃杀的外挂圈子,我还没资格接触到。我说的是开发这种外挂的圈子。所以了解的并不多。外挂的行业基本都是一个人一个团队写,然后放给总代,总代再给下面的代理去卖。也有的作者是自己写自己出售。而写外挂也可能是很多人相互协作的结果,有的人找数据,有的人过保护,有的人写逻辑。因此也有人专门卖数据和过保护的方法。不像以前都是一个人自己搞定,所以现在写外挂的人技术相对以前而言,低了不少,很多以前写挂的大神现在估计不是进去了就是不干了或者诏安了。

要说开发外挂的是怎样一群人,什么样的人都有,有的可能是上班族,兼职搞搞,有的可能是以前从事安全,反病毒之类的安全职业,有的可能只是小学初中毕业的游戏爱好者,偶然知道了外挂这门赚钱的行当后开始自己研究。很多新闻爆出来被抓进去的基本都是这类人。总之什么样的人都有,有的是因为兴趣爱好,有的是因为金钱,最后,都会和金钱有关系。

知乎用户 勃拉图 发表

易语言是世界上最好的语言!

知乎用户 Benn 发表

跟天朝绝大部分的市场都是一样:绝大部分的天朝玩家,都喜欢 pay to win,而不是知乎上面的自命清高

知乎用户 海贼 - 王路飞 发表

开发外挂的直接目的就是让用户在游戏中为所欲为,从而盈利。但有些外挂真是降低游戏趣味性。。(侵删)

知乎用户 张恒远 发表

很是反感某些用了套皮外挂的小朋友把中国外挂吹的神乎其神,就好像国外的外挂开发者都是菜鸟小学生混吃等死一样,中国的外挂开发者很优秀,有些本身就是开发游戏的,但是相对于世界来说并没有那些人吹的那么厉害,那些鼓吹国内 xx 大神的都是墙内的小朋友。

一只青蛙住在一口井里,只能看见井口那么大的一块天,他就以为整个世界就只有井口那么大。

国外没有 TP 并不代表人家的技术就过不了 TP,外挂开发者只考虑自己外挂的大部分用户群体,至于中国用户和中国本土运营的游戏版本很多都没在人家考虑的范围内。网络通信被墙, 充值,游戏更新快维护成本高 (反 TP/HackShield/BlackCipher),目标用户太少都是问题。

当时的 LOL 辅助国内套皮的外挂太多了,登录界面大不同,但是外挂注入之后的 UI 都是一样的,国外的某外挂把代码还开放到了 github 上,他们是一整个专业的团队,有自己的官网,从策划,设计,破解,核心开发,工具开发,运营,销售,客服各个角色一应俱全,而且面对世界用户,多语言支持,支持用户自定义脚本开发英雄的 AI,而且面对的是世界各地运营的各种不同版本的 LOL,比国内这些草台班子搞个 QQ 群偷鸡摸狗套个皮连卖带骗不知道强多少倍。

我见过一个强大的外挂团队,一个外挂客户端支持 steam 上 30 款以上的热门游戏,并且提供各种灵活的付费方式。

关于国内的外挂开发者:

国内的外挂开发者的优势是思路很奇特,善于发现游戏中的漏洞,会用一些奇淫技巧玩转这个游戏,有些本身就是程序员,但有些人不是的程序员,由于思路比较骚,利用一些简单工具玩转游戏的漏洞就能耍的飞起,例如之前的 LOL 排位赛天赋点漏洞造就了某大神。(天赋点漏洞相关玩家补偿公告 - 英雄联盟官方网站 - 腾讯游戏

网络游戏的核心运算一定要放在服务端,而且要做数据校验,很多网络游戏之所以那么容易作弊,一个是对客户端的保护不足,一个是由于程序员的经验不足,把关键的逻辑运算放在了客户端。之前就自己就研究过一款回合制的网络游戏,反编译客户端之后找到了可利用的漏洞,这里面暴击的判定竟然放在了客户端,真是蛋疼,是招了新人吗,于是改成了 100% 暴击,服务端竟然也没有校验。于是刷的飞起,很快就对这个游戏失去了兴趣。

关于易语言的问题。

基于易语言的外挂基本上都是套皮外挂,外挂的核心 dll 通常都是调用其他人的,反 TP 是别人的,外挂核心也是别人的,那你到底做了什么,做了个皮?你以为你是小鲜肉,靠皮混饭吃?当你看到那个丑陋不堪的界面这蛋疼的验证方式,就应该能猜到开发者的水平是什么样。还可以用攻击外挂作者的账号验证服务器来影响外挂的正常使用,这个可以给反外挂团队提供一些思路,是的,他们连这点抵抗能力都没有,连个自动更新的能力都没有,感兴趣的,你可以很轻松就破解了他的外挂免费使用。如果懒得破解,直接用程序释放的 dll 自己 hook 好了。这里并不是歧视易语言,有相当一部分易语言使用者干着非常龌龊的勾当,套了别人的劳动成果不说,还在里面植入木马盗号,有的甚至还搞起了诈骗,用易语言拼个界面去骗小朋友,呵呵哒。可见这个群体里都是些什么水平的人。

有一定技术水平的外挂开发者基本都是正规军,程序员兼职业余时间做着玩,也不会暴露自己。有的自己做着玩,也不传播,刷到一定分数之后就雪藏了。有的会卖给那些套皮的菜鸟们,然后他们套个壳再利用自己的产业链层层分包,点卡充值等各种方式牟利。

曾经就有人找到过我提过开发外挂的需求,他大概有 100 台机器,功能是用于当时的某热门 2.5D 网游刷钱用,没有什么特别复杂的要求,就是实现自动挂机刷钱就可以了。由于自己还是有点职业节操的,一个是对这个游戏不感兴趣,二和反外挂斗智斗勇太累心,自己的技术能不能 hold 住都是问题,再就是不想趟这摊浑水。

要有自己的底限,钱可以慢慢赚,但是不要做违法的事情。

那个年代游戏公司法律意识淡薄,国内不注重知识版权,很多做游戏私服和外挂的都发了,但不能只看贼吃肉,不看贼挨打。

外挂类型:

不破坏游戏平衡:脱机挂 / 按键模拟 / 盒子辅助
破坏游戏平衡:非法修改内存 / 网络封包 / 漏洞挂

关于游戏公司对外挂的态度:

作为一个曾经在游戏公司工作过的程序猿来说,这里面有些事情就随便聊聊吧。

作为国内反外挂的龙头,鹅厂厉害的是法务部门,而不是 TP. 当外挂严重影响到游戏平衡**(主要是鹅厂的收入的),**国内的话,公安部门会介入,到时候等待你的就是牢狱之灾,何况你们还用人家鹅厂的 QQ 群作为沟通渠道,给人家侦查取证提供了极大的便利。
一个破坏游戏平衡的外挂会毁了一个游戏,毁了当初的美好回忆。
你断人家财路,人家断你生路。
游戏公司对于外挂的态度有时其实有些模糊的,毕竟一切都以赚钱为中心,外挂玩家也是一部分数量不小的玩家群体,只要不太过分,影响到用户增长,不会大开杀戒。比如某些辅助盒子是在白名单里的。

反外挂:

国内:

这个问题是老生常谈了,国内这块做的最好的就是鹅厂了,极大增加了外挂开发者的成本,服务端检测是最有效的反外挂途径,不仅是实时检测,后期结合大数据的方式分析玩家数据中的异常快速制定策略筛选出异常用户并追封,打外挂个措手不及,再就是尽快把实名制真正落实了,不要走个过场 (主要还是想赚未成年人的钱),学习 VAC 的方式,提高作弊玩家的违法成本,完善举报举证的方式,把真正的好游戏长久的运营下去。

国外:

国外玩家更喜欢在社区互动,作弊会在社区上被举证举报,然后会有专门的人来处理。这点比国内客服敷衍了事给你个机器人答复好得多!

我曾经在一款国外的末日生存塔防类游戏一个人推了一个团,反编译找到漏洞之后我写了个外挂能使我进入隐身状态,敌方机枪塔地雷等防御措施也全部失效,虽然攻击力服务器做了检验,但是攻击频率没做检验,但是我用加速一秒打出整个弹夹的狙击子弹,鬼子进村一样,寸草不生,而且游戏可以掠夺资源,里面最值钱的汽油是需要用钱买的,因为在地图旅行开车最快了,但是要有汽油才行,我一般只抢有汽油的,肥的流油,在部落排行榜榜上排名很高,然后他们就发现我的部落只有我一个人,就把我举报了,还看到他们部落的人在社区讨论我是怎么做到的,没过多长时间,我就被封号了。他们处理的速度很快,白瞎我那肥的流油的账号了。

知乎用户 晴天里的猪 发表

这么说吧,几年前我玩 codol 的时候,那时候鼠标宏特别流行,在贴吧里,我找到了个专门发一些连跳啊,连点的鼠标宏群,所有的都是群主做的,对象是 g502 的。后来不玩 codo 了,但是群一直在。
再加群 3 个月后,群主说无聊,想做外挂,有人说你做啊,他就自己先做了透视,但是封了好几个号,然后是自瞄,然后稳定挂,全自己做的。。。。。
现在群变成了外挂群,外挂售卖群,对象还是 cod,不过多了吃鸡的。我一直没有退,潜伏在群里,不买也不懂怎么举报。
所以,中国的外挂技术很强的。。。。。

对了,这是我第二次答题。。。(原先写了第一次,以改)

知乎用户 反坦克菠萝车 发表

看了很多回答,思考良久,最后不禁感叹:制作外挂这种轻则破坏游戏平衡,重破坏商业秩序,严重扰乱游戏产业健康发展的糟粕,为何在在座的很多答主口中却充满了 “得意、自豪” 底气。尤其是看了很多自称是 PUGB 的外挂制作者的答主,都号称年入百万云云。本人不明白这样有如老鸨对着大姑娘一脸自豪的说卖 yin 能大富大贵一样的行为有何沾沾自喜?

我个人早年确实也用过外挂,玩过盗版,但是现在的我经过国家的教育,起码在这件事上树立了正确的价值观,也纠正了自己的行为。

外挂之于游戏产业,就是鸦片之于国人,鸦片荼毒国人,外挂荼毒游戏产业。

外挂就是网络毒品,制作外挂就是制作毒品,贩卖外挂就是贩毒!!!

知乎用户 码字的刺猬 发表

是韩国反外挂能力低于平均水平…
从早期《传奇》《奇迹》《仙境传说》直到今天《TOS》的最新更新里提的最多的词是 bot,ps 这游戏国服还没有呢。

知乎用户 扶余城里小老二 发表

外挂原理有多种

1 种是内存 dll hook

1 种是封包

1 种是按键找色

当然了,求生里面,还有改模型,改 ue4 脚本的。跟街霸 5 一个道理。

至于从开始到防封,基本上要 2-5 年才能成型。

很多人都是从一个游戏开始,到游戏没人气了,积累了经验和技术。

然后再换个游戏内测就开始做。基本上,不用等到公测,就挣得盆满钵满了。

多了就不说了。这条路只适合萌新,不论是处于获利,还是挑战。。还是为了自己喜爱的游戏。。

总是 是所有人 接触编程的兴趣之开始。

然后随着技术的提升,已经经验的老道,和架构的扩展,逐渐升级到更高级,更广阔的领域了。

理想中,比较完美的外挂,应该是一个游戏端在内存中 被复制成 2 份。一旦涉及到客户端的效验的时候,立即跳转到纯净的内存区域。

我估计国内,每年得有几十万新人入行,最终洗练之后,留下来的不会低于 5000 人。

连因特尔都在芯片里面搞一个自己的私人系统。你就可以相信不论是大厂小厂,设备和软件里面都有猫腻,也叫私货,后门。等等吧。

就算是开源的。代码里面很多都存在逻辑上的 bug,可以被利用。

说白了,这行,你作为技术的原始兴趣,还行吧。

想一直干,没有几个有好下场的。

不过逆向的好处是什么, 你可以学习这个游戏的编程逻辑。

对于知道,游戏是怎么运行制作的,有很大的帮助。

想复刻。呵呵,必须会逆向工程嘛。

最近看到了这个,你们可以看看。关于此话题的一段代码

胖财:有哪些能炫技的代码写法?

注意关注一下,评论区,里面也有一批搞这个的。


既然这个话题这么火。我只想说。虽然心有余但是力不足。

看来后来人陆续的回答,以及评论,我发现很多人想干这行。。。。

作为萌新,你们居然想靠这行吃饭?君不知,你挣的钱,买的房子和车子,有很多双眼睛,都在看着呢,就等你开始跑,或者不能够创造更多的价值的时候,就开始收口了。一张大网的落幕。有人升职。有人拿了你的代码,有人。。。。总之,你呢。。。还有你的代理小伙伴们,都进去了。

千万不要往这方面想。千万不要。真的不要。。君不见,一夜之间 几十个代理,突然消失。

不要让悲剧重演。。。

这个话题,我真心不敢大谈特谈。话说。。。千万不能继续。被人盯上了,就悲剧了。

知乎用户 拉普雷斯妖 发表

因为我朝房价高呀,没房怎么娶媳妇?没媳妇怎么繁殖后代?辣莫,为什么没房呢?因为没钱呀!做生意没本钱,贩毒又没那个胆,辣莫只能写外挂了,利润高,风险低,成本少,多好的生意!马老先生说过,当某一门生意的利润能够达到百分之三百的时候,上绞刑架都不怕,花时间精力研究一下技术有什么可怕的呢?

知乎用户 新世纪宅男战士 发表

国外的单机游戏修改器一个版本更新就用不了了,国内的能坚持数个版本

知乎用户 超大陆的崩坏 发表

人多力量大

知乎用户 Peter 发表

2018-3-4
哈哈哈哈果然如我所料

@魔王凛

之前我说的那种方法的效果就是这样,
不能移动,不受除玩家伤害以外的很多伤害(大部分的游戏内伤害,如毒圈)
不能移动其实不止这点,甚至不能开枪喝药,捡东西等等等等。

2018-2-22 原答案
我来说一个我以前研究的方法,因为准确的来说不算外挂,因为太简单方法就不细讲了。
效果?
假设 pubg 那 8g 的客户端,被我重新写了一个客户端,只有几 m
能够登录,能够点开始,其他的什么都不能做
界面都是 dos 的,没有画面
甚至连移动都办不到,
但是可以脚本或指令达到重新登录等等操作

很多回答都是通过什么内存读取什么的对吧?
意思还是需要一台很强的电脑吧?
然鹅,
这个方法的结果可以达到用一台奔腾的电脑核显都可以运行几十个 pubg 客户端
原理?
任何网游是不是通过网络传输信息的?
服务器把信息传输给你,你的客户端把你的操作传输回服务器对吧?
比如 pubg 里面其它玩家的位置,骨骼(身体和头部)和装备等等等等信息都是服务器传输给你的吧?
而这些数据其实也就几十 KB 或者最多几百 KB。再大网络卡得要死,延迟就上来了 。
你再把你的操作信息上传回服务器。
而且这些数据才几十 kb,电脑处理起来简直不要太轻松。
然而这些信息一般都需要客户端接收解密以及处理在上传的。如果你能重新写一个客户端达到我说的这种效果,只能做很少的事情,甚至走路都不能走。
但是能让服务器认为这个玩家进入游戏了,而且其它玩家也能看到这个(假人)
再编脚本循环执行登录等操作

就够了!

要什么外挂?
最终的结果是我开了几十个小号,
大号一路看到爽。
比喻成 pubg 就是我一个大号和 99 个小号在一局游戏,然后大号 99 杀吃鸡。这种感觉。

当时别的玩家想要多开一台好电脑最多多开 4 个,而且很卡。然而我一台电脑多开几十个还能愉快的后台看视频,有事没事检查大号出问题了没有。

知乎用户 哲生 发表

中国大概是唯一一个在 top2 电商网站上能明目张胆卖外挂的国家

知乎用户 开水爱青蛙 发表

中国人对外挂的钟爱是有历史渊源的,想当年洋鬼子坚船利炮,我们一部分老祖先,不是想着用枪炮硬刚,而是钟情于神功护体,刀枪不入…… 这不就是外挂的雏形吗?

知乎用户 Antokha Yuuki 发表

上一个 nexon 的 Hackshield 已经被中国人打成筛子了

最简单好用的 VPS,没有之一,注册立得 100 美金
comments powered by Disqus

See Also

揭秘外挂产业链:流水线式生产,主播组队买挂

17年的时候,吃鸡游戏特别火爆,老黑我写过一篇文章。 讲的是当时【脱裤】了一个游戏外挂平台,在后台的交易管理中我发现,该外挂卖家每天的数据流水,基本可以保持在15000元的收入,成交量大概200笔左右。 在月统计中可以看出,仅八月份的总额就 …

中国的外挂已经悄悄“出海”东南亚,甚至卖到了西班牙。。。

现在的中国手游产业无疑处在世界领先的地位,越来越多的手游成功 “ 出海 ” ,风靡国外,除了给 “ 中国制造 ” 长脸了之外,高额的营收也给各个游戏公司的财报添上了精彩的一笔。 随着中国手游远销海外,还有一个 “ 中国制造 ” 的产品成功地 …

为什么中国人喜欢在游戏里开挂?

我玩过的国内外游戏,几乎都能看见过开挂的中国人 因为外挂,毁掉不少游戏,例如PUBG,BattlefieldV,APEX,CSGO 在中国火起来的游戏,就会突然出现一堆开挂的中国人,搞得游戏环境乌烟瘴气,游戏体验极差。~(甚至在游戏里用国语 …

丧尸(持续更新中)

2019年12月6日,第一位感染者出现。以下是某位幸存者从当天14点25分起的微博动态。 14:25 “喂,我同学好像发疯了,他现在正疯狂咬人😱😱【查看图片】。” 14:27 “天,又疯了一个,现在我们正从教学楼撤离,不,是逃跑,大家都陷入 …