前言:
这几天我一直在研究我平台的反作弊系统,仍然很容易检测到常见的杂项内存错误。 但有一些“特殊”的bug仍然存在一些问题。 这些特殊错误包括但不限于修改显卡驱动程序、DMA 硬件作弊、“鼠标挂起”。 今天我就简单的讲解一下如何给鼠标安装插件。 当然,有人可能会说是否有人会按照葫芦来做。 别担心,我的结论是。 就目前国内外挂机市场环境来看,DMA硬件作弊已经应用在吃鸡身上了,但是真正的鼠标挂机还是【不行】,因为给你资料你就做不出来:-)能做出来的是最好的Boss中的最好的。 至于为什么,我们稍后再说。
本文来自国外,本人原创翻译及注释
您在阅读时必须遵守以下协议。 否则,请 Alt+F4
拒绝转载。 拒绝传播。 粉丝们看看就好,不要公开。 树吸引风。 恐怕会变成“B站某UP教人挂机”,被带入节奏
我惹不起某个年薪几百万的反作弊工程师和某酒吧的一些正义之子。
一些历史:
1958 - 第一个“视频”游戏诞生
1972年——举办第一届“游戏”比赛
1906年代——诞生【真正的“电子竞技”游戏】
(PS:如果你正在运行一些盗版游戏比如盗版文明VI《盗版在线版》,你的steam会显示你正在运行,因为这款游戏被很多盗版破解补丁当做是骗Steam进入网游的游戏当然,其他游戏也可以,但是盗版开发商,包括Valve,对这个游戏感情很深,所以盗版开发商就用这个,Valve视而不见)
2016年比赛规模:
比赛队伍来自世界各地
超过2000万人赞助,奖金超过1900万
超过17000人现场观看
500万人在线观看(国内直播平台一半以上)
阻止作弊的手段
互联网连接有限
该玩家没有管理员帐户
预装硬件驱动程序和鼠标驱动程序
不支持除键盘和鼠标以外的 USB 端口
专业锦标赛级反作弊系统™
好像不能作弊吧?
但您可以带上键盘和鼠标!
游戏鼠标
一些鼠标参数:
○ ARM
○ 意法通
● 128KB闪存
○ 用户 - 保存您的 dpi!
● 很多
● RGB LED
我们可以劫持鼠标中的单片机:
大概流程:
1.修改代码为USB键盘
2.发送一些按键消息到电脑(模拟你的键盘操作)
4、发送“拔掉”键盘和鼠标的代码,让电脑重新执行鼠标的初始化代码
这些方法不会对鼠标的硬件造成明显的改变
ETC。
这不是 USB 坏了吗?
BAD USB,坏鸭子,只是一个硬件。 插入硬件后和平外挂,计算机会根据硬件的指令执行相应的操作。 比如你说你是一个U盘,你想让电脑安装驱动,你是一个键盘,你想要发送一些键盘消息。 无论代码是否恶意,都会相应地执行。
制作坏鸭子需要准备的东西
1. 开发板
2.初始开发板板载ARM M4
3. 有外部编程接口,可对鼠标进行编程
软件(这些都是免费的)
●STM32 ST-Link
● 用于STM32
●
●(对于ARM)
独立芯片
检查文档
我们需要连接芯片进行编程
无法通过USB访问芯片
实时调频!
ST-Link的接口是用pin(脚架)连接的
PA13(JTCK/SWCLK/PA14)
PA14(JTMS/SWDIO/PA13)
接地
别傻了
我正在尝试直接焊接到处理器的引脚......
使用老化的烙铁
天冷了,针断了
然后我回头发现有GND、TCK、TMS接口....
GND、TCK、TMS 接口
好多了
STM32 和 ST-Link 接口
拔掉CN2的跳线,断开开发板处理器与ST-Link链路的连接
ST-Link → 目标
SWD 引脚 2 → TCK
SWD 引脚 3 → GND
SWD 引脚 4 → TMS
开发板:
ST-LINK 链路上的跳线
连接的:
断开CN2跳线进行外部编程
通过 ST-LINK 连接到微控制器。
不能随意更改,否则鼠标会坏掉
要做的事情:
1.提取原始鼠标二进制文件
2.构建一个注册为键盘的应用程序
3.找到鼠标二进制文件中的空白处插入我们的程序
准备一个插上鼠标
这一步其实和坏鸭子是一样的
插入鼠标后:
打开笔记本
创建一个新脚本
在后台执行此脚本
解压码
执行后删除脚本
将之前解压的代码保存到%temp%/word.exe
关闭笔记本电脑
执行word.exe
这堆代码该放在哪里呢?
先dump然后分析鼠标的代码:
比如我的鼠标在这个位置执行flash内存,从这里开始dump
-b -marm ---vma= -D -C --thumb .bin > .txt
看起来我们之间有足够的空间。
我们可以将代码设置为(因此它位于 2K 边界上)。
在自定义位置执行应用程序
STMIC的默认链接器是链接到内存
但我们的代码是在
需要改变他的执行位置,以便他可以执行我们的代码
要编辑这两个:
.ld
。C
【.ld】
【。C】
ARM启动流程
里面有这些东西:
RAM 中的堆栈指针:
Flash 中的入口点:
启动时,引导加载程序设置堆栈指针,然后运行到 + 0x04
我们如何执行插入的代码?
当然是通过修改东西!
让鼠标运行我们的程序:
我们需要知道我们的代码入口点在哪里:
-b -marm ---vma= -D -C --thumb .bin > .txt
发现入口点位于
最后当然是修改0x00和0x04的值作为我们程序的入口点,完成鼠标dump文件中的代码注入
未修改的值:
修改的:
插入代码:
使用您的十六进制修改工具:
跳转到我们之前的位置
将整个 HACK.BIN(带有我们的恶意代码的东西)文件内容粘贴到 .Bin(我们要为鼠标重写的文件)中。
复制和粘贴
现在我们应该能够执行我们的一堆恶意代码和平精英外挂,但是鼠标会失去作用,我们需要修复它
写一堆汇编的东西,存放在数据的末尾
功能:
按照下图分支流程执行代码
跳到鼠标自己的代码:
在汇编中存储数据:
找到我们的牛肉:
这样就不会有问题了。 保存并写入鼠标。 鼠标可以执行你挂起的代码(word.exe)
一些问题:
1.你tm说了这么多,那挂码呢???
其实这只是教你如何将代码放入鼠标中,而是如何编写并通过
职业游戏级别的反作弊™是一个严重的问题。 职业游戏层面的反作弊™是最后一道防线,也是最严密的一道防线(不包括国内平台)。 一般来说,应该是大牌里面的高手来竞争。当然,能搞单片,搞这种对抗的,即使不搞勾搭,年薪也应该有几百万。 如果他们把卖勾当当成一种职业的话,收费肯定会很高。
2. 如何发现如此恐怖的作弊手段?
不要给玩家带来自己的硬件,只需购买完全相同的硬件即可。 当然也不排除steam下地图作弊的情况
3.我不知道该怎么办
很正常和平外挂,里面很多东西我都不太了解,毕竟我自己没做过太多硬件(顶多用坏usb黑过电脑)。 我现在不明白,但以后我会明白
4.你怎么知道这么多事情
原因很简单,我只相信技术,学习更多技术是我唯一的目标