此文转载自微信公众号:差评(ID:chaping321)喜欢就关注下咯!
吃鸡也要讲基本法
不然小心被坑
一些网友们应该听说过最近很火热的游戏: “ 吃鸡 ”。
先给平时不太关注游戏的差友们介绍一下这款游戏
官方名称是 PlayerUnknown's Battlegrounds, 译名 绝地求生:大逃杀
这款游戏的玩法特别有意思:
一大堆玩家被空降到一个岛上,然后大家利用岛上找到的武器来互相伤害,直到剩下最后一个人(或者一支小队)。
这个游戏有个安全区的概念,呆在安全区外的人会受到伤害直到被淘汰,这个机制是为了在玩家数量变少之后加快游戏节奏。
它被叫做吃鸡的原因是因为最终赢家的屏幕上会显示 “ winner winner, chicken dinner "
这句话的中文翻译不得不说翻得极棒!
很多人为了看到这一幕觉都不睡
说完了吃鸡,该说到最近一件游戏直播圈挺火的事情了。。。
相信不少差友们应该早就听说过了:黄旭东怼上了斗鱼吃鸡主播魔音糯米,说他开外挂!
原因是在一些帖子里有人认为主播糯米做出的一些操作非常反人类。。。
↓ 引起争议的操作片段 ↓
这把枪的后坐力不小,需要很高的压枪技巧才能达到这种效果,还有就是,这枪是半自动的,每发一枪都要点一下鼠标,这位大神在 2 秒内打了17 发,而且枪枪压准心压得贼好。。。
说实话,我自己玩儿大逃杀的时候只能给别人当鸡饲料,作为一个菜鸡,实在是分辨不了这段操作到底是高手超神还是用了外挂。
所以,咱们今天主要讲讲外挂~
曾经某一款魔兽外挂
相信玩网游的差友们应该知道外挂是干啥的:打游戏的作弊器。
游戏就是一个程序,游戏里发生的事情本质上是一些数据的计算和交换,那么你想要在游戏里作弊,就是要对这些数据做出修改,修改数据的工具就是所谓外挂。
对于单机游戏,这一步其实不算太难,因为游戏数据肯定以某种方式储存在本地,所以想办法修改文件就可以做到。
其实还好,单机游戏你再怎么作弊,也只影响你一个人的游戏体验,所以没什么人在意。
但是,网络游戏就不一样了,因为大家都在玩儿,你要是随便改会对别人的游戏体验产生影响(一般是负面的),尤其是竞技游戏,核心点 公平 被破坏了,还怎么保持竞技性。
大部分网游的数据都储存在服务器中,玩家的操作通过网络传到服务器,服务器处理后再传回客户端,这个过程中没有本地数据可以修改,因此开发网游外挂要难不少。
怎么获取数据呢?
网游服务器和客户端之间会互相传递数据包,直接截取数据包不就完了?
↓↓↓
然而这种方法其实比想象的难,因为数据包都是加密的啊!
另一种方法是在计算机进程里找正在运行的游戏,游戏运行时会在电脑里进行一些数据的处理,外挂制作者可以通过逆向思维检验汇编代码来理解这些数据的计算机制,然后通过不断的测试来发现这些数据在游戏里代表的意义,最终写出外挂来完成修改。
还有一种最简单的外挂,不用这么麻烦,只是写个脚本模拟输入信号(比如鼠标点击的信号),这种外挂一般只能起一些辅助作用例如简化操作,开发难度也相对低。
脚本外挂
无论如何,这些能做外挂的其实都挺厉害的,干着这样高难度的活儿也难怪他们收这么多钱,还要与时俱进,跟上一次次游戏的版本更新来更新他们的外挂。
在外挂的世界中,射击游戏的外挂一直都层出不穷。
CS:GO 的透视外挂
射击游戏因为操作量大,需要大量的计算,而每一次计算都要在服务器和客户端之间传送一次数据就太慢了,满足不了这类游戏普遍较快的节奏。
打个比方,想象一个场景:你在游戏里一边移动着人物,一边移动着镜头,这时候跳出来个人你眼疾手快突突突把他打死了。
这个过程中咱们来看看有多少数据交换:
你按键移动的信号给服务器->服务器计算数据移动了你人物位置->传到你这里画面显示你移动了。
鼠标移动同上,只不过你移动的只有镜头
对面的人出现在你面前也有类似同上的过程
你开枪->服务器(计算一个伤害数据)->传给被你突的人,血量被扣到0->服务器(判定死亡)->被你突的人倒下->服务器->你看到那个人倒下
然后还给所有人更新一下击杀数据
而且根本没写全!实际上远比上面的多(例如判定弹道有没有击中)
也许计算机的 CPU 运算速度快到你感觉不到,但是这个网络的延迟就比较慢了(一般是毫秒级别的),来回这么多次,加起来就可能有几秒钟,这就没法玩儿了,分分钟卡死你!
所以射击游戏有大量数据运算是在本地完成的,把计算结果整合一下送到服务器做一些判定。
在上面的突突突场景中,减少网络通信步骤以后可以这样:
你开枪突突突,本地计算你打中了对面少了多少血->服务器->对面扣到0,判定死亡->服务器->你看到他死了
搞定!
为了让本地能多做计算,很多信息会实时存在本地,比如说对手的位置,而外挂会通过某种方式获取这些信息,调整你的准心,让你跟着瞄准。
说来说去,是不是觉得外挂是由一些酷酷的极客们为了挣外快做出来的高科技玩意儿?
事实上,正如大部分灰色产业一样,这水深得很。。。
老朋友振宇(公众号:一本黑,ID:darkinsider)也挺关注最近的吃鸡外挂事件,所以他这次也决定搞个事儿。
他想办法摸到了一些QQ群,加了进去打算观察观察。
收集到的QQ群共享的文件,多半是外挂
透视自瞄外挂Demo
收费外挂多半需要卡密(激活码)来解锁使用,这也是他们的卖钱方式。
振宇兄决定先用一个专业黑客的最基本方法:社会工程(就是忽悠),以测试为由向其中一个群主问出一个卡密来。
然后振宇按照群主提供的方法,先打开这个文件
然后把图中红框内的东西改成群主提供的卡密,才能试用。
振宇兄那边的黑客老司机通过脱壳、逆向出伪代码后,并没有发现这程序与后台有交互的信息,拿到的东西都是些不痛不痒的数据,价值不是很大,场面一度十分尴尬。。。
与此同时,群主有点急了,振宇兄只能随便编个理由糊弄过去。
这次破解看来不太成功。。。
老规矩,想办法找到这个黑产卖家的订单、售卖金额、数据流水等信息。
黑客老师傅通过自己多年的社工经验,经过邮箱反查等操作,找到了该曹姓商家的账户名,电话、以及名下的域名等信息。
但是在尝试了多种方法后,不管是源码分析,还是数据包分析,始终还是不能进入后台数据库。
后来换了个思路,直接破解这哥们账号的密码!
跑了小半天密码本之后,还是一无所获。。。
老司机抱着试试看的态度,选择了密保问题改密码。
售卖外挂的商家设置了两个名为 “ 321 ” 的密保问题,只要回答上这两个密保问题,就可以对密码就行修改。
老师傅试了5次就成功了!
所以说弱密码真的很可怕,专业老司机渗透一天不如猜 5 次密码。。。
账户登录成功
账户余额、今日收入、今日成交、今日利润一目了然
在我们进入该商家后台的半小时内就有近十人下单并成功付款。
看了一眼商家信息,小伙子姓曹,96年的,年纪轻轻就日入过万
(其实这个信息可能是买来注册的,不一定是本人)
下面,重要的东西来了!这人卖的基本都是假货!
买家们很显然是被坑惨了。。。
在我看来,他们不光是为自己的大意买单,更像是为游戏中的虚荣心买单。
上面的只是骗个钱而已,还有其他卖假外挂的骗子发硬盘逻辑锁玩儿敲诈的。。。
这些无良商家利用了人打游戏时候的失衡心态来获取暴利。
如果人们玩游戏不要这么功利,也不要扭曲自己的求胜欲,放好心态享受游戏,也不会被这些人钻了空子。
生活本身就不太公平,每个人都看不起那些到处钻空子创造不公平的人,于是有一些厉害的人创造了游戏,给大家提供了一个相对公平的环境让大家找到快乐。
现在,你去使用外挂,不就成为了自己看不起的那些人了吗?
作为一个理智的人,我一般都直接卸载游戏~
此文转载自微信公众号:差评(ID:chaping321)喜欢就关注下咯!
●本文编号440,以后想阅读这篇文章直接输入440即可
●输入m获取到文章目录
Linux学习
更多推荐《18个技术类公众微信》
涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维