-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
40c306d
commit 7698186
Showing
1 changed file
with
61 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 1,62 @@ | ||
|
||
## 一、引言 | ||
电子游戏的兴盛不仅为玩家带来了巨大的娱乐享受,也推动了游戏产业的迅猛发展。然而,随着游戏的繁荣,黑灰产业的威胁也不断增加,给整个产业链带来了诸多问题。本文将浅析游戏自动化脚本类型以及应对黑灰产业威胁的防御措施。 | ||
|
||
## 二、游戏自动化脚本的分类 | ||
### 1 基本概念 | ||
游戏自动化脚本是一种利用未经授权的工具,实现游戏作弊效果的技术手段。现如今,游戏脚本的种类繁多,面对这么多的游戏脚本很有必要做一些分类,方便分析和总结这些脚本的技术和特点。 | ||
|
||
### 2 脚本分类 | ||
#### 2.1 内存类: | ||
内存类脚本的操作核心在于读取游戏内的基址、偏移等数据,并通过这些信息找到游戏内的关键数据。通过精准的内存读取,脚本能够实现一些高度自动化的操作,如倍攻、秒图、瞬移等。由于内存读取的参数准确无误,脚本的逻辑设计合理的话,通常能够保持流畅的运行,这种自动化操作在端游领域较受欢迎。 | ||
|
||
#### 2.1 图色脚本: | ||
图色脚本是一种纯脚本,通过找图找色工具来控制鼠标和键盘,实现自动化操作。脚本的精准度受到作者功底的影响,因为找图找色存在一定误差,脚本可能会有一些不准确性,但通常可以解决。在端游时代图色脚本并不常见,但随着手游的兴起,图色脚本在市场上变得越来越受欢迎。 | ||
|
||
#### 2.3 脱机脚本: | ||
脱机脚本是指无需开启游戏客户端或者开启客户端但无需进入游戏地图就能完成自动化操作。这种脚本通过协议交互,返回服务器所需指令,实现对游戏的自动化控制。 | ||
|
||
总体而言,不同类型的脚本在市场上都有其应用场景,但也伴随着游戏产业的发展,相关技术和防御手段也在不断演进。接下来我们重点了解一下在手游领域最受欢迎的图色脚本的基础知识及其防御措施。 | ||
|
||
## 三、图色脚本介绍 | ||
### 1 常用的图色脚本工具 | ||
上文提到,图色脚本是通过找图找色工具来实现自动化操作。它本质上不进入游戏内部,只是在外围通过识别游戏图片、文字等方式来模拟点击,达到获益的目的。市面上有很多现成的工具来辅助快速地编写图色脚本,在了解这些工具之前,先熟悉几个核心概念或要素。 | ||
* 无障碍模式:是Google推出为了帮助残障用户使用Android设备和应用而推出的比较特殊的service。通过无障碍服务,开发者可提供界面增强功能,来协助残障用户或可能暂时无法与设备进行全面互动的用户完成操作。 | ||
* 图色查找/节点(控件)查找:基于节点查找元素,可兼容所有机型,只要元素的对象是安卓原生 app 就行;但是如果元素的对象不是原生安卓,比如 Unity3D 的游戏,那节点查找可能就失效了(如果 UI 控件不支持),那么此时就需要改为“图色查找”,所以最好是两者都有。 | ||
* root:设备是否开启root权限,是移动APP风控策略中最基础的参数,免root是必须的,否则app首次启动的时候,就会进入灰名单,严格监控。 | ||
* 打包:打包指的是脚本可以封装成apk运行,打包的好处在于,一是可以商业化,二是可以脱离PC独立运行。 | ||
|
||
接下来介绍几款热度较高的自动化脚本工具。 | ||
|
||
* Auto.js | ||
|
||
重点:只支持 Android,不支持 iOS;可以将脚本打包成 apk;JavaScript 编写。 | ||
|
||
Auto.js 是一款基于 JavaScript 编写的安卓自动化脚本引擎,它提供了一系列 API 接口,可以方便地实现屏幕点击、滑动、输入、截图、音量控制等操作。使用它可以快速地完成一些重复性、繁琐的任务,例如刷微信步数、自动签到、抢红包等。 | ||
|
||
可以直接在手机上运行脚本,无需连接 PC,无需 root 权限的 JavaScript 自动化软件。 | ||
|
||
由于原作者不再维护 Auto.js 项目,目前常见的两个分支:AutoX.js 和 Auto.js Pro 。 | ||
|
||
因为多用在黑灰产,被某些资本警告,导致该工具无法对某些应用进行操作 ( 例如:微信、支付宝、抖音 等 )。4.1 版本是免费版的最后一个版本,可以在所有 app 上进行操作。 | ||
|
||
AutoX.js 是在 Auto.js 4.1.1 版本基础上 fork 而来,可操作所有软件,并拥有大量 autojs pro 的功能; | ||
|
||
Auto.js Pro 是原作者在 autojs 上提供了一个付费的工具,拥有更强大的功能,但是同样无法操作某些软件; | ||
|
||
![image](https://github.com/fupengfei058/blog/assets/24430034/a13bcdd0-bebc-473d-a391-4bd0220adcd4) | ||
|
||
* EasyClick | ||
|
||
重点:支持 Android、iOS,iOS 无需越狱也能运行;适合游戏自动化、办公自动化、自动化测试等;Java 或 JavaScript 编写,也支持混写。 | ||
|
||
EasyClick 是一个基于 Xposed 框架的安卓自动化工具,它可以帮助用户实现一些简单的自动化操作,例如屏幕上的点击、滑动等。相比 Auto.js,EasyClick 的学习曲线更低,适合初学者使用。 | ||
|
||
* Ctrl.js | ||
|
||
重点:只支持 Android,不支持 iOS;可以将脚本打包成 apk;JavaScript 编写。 | ||
|
||
Ctrl.js 是基于 js 语法规则的自动化控制编程语言。Ctrl.js 支持 web 可视化编程,控件可自由组合拖拽,只需少量 js 代码即可一键生成安卓程序(APK)。Ctrl.js 自带IDE 在线编辑工具,是集编程、打包、云控为一体的语言平台,进入“在线开发环境”即可一栈完成。 | ||
|
||
### 2 如何利用autoX.js编写自动化脚本 | ||
|