各位游戏大佬大家好,今天小编为大家分享关于最新gg修改器直装辅助脚本_gg修改器开脚本的内容,轻松修改游戏数据,赶快来一起来看看吧。
先交代下背景,就是疫情期间,随便玩了一款游戏,玩了后发现,游戏任务太繁重了,为了兼顾学习和游戏,所以就萌生了自己动手开发手游辅助外挂的想法,调研了几个手机自动化测试平台最后选中了uiautomator2,然后有了这边文章 《uiautomator2介绍及环境搭建》 以及文章《uiautomator2一分钟实现辅助外挂》
如果仔细读过第二篇文章的朋友就会发现,前面说的外挂就是 定时任务+ 模拟用户点击,如果碰上复杂点场景,就完全无法适应了,比如下面几种
Boss有刷新又时间间隔,然后区分“野外”,”秘境“,”神谕“,每个刷新时间都不同,那么这个辅助脚本怎么写呢,轮训点击肯定不现实,无法快人一步抢先刷到怪,怎么解决呢? 当然是如标题写的 那样,通过阅读这篇博文,大家会了解到这些知识
要实现按时去刷怪,那么肯定需要上图红色框中那个刷新时间,这个文字又无法通过简单的通过控件去识别,那么就只能通过图片去实现了,我这里的思路是用网上开源的OCR文字识别库识别出时间,到这里又不得不赞叹python扩展能力真是强大,关键是拓展起来超级easy,不愧是“胶水语言”。好了,长话短说,文件OCR识别,我这里用的是tesseract,下面会介绍 tesseract 的安装简单使用。继续我们刚刚的分解,假设可以通过图片进行文字识别,那么要实现一个定时抢怪任务,我们需要的工作如下:
1、模拟点击到刷怪页面,并进行截图
2、截图到的图片做裁剪(主要是过滤其他文字识别干扰)
3、对裁剪到的图片做 灰度处理(比如彩色变黑白),然后二值化、降噪等一系列操作,主要是去除背景和一些其他的干扰。
4、识别到的数字转化为秒,然后建立定时任务
5、定时启动抢怪任务,截图每个步骤图片,拼接成一张图,供人工查下结果。
6、截重复前面5个步骤实现自动刷挂打装备
好了,下面我们一步步来实现这个效果。
如果要使用Tesseract库,首先需要安装它到你的机器上。
macOS用户,我们使用Homebrew 去安装Tesseract:
$ brew install tesseract
1
当然有时候Homebrew 可能更新导致卡住,最简单的办法是在 .bash_profile 文件中新增一行,暂时关闭更新
export HOMEBREW_NO_AUTO_UPDATE=true
1
安装完成后 tesseract -v 查看是否安装完成
可以通过命令测试一把
比如下面一张图片
我们通过命令 tesseract /Users/bifeng/222222.png stdout digits
可以看出一下子就把数字识别出来了,这里识别得是数字,如果是中文则需要改为
tesseract /Users/bifeng/3333.jpg stdout -l chi_sim
-l 后面得参数代表识别得语言 chi_sim 代表是中文简体。
当然中文简体字体是需要额外去下载字库得,
去往https:///tesseract-ocr/tessdata下载中文数据集chi_sim.traineddata,把它放到这目录下:
/usr/local/Cellar/tesseract/对应版本/tessdata/目录下即可
更多Tesseract的介绍可以访问GitHub 这里就不做过多发散了
其实在很多场景中,都会有验证码环境,一般我们都是用 python + Tesseract来识别验证码,这里我们用来识别手游上倒计时也是“适得其用” 来,使用方式如下,首先安装扩展库
a、pip install pytesseract 用于python操作pytesseract
b、对要识别的图片做降噪,简单的说就是对图片做简单处理,如裁剪指定区域,过滤其他文字的干扰,做灰度化、二值化等一些操作,提供文字识别的准确性,具体代码可以参见如下
#!/usr/bin/python
#############################
# #encoding=utf-8
# bifeng 2020.03.23
# python tesseract 文字识别工具类
###############################
import pytesseract
from PIL import Image
class TesseractUtils(object):
@staticmethod
def imgae_to_str(image):
# 处理成黑白图
image_gray = image.convert("L")
# image_gray.show()
# 进一步增强,使用二值化处理
image_two = image_gray.point(lambda x: 255 if x > 129 else 0)
#image_two.show()
# content = pytesseract.jpg_to_string(image) # 解析图片
content = pytesseract.jpg_to_string(image_two, lang=’chi_sim’)
print(content)
return content
@staticmethod
def crop_image_to_str(image, left, top, right, bottom):
’’’识别图片部分区域位置’’’
box = (left, top, right, bottom)
crop_img = image.crop(box)
# crop_img.show()
image_gray = crop_img.convert("L")
# image_gray.show()
# 进一步增强,使用二值化处理
image_two = image_gray.point(lambda x: 255 if x > 129 else 0)
#image_two.show()
content = pytesseract.jpg_to_string(image_two)
#识别中文
# content = pytesseract.jpg_to_string(crop_img, lang=’chi_sim’)
print(content)
return content
12345678910111213141516171819202122232425262728293031323334353637
使用方法,通过通过调用api,可以识别指定区域图片如:
TesseractUtils.crop_image_to_str(crop_img, 767, 289, 915, 334)
1
这里 767, 289, 915, 334 分别代表图片区域 left, top, right, bottom 坐标如下面一张图片
767, 289, 915, 334 刚好代表红色框框区域,运行后我们可以得到
00:12:30 这样一个时间 ,
转换我们把它转化为秒
def timeStr2s(t):
’’’xx:xx:xx转换为秒’’’
if t is None:
return 10000
time = 10000
try:
h, m, s = t.strip().split(":")
time = int(h) * 3600 + int(m) * 60 + int(s)
except:
print("格式不对 : " + t)
return time
1234567891011
然后在建立定时任务
fristJob = TesseractUtils.crop_image_to_str(ywImg, 767, 289, 915, 334)
currSec = time.time()+ StringUtils.timeStr2s(fristJob)
tiemstr = time.strftime("%H:%M:%S", time.localtime(currSec))
LogEx.d("excuteJobList in " + tiemstr)
schedule.every().day.at(tiemstr).do(excuteJobList)
12345
这样一个定时刷挂任务就完成了,剩下的基本就是封装刷挂,执行刷改,这里我是这么封装的
#!/usr/bin/python
# #encoding=utf-8
# bifeng 2020.03.23
# 单步执行路径
###########################
class CaseInfo(object):
def __init__(self):
# 用例名称
self.name = ’’
# 模拟执行列表
self.clicklist = []
# 单步执行休眠时间
self.sleepTime = 2
# 图片裁取区域
self.cropBox = []
# 执行列表单步重复项
self.innerRepeatIndex = 2
# 默认循环次数
self.innerRepeatCount = 20
# 用例延迟多少秒后执行
self.excuteDelayTime = 30
123456789101112131415161718192021
name 代表名字
clicklist 代表执行路径,比如一次野外任务,他有很多点,那么他的路径就是如下:
case_table = {
’yewai0’: [
# Boss坐标
(1028, 1321),
# 野外
(329, 1665),
# 第1个boss 885,406
(885, 406),
# 返回
(1009, 1831),
]}
1234567891011
self.innerRepeatCount = 20 代表,boss 挑战按钮 (885, 406), 这个我会循环执行很多变,保证我第一个按下,从而完成刷改功能,封装好后,刷挂的代码就很简单了
def excuteJobList():
LogEx.v("----------excuteJobList start---------------------")
# global runner
runner = LegendRunner(adbConnectIp)
caseItem = caseList.pop()
LogEx.v("case list size = " + str(len(caseList)))
clickList = caseItem.getClickList()
LogEx.v("excute job " + caseItem.toString())
for index in range(0, len(clickList)):
LogEx.d("click : " + str(clickList[index][0]) + " " + str(clickList[index][1]))
runner.click(clickList[index][0], clickList[index][1])
if index == caseItem.getInnerRepeatIndex():
caseItem.setRepeatCount(90)
for i in range(0, caseItem.getRepeatCount()):
LogEx.d("click : " + str(i) + " " + str(clickList[index][0]) + " " + str(clickList[index][1]))
runner.click(clickList[index][0], clickList[index][1], 0)
time.sleep(0.4)
elif index == len(clickList) - 1:
timestamp = time.strftime("%H:%M:%S", time.localtime(time.time()))
LogEx.d("--sleep 80 s---------: " + timestamp)
runner.d.screenshot(os.getcwd() + "/image/" + timestamp + ".png")
time.sleep(80)
currSec = time.time() + 3
tiemstr = time.strftime("%H:%M:%S", time.localtime(currSec))
schedule.every().day.at(tiemstr).do(scheduleNextJob)
LogEx.v("----------excuteJobList end---------------------")
123456789101112131415161718192021222324252627
我只需要 for index in range(0, len(clickList)): 循环执行这个clicklist 就行了,然后在每个步骤下截图一张,任务完成后把所有的图片拼接成一张图(如何拼接见文章《Python工具类之PIL.Image库快速实现多图拼接》)
执行完一个刷改任务,最后我们有建立下一个刷改任务
def scheduleNextJob():
LogEx.v("----------scheduleNextJob start---------------------")
global runner
# runner = LegendRunner(adbConnectIp)
# 获取最近的boss定时任务
caseItem = runner.getRecentlyBossTask()
# 加入到任务列表
caseList.append(caseItem)
# 延时
currSec = time.time() + caseItem.getExcuteDelayTime() - 50
if currSec < time.time():
currSec = time.time() + 1
tiemstr = time.strftime("%H:%M:%S", time.localtime(currSec))
LogEx.d("excuteJobList in " + tiemstr)
schedule.every().day.at(tiemstr).do(excuteJobList)
LogEx.v("----------scheduleNextJob end---------------------")
12345678910111213141516
扫码到最近boss任务-》定时执行-》 执行完继续扫码下一个最近boss任务,这样一直循环下去,就完成了一个简单的自动定时刷怪任务。
看下最终效果
刷怪过程中我们做了每个步骤的截图,我们看下一次刷怪的效果截图
这样我们的脚本就开发完成了,剩下的只需要开启脚本,喝上一杯茶,等上一段时候回来收获刷怪掉落的神装就可以了,是不是很爽.
以上就是关于最新gg修改器直装辅助脚本_gg修改器开脚本的全部内容,游戏大佬们学会了吗?
怎样无root用gg修改器_怎样无root运行gg修改器 分类:免root版 1,472人在玩 各位游戏大佬大家好,今天小编为大家分享关于怎样无root用gg修改器_怎样无root运行gg修改器的内容,轻松修改游戏数据,赶快来一起来看看吧。 之前出过动态域名解析做穿透,但是这……
下载gg修改器安卓root_gg修改器.apk 分类:免root版 1,130人在玩 各位游戏大佬大家好,今天小编为大家分享关于gg修改器安卓root_gg修改器.apk的内容,轻松修改游戏数据,赶快来一起来看看吧。 手机Root一直是机圈里极客的家常便饭,而随着手机Root……
下载王者荣耀修改器刷点券万能版,王者荣耀无限刷点卷器免费 分类:免root版 2,591人在玩 王者荣耀修改器刷点券万能版是一款王者荣耀无限刷点卷器免费不花钱的神器,万能的王者荣耀修改器目前还是比较少的,今天小编为大家带来在这款工具就是为数不多的刷点卷软件万能版……
下载八门神gg修改器免root_八门修改器怎么用 分类:免root版 1,689人在玩 各位游戏大佬大家好,今天小编为大家分享关于八门神gg修改器免root_八门修改器怎么用的内容,轻松修改游戏数据,赶快来一起来看看吧。 最近《刺激战场》整治外挂以及模拟器现象……
下载用gg修改器手机要不要root 分类:免root版 1,843人在玩 各位游戏大佬大家好,今天小编为大家分享关于用gg修改器手机要不要root的内容,轻松修改游戏数据,赶快来一起来看看吧。 资料图 手机root后会被各种病毒软件入侵,比如朋友给你发……
下载gg修改器可以免root啦_gg修改器免Root 分类:免root版 1,244人在玩 各位游戏大佬大家好,今天小编为大家分享关于gg修改器可以免root啦_gg修改器免Root的内容,轻松修改游戏数据,赶快来一起来看看吧。 雪虹 03-11 《天地道》是一款全新自由战斗RPG仙……
下载gg修改器免root版下载大全,GG修改器免root版下载大全打造您极致的游戏体验 分类:免root版 192人在玩 GG修改器是一款非常实用的手机游戏修改工具,可以帮助玩家在游戏中获得更多的金钱、经验等资源,从而让您轻松过关。但是,在使用传统的GG修改器时,需要对手机进行Root授权,这对于……
下载光遇gg修改器无root版_gg修改器修改光遇需要root吗 分类:免root版 1,164人在玩 各位游戏大佬大家好,今天小编为大家分享关于光遇gg修改器无root版_gg修改器修改光遇需要root吗的内容,轻松修改游戏数据,赶快来一起来看看吧。 【PConline 杂谈】3月10日,在苹果……
下载王者荣耀修改器无限技能,王者荣耀修改器改无限技能app下载 分类:免root版 2,534人在玩 hell,老铁们你们好啊!今天的热门工具是非常厉害的,王者荣耀修改器无限技能是一款修改游戏无限技能实现大招不断没有冷却的工具,让英雄可以无限释放技能大招的辅助应用,王者荣耀……
下载王者荣耀透明皮肤修改器下载,王者荣耀免费皮肤刷取软件 分类:免root版 2,536人在玩 王者荣耀透明皮肤修改器是一款免费的皮肤刷取软件,皮肤在王者荣耀中用处并不是很大,也就是为了能够帅气一点有面子一点满足一下虚荣心,但是就这么一点小小的要求并不是所有人都……
下载