假设 VG 选手 Diya 真的使用了外挂,原理应该是什么样子的?

2016-10-04 09:48:13 +08:00
 plqws

关于 APAC 参赛战队 VG 的主力输出选手 Diya 疑似在比赛中多次使用软件或硬件外挂,抛开是否属实,以及联系之前的 CSGO 线下赛事中出现的作弊现象,我们应该如何从技术层面上分析这个外挂的实现原理以及如何避开赛事的公平审查?

15021 次点击
所在节点    Overwatch
37 条回复
loveuqian
2016-10-04 11:27:06 +08:00
我也想要同款自喵鼠标
seeker
2016-10-04 11:58:32 +08:00
鼠标外挂...
我只能说麻瓜的想象力还是有的。
qq316107934
2016-10-04 12:06:55 +08:00
@seeker 参考:badUSB,不要妄下言论.
zonghua
2016-10-04 12:07:08 +08:00
图形识别,程序化处理?机械臂操控的鼠标?之前在 Youtube 看到有人这么玩像素鸟的
RqPS6rhmP3Nyn3Tm
2016-10-04 12:31:45 +08:00
知乎上有分析。据说是模拟闪存盘安装特制驱动,自动压枪、自秒等
silencefent
2016-10-04 12:35:31 +08:00
向弹道偏移方向反向压准星这个是显而易见的
还有,它的这个鼠标相当于一个 u 盘,想放入什么脚本之类的也不是什么难处
并不是正版的 ie3.0 ,而是仿制然后内置了“功能”的复刻 ie3.0
http://www.bilibili.com/video/av6504258/视频地址
t0byxdd
2016-10-04 12:40:50 +08:00
多半是利用什么能自己配置的规则漏洞在机器上装东西了
shenmegui
2016-10-04 12:41:15 +08:00
CSGO 作弊原理简要科普 http://tieba.baidu.com/p/3880867898
http://csgo.tgbus.com/zatan/359208.shtml
从视频来看, Diya 疑似开挂的嫌疑非常高,瞄准方式也很像以前 CSGO 公认作弊,但本人不承认的 flusha shox 。
不过我还是有一点难以理解,我认为要想做到透视就必须要通过读取解析游戏内存才能实现,还有没有其他途径能实现透视?内存挂现在的检出率接近于 100%,所以这些年外挂都在往非内存挂、硬件挂的方向走。
有没有研究过 csgo 硬件挂的大神来解释下?
HannibaI
2016-10-04 12:43:37 +08:00
@seeker 搞前端的对硬件了解得这么透彻了?
mcone
2016-10-04 12:46:11 +08:00
这问题问的真有种弄弄的知乎风格,看到正文就莫名的反感…………

这种硬件挂其实很久了啊,箱子 go 不就有个出名的 flusha 大神么,内裤都被大家扒出来了,嘴还是很硬的。。。。

这东西其实想破很简单,线下比赛统一硬件外设就好了啊(可以提前告知型号便于训练),别的。。真的很难说。线上的话,就更难了,至少透视什么的黑科技,线下是拿不出手的
shenmegui
2016-10-04 12:50:59 +08:00
@mcone VG 俱乐部的回复就已经说了,可以使用举办方提供的同型号硬件,而且还提供了所有队员外设型号。
http://weibo.com/ttarticle/p/show?id=2309404026518316703050#_0
如果后续比赛使用官方提供的外设还能打出这样的枪法和表现,我也只能承认确实 Diya 天赋无敌。
mcone
2016-10-04 13:21:26 +08:00
@shenmegui 这个我昨天也看到了,还专门某宝搜了下“传奇版”这个型号。。。。。这里面似乎水很深,不了解不做评价。但是仅仅从我昨天看 b 站搬运的 3 个视频来说,基本是洗不白了,只能等时间了;如果不是天赋无敌,只能说这是个有灵性的鼠标,可以成仙了……
seeker
2016-10-04 14:45:28 +08:00
@qq316107934 学习了。我现在持怀疑态度,不再认为不可能。
我粗略的(仅仅是粗略,请指正如果不对)了解了下 badusb 从这 2 篇文章: http://null-byte.wonderhowto.com/how-to/make-your-own-bad-usb-0165419/ , http://thehackernews.com/2014/10/badusb-malware-code-released-turn-usb.html
badusb 可以让人 reprogram the microcontroller 。而要做挂,必须知道如何 program 这个 microcontroller 。

下面与楼主讨论问题

我推断的一些前提(如果前提不满足那么我的推断也就全部或者部分不成立,请指出我的错如果有):
1. 挂必须理解守望先锋的内存数据
2. 挂必须有处理这些数据的能力

所以我想如果有挂,可能是下面几种方法之一:
1. 鼠标安装程序到 PC ,这个程序就是挂。这个最简单粗暴也最容易被检查出来
2. 鼠标直接读取 PC 的游戏内存(是否可行?),分析数据,并执行相应鼠标操作(要求鼠标的处理器有足够的运算能力)。这个最隐蔽,最难被检查。
3. 介于 1 、 2 之间的方式。例如鼠标安装挂到 PC ,挂分析内存并把需要执行的操作传送到鼠标(不需要鼠标的处理器有足够的运算能力,但是要有接受数据的能力),鼠标执行具体的操作。

比较彻底解决的方式恐怕只有主办方提供所有硬件,包括键盘鼠标。这个一定程度增加了主办方的预算。或者安装反外挂程序,要额外开发,除非暴雪爸爸支持。

@HannibaI 同学不要妄下结论(与我之前一样),前端是我的业余爱好,我现在大部分时间在用 c++ 做桌面端软件。另外搞前端的也可以懂硬件,虽然我不在行。
yangff
2016-10-04 14:53:54 +08:00
@seeker 比如 DMA Attack , 参考 https://github.com/ufrisk/pcileech

不要乱插 usb 设备,不然怎么死的都不知道……
cheese
2016-10-04 16:26:48 +08:00
不知道怎么检测,不过预防的话还是比较容易的,提前提交外设型号,主办方采购。 LOL 世界锦标赛就是这个形式
HannibaI
2016-10-04 16:57:11 +08:00
@seeker 谢谢你的理性回复。抱歉。
seeker
2016-10-04 17:31:04 +08:00
@yangff 这个厉害了。想象空间很大。
sherlocktheplant
2016-10-04 18:48:57 +08:00
我能想到一个简单的硬件挂原理:

很多 FPS 游戏都需要压枪 一般来说 同一把枪抬头的频率、节奏和速度每次都是一样的 比如说 麦克雷的右键

那么可以自己开发一款鼠标(用常用的单片机都很容易)除了有普通鼠标的功能外 可以设定某个特殊的隐蔽按钮 当按钮激活时 按下鼠标左键或者右键 单片机就会产生自动的压枪的数据包 通过 HID 协议传给主机 从主机端看来 这样的压枪和选手自己手动压枪没有任何区别 软件上没有任何办法检测

如果中途要换人或者换枪怎么办? 很简单 再设计一个隐藏的按钮 可以在几种不同的压枪算法之间切换
shywings
2016-10-04 18:52:23 +08:00
@sherlocktheplant ow 不换枪
sherlocktheplant
2016-10-04 18:55:17 +08:00
这样的硬件挂虽然不像自瞄那么变态 但是在高手对战中 还是有很大帮助的 毕竟人类的操作始终有误差 特别是压枪这种瞬间操作 基本上没有人类可以做到毫无偏差

想象一下 比如对方拿了把 AK 我们都知道 AK 威力很大 但是第三枪之后 会跳得特别厉害 一般只能用 3 发点射来提高命中率 如果有了自动压枪 对方可以直接按住左键不放 一样可以打的很准 这无疑是巨大的优势

但是我能想到这种办法可能出现的问题 就是 虽然枪抬头的频率和速度是固定的 但是弹道本身是随机的 所以即便是自动压枪、准心完全指着对方 也有可能是打不中的 这个问题 这种硬件挂没有办法解决 只能选择弹道比较集中 但是枪抬头特别严重的角色 (比如麦克雷)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX