背景
众所周知,腾讯推出的吃鸡类游戏——刺激战场本意是还原端游PUBG,但是在小手机屏幕上瞄准打人实在是太蛋疼了,对于手残玩家来说落地成盒便成了家常便饭,谁还没有个带妹吃鸡的梦想呢?解决这个问题的正常思路是用模拟器在电脑上玩,但是腾讯为了公平起见,会检测到模拟器并且会给模拟器玩家匹配同样是使用模拟器的玩家,要知道菜鸡是相对的,在手游平台的菜鸡跑到端游平台依旧是菜鸡。虽然网上有不少伪装成手游玩家的方法,但大多都会被检测出来并封号。但我们是有程序员的双手和大脑的菜鸡,所以为了能在电脑端匹配手机玩家虐他们,本篇博客提出一种目前无法被检测到的方法,让身为菜鸡的你也可以带妹吃鸡。
简介
思路就是使用手机投屏工具,再在电脑上模拟电脑屏幕的点击事件,注意一定是模拟电脑屏幕的点击事件,这也就在理论上保证了不可能被手机端检测到。(这里是考虑到直接模拟手机的触摸输入会很容易被检测到,但未查证,若腾讯未做相关的检测的话则可以直接使用adb进行模拟输入,这样对于有安卓经验的会相当方便)。这样一来就可以使用键鼠操作外加大显示屏,用来和手机端的玩家对枪,肯定能打的对面怀疑人生。
环境和依赖
csrcpy
scrcpy是一款开源的手机投屏的工具,相比于win10自带的投屏而言,增加了模拟触屏输入功能,但是不支持音频,而且没有图形化界面。有钱的话可以使用Vysoro pro。
具体的用法和介绍见github
https://github.com/Genymobile/scrcpy
AHK
AHK的全称是AutoHotkey,是一个开源的用在windows上面的脚本语言,功能强大,安装简单,文档齐全,类似于中国的软件按键精灵,但是要干净稳定安全许多,唯一的不足就是全英文。本博客主要是用该语言的模拟鼠标功能。
安装和使用见官网
具体步骤
- 使用scrcpy连接手机
.\scrcpy.exe
- 编写ahk脚本
#MaxHotkeysPerInterval 100
w::
; MouseClickDrag, left, 343, 783, 344, 663
SendEvent {Click 343, 783, down}{click 344, 663 down}
KeyWait, w
SendEvent {click 344, 663 up}
MouseMove, 343, 783
return
a::
; MouseClickDrag, left, 343, 783, 221, 784
SendEvent {Click 343, 783, down}{click 221, 784 down}
KeyWait, a
SendEvent {click 221, 784 down}
MouseMove, 343, 783
return
s::
; MouseClickDrag, left, 343, 783, 344, 905
SendEvent {Click 343, 783, down}{click 344, 905 down}
KeyWait, s
SendEvent {click 344, 905 down}
MouseMove, 343, 783
return
d::
; MouseClickDrag, left, 343, 783, 465, 783
SendEvent {Click 343, 783, down}{click 465, 783 down}
KeyWait, d
SendEvent {click 465, 783 down}
MouseMove, 465, 78re
return
-
启动ahk脚本
-
开始吃鸡
效果展示
界面看起来卡顿是因为录屏的gif压缩后导致的,实际运行中非常流畅,就和手机上操作一样流畅。
但是目前的ahk脚本只将wasd的移动完成了映射,还需要完善一些功能才能真正的吃鸡,但是本实验已经验证了可行性,后面的工作应该不难,留给有兴趣的读者完成。
(由于要考研只能放弃吃鸡。。。。
结语
ahk是个功能强大的脚本语言,需要一段时间的研究才能熟练掌握,本方法主要就是编写大量的ahk脚本来完成键鼠到手机触摸屏的映射,然后通过投屏传给手机,所有的计算、与腾讯的服务器通信等工作都是由手机完成,因此很难察觉用这种方法进行作弊的玩家,要想预防这种方法需要增加app对投屏功能的检测。
——————-Update——————–
发现已经有成熟的软件在这样做了,也是使用投屏和模拟电脑端输入的方法,试了一下体验还行。 tcgames