产品优势

一、无法被破解

1.回顾历史

​ 作者之前一直都是使用auto.js的,曾经有一段非常恼火的经历:用auto.js写了一个游戏辅助,花了将近半年的时间去维护、更新,当时我还建立了一个QQ群,群里都是使用我的游戏辅助的人,直到有一天,群里有个铁粉告诉我有人搬运我的软件,甚至连QQ群都抄袭我的,Q群管家的消息回复什么的都抄袭我的,后来我才知道这人不知道啥时候把我脚本源码掏出来了,我当时就破防了,他丫的!!

​ 自从那一次开始,我就开始对auto.js产生了厌恶,不是软件不好,而是这软件开源,导致的最大的问题就是没有安全性可言,当时流行了一大堆的加密软件,同时也有一大堆一键解密的软件。哎,反正用auto.js的时候,还是需要跟别人斗智斗勇,我那个时候才刚开始了解脚本,也算是个小白,那些王八蛋也算是给我上了一课吧。

​ 后来auto.js停服,我当时还在市面上火急火燎的找替代品,国内的自动化软件其实很多,但是那些UI我真的看不下去,太丑了,找了很多平台,要么就是入手太难了,要么就是只支持电脑端开发,几乎没有比auto.js好看又方便的软件了。

​ 从2024年11月开始,我决定我要自己编写一个开发工具,不仅要超越auto.js,最重要的就是保证安全。于是,我开始规划开发,整个开发过程都采用逆向思维,并且不定期我会自己尝试破解自己的软件,尝试破解自己的脚本,直到我无法破解为止。因此:像什么算法助手、MT管理器、黄鸟之类的软件拿AIGame一点办法没有。

​ 不过,我的技术实力有限,毕竟逆向这种东西,人外有人,那么我为什么敢说我的软件无法被破解呢?其实我这么说不太严谨,我应该说:AIGame打包后的脚本无法被人还原出来!!!!

2.无法还原

​ 接下来我就告诉你为什么无法被还原?其实脚本引擎在执行代码之前,必须要先解密成脚本引擎能够读懂的代码才行,要想让机器懂,不让人懂,最直接的方法就是自己实现脚本引擎,于是我花了一个月的时间重新编写出了混淆引擎,这个引擎只能执行混淆码(由源码转换得来的),对于混淆引擎而言,混淆码就是源码。

​ 所以啊,防止hook的最好办法不是防止hook,而是想办法让别人hook到的东西是坨垃圾。因为hook本身没办法防止,别人总有办法hook你。

​ 刚刚聊的是本地运行的情况,AIGame最重要的地方在于:它需要联网才能执行!很多人最开始接触这个平台,觉得联网很麻烦,果然,只有懂行的人才能看出门道。如果软件不联网,那么它就没有安全性可言。说到这里肯定有些杠精要出来抬杠:“那不是可以抓包吗?”,这种人可能就是认为:只要能抓包,就一定能破解,纯属放屁!

​ 这个世界上最安全的方式就是:混合开发+云服务器,这也就是AIGame采取的方式,我不知道有没有人逆向过AIGame的?如果你尝试过抓包,你会发现,你需要解密,如果你解密出来了,你会发现json的字段居然是混淆的,于是你又要硬着头皮去看apk中的二进制,分析出加密算法,分析出混淆字段的意思,可是当你打开apk的时候,你发现它还是混淆的......

3.总结一下

  1. 高仿HTTPS传输协议、请求json字段混淆、多层加密、防抓包

  2. 高仿JSVMP技术、字段混淆、字符串加密、函数名称加密、防HOOK

二、功能丰富简洁

​ 其实软件最开始也只是给我自己自用的,没想到后来的需求这么大,于是在2025年4月发布了第一个测试版本。正是因为软件最开始是自己用,加上我这个人比较懒,于是api简洁、功能丰富的特点就展现出来了。

1.文件选择

​ 一行代码就能调出一个文件选择器,专门用来选择文件的,支持单选、多选、文件、目录,支持后缀名过滤。

2.全局绘制

​ 最主要就是在屏幕上绘制日志、线条、矩阵、圆圈、准心的,本质上基于悬浮窗来实现。

3.悬浮菜单

​ 几行代码就能实现一个悬浮菜单按钮,支持展开收回动画、支持自动贴边动画、自动监听屏幕旋转、支持自定义按钮样式、你能想到的细节,我都搞定了。

4.API方便

​ AIGame的API简直方便到爆了,如果你还没用过,我就简单举几个例子吧:

【1】$act - 手势动作

​ 在$act手势动作里面,集成了$szk(Shizuku)、$root、无障碍等多种手势方案,只需用$act调用一个手势,自动匹配合适的触摸方案。

【2】$ocr - 文字识别

​ 在$ocr文字识别中,集成了PaddleOcr、PPOCRV5、GoogleMlkit等识别方案,只需要通过$ocr.v("mlkit");来指定识别引擎即可切换识别方案,不需要像其他平台那样一个识别引擎就要对应一套写法。

【3】$yolo - 目标检测

​ yolo支持v5、6、7、8、9、10、11、12 。只需要通过$yolo.v(8);即可切换到yolov8来进行目标检测了,不需要一个版本就写一套代码。

上面举的例子也只是冰山一角,具体的细节还需要你自己去体会。

三、并发编程支持

​ 由于我之前用的就是auto.js,它最大的问题就是不支持并发编程,虽然它确实支持多线程,但是其api不能并发,例如:我有两条线程,这两条线程都需要使用截屏函数,这种情况下,auto.js就会出大问题,比较经典的问题就是:截屏还没有被使用,就被另一条线程回收释放掉了。

​ 在AIGame里面,我很看重脚本的并发,我允许多条线程使用图色,并且截屏之间独立,不会出现互相回收的情况,并且本身又自带回收机制,保证脚本无限运行下去。

​ 不仅是图色、节点也支持多线程。

四、最终我说两句

​ Auto.js很好,它是前辈,也是带领我走进脚本行业的领头羊,但由于本身存在一些不可控的问题,我决定慢慢离开它,现在,我也终于可以不再依赖Auto.js了,希望AIGame会越来越好。