西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程软件使用 → 淘宝玩个球有辅助吗

淘宝玩个球有辅助吗

相关软件相关文章发表评论 来源:西西教程网时间:2018/8/24 16:52:22字体大小:A-A+

作者:西西小熊点击:0次评论:0次标签: 淘宝玩个球 淘宝

淘宝网客户端7.11.0 官方最新版
  • 类型:生活服务大小:87.0M语言:中文 评分:7.9
  • 标签:
立即下载

淘宝玩个球这个游戏虽然简单,但是想要玩高分还是很难的,毕竟有好几亿的人和你一起玩游戏,那么问题来了,淘宝玩个球有辅助么?目前来说排名前进的分数还是很高的,想要玩的这个上万分还是很难的!

淘宝玩个球辅助有吗?

淘宝小游戏"玩个球"自动执行

本文记录了为实现本游戏的自动执行而做的探索过程

第一阶段: 通过截屏进行判断

1.1 基本步骤

1) 通过adb shell截屏
2) 判断特定行的蓝色和红色像素数量
3) 通过adb shell发送指令

1.1.1 截屏

首先获得用su获得root权限(后面的步骤需要) 然后用screencap命令截屏, 图片放到放到手机SD卡里, 然后通过pull命令将图片复制到电脑上(d:\ss.png)

suadb shell screencap sdcard/#swap/ss.pngadb pull /sdcard/#swap/ss.png d:\ss.png

1.1.2 加载图片, 判断颜色

最开始使用C语言编写, 使用altimage.h提供的库.

CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。这里需要注意的是,在VS2010和VS2012的MFC编程中,不需要将头文件包含进来。MFC中要使用CImage类,必须先将头文件包含进来,可以包含在当前代码的CPP文件中,也可以包含在所属类的头文件中,不过最好还是包含在工程的stdafx.h文件中。CImage总共有39个成员函数。

(百度百科)

首先执行上面的命令, 然后进行图片的判断

system("D:\\input.bat");image.Load(_T("D:\\ss.png"));bool result = check(895, image);

其中check函数定义如下, 判断第row行红色像素和蓝色像素哪个多一些.

// 返回 false代表蓝色, true代表红色bool check(int row, CImage& image) { int blue = 0; int red = 0; for (int i = 0; i < 1080; ++i) { COLORREF color = image.GetPixel(i, row); BYTE r = GetRValue(color); BYTE g = GetGValue(color); BYTE b = GetBValue(color);// 当时考虑到方块表面可以有一些轻微的渐变效果 所以设置了RGB的范围 后来发现是纯色 if (r >= 250 && g >= 94 && g <= 103 && b >= 97 && b <= 103) { red++; } if (r >= 50 && r <= 56 && g >= 250 && b >= 250) { blue++; } } return red > blue;}

1.1.3 命令发送

使用adb提供的input命令可以模拟触摸操作(需要root权限)

没用root权限直接使用input tap只会显示一个killed, 手机上没有任何反应. 获得root权限之后手机就有反应了, 电脑上没有任何报错.

代码如下, 首先打开一个文件 向里面写入root授权命令和input命令, 然后将adb shell命令的输入定向到该文件

ofstream f("D:\\.input");bool result = check(895, image);f << "su" << endl;if (result[i])f << "input tap " << 284 << " " << 1606 << endl;elsef << "input tap " << 797 << " " << 1608 << endl;system("adb shell < D:\\.input");

1.2 出现的问题及优化

1.2.1 出现的问题

程序根本无法使用! 因为太慢了. root授权需要1s左右, 截屏需要1s左右, tap命令从发出到执行也至少需要1秒左右~

所以我从针对上面的问题进行了如下优化

1.2.2 改用java语言

C++似乎无法获取到adb命令的输入流,所以只能讲命令写到文件里,adb执行完这几条命令就退出了;要执行新的命令必须重启adb,重启就意味着要重新进行root授权,极其浪费时间。

Java语言的优势是不仅可以执行外部程序,还能获得输入流输出流,可以在其它程序执行时向其动态写入命令(代码的参考资料)

try {Process mainProcess = Runtime.getRuntime().exec("adb shell");DataOutputStream os = new DataOutputStream(mainProcess.getOutputStream());os.writeBytes("su" + "\n");os.flush();//处理错误输出流final BufferedReader brError = new BufferedReader(new InputStreamReader(mainProcess.getErrorStream()));ReaderThread t2 = new ReaderThread(brError, "error");t2.start();//处理标准输出流final BufferedReader br = new BufferedReader(new InputStreamReader(mainProcess.getInputStream()));ReaderThread t1 = new ReaderThread(br, "std");t1.start();os.writeBytes("input tap " + (797 + random.nextInt(30) - 15) + " " + (1608 + random.nextInt(30) - 15) + "\n");os.flush();} catch (IOException e) {e.printStackTrace();}

改用Java语言之后, 原来的图像处理库就不能用了。经过搜索发现java提供图片读取的处理的功能。

import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;Process captureProcess = Runtime.getRuntime().exec(captureCommand);// TRYcaptureProcess.waitFor();    // 等待截图完成File f = new File("D:\\ss.png");BufferedImage image = ImageIO.read(f);result = handle(image, 815);// CATCH// 省略

 判断函数如下, 读取一行像素缓存到数组中, 然后判断这一行有多少个红色, 多少个蓝色

static int[] colors = new int[1080];// 处理图片 返回true代表红色public static boolean handle(BufferedImage image, int row) throws Exception {int blue = 0;int red = 0;image.getRGB(0, row, 1080, 1, colors, 0, image.getWidth());    // 获得第row行像素for (int i = 0; i < 1080; ++i) {Color color = new Color(colors[i]);int r = color.getRed();int g = color.getGreen();int b = color.getBlue();if (r >= 250 && g >= 94 && g <= 103 && b >= 97 && b <= 103) red++;if (r >= 50 && r <= 56 && g >= 250 && b >= 250) blue++;}if (red < 10 && blue < 10)throw new Exception("异常状况! blue=" + blue + " red=" + red);return red > blue;}

1.2.3 一次判断多行

从每一张截图都可以得到4个方块的颜色, 所以首先想到的是一次输出4个命令.

bool result[4];result[0] = check(895, image);result[1] = check(815, image);result[2] = check(737, image);result[3] = check(658, image);while (i < 4) {if (result[i])// f << "input swipe 615 1600 615 500" << endl;f << "input tap " << 284 + rand() % 30 - 15 << " " << 1606 + rand() % 30 - 15 << endl;elsef << "input tap " << 797 + rand() % 30 - 15 << " " << 1608 + rand() % 30 - 15 << endl;i++;}

这样做的结果还是失败. 设4个方块为一组, 组内的问题解决了,组之间仍然需要root授权、截屏等漫长的操作。

解决方案是3个方块为一组. 在刚跳到方块2, 还没开始到方块3的起跳时马上进行截图, 并发出命令(要过一会才会真正执行)

if (firstTime)result[0] = handle(image, 895);    // 判断第一行result[1] = handle(image, 815);        // 判断第二行result[2] = handle(image, 737);        // 判断第三行result[3] = handle(image, 658);        // 判断第四行

1.3 本阶段总结

步数越多,小球下落的速度就越快。受限于截图速度和发送命令的速度,做到这里程序可以实现跳140步。

第二阶段: 经过拍照进行判断

2.1 基本步骤

由于截屏速度太慢, 所以我想对手机屏幕拍照, 然后用照片来判断, 这样获得照片的延迟就很小了.

基本步骤如下

1) 拍照
2) 判断颜色
3) 发送命令

2.1.1 拍照

JavaCV是一款开源的视觉处理库,基于GPLv2协议,对各种常用计算机视觉库封装后的一组jar包,封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口。

OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);grabber.start();   //开始获取摄像头数据CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);canvas.setAlwaysOnTop(true);Frame f = grabber.grab();        // 获得一帧图像canvas.showImage(f);             // 显示到窗口中

2.1.2 判断颜色

经过摄像头拍照, 方块的颜色已经不是纯色, 外加摄像头有自动调节色温和亮度和功能, 游戏背景的变化让摄像头不断进行调节, 导致直接判断某一块像素的颜色是否在某个区间已经很不准确了.

我的方案是将两个红色矩形圈住的像素颜色的平均值作为参数(共6个,R1 G1 B1 R2 G2 B2),进行线性分类。

从摄像头采集大量数据(共8000帧)进行训练,4种情况 (左蓝 右蓝 左红 右红)各2000帧。使用某人写的一个fisher线性判别法的分类器(链接)求出线性分类器所需的参数

    淘宝特价版
    (12)淘宝特价版
    淘宝特价版是淘宝推出的低价小商品专门的购买平台。淘宝特价版主要聚焦在低价小商品,帮助用户挑选优惠的小商品,不再收低质量,差售后服务,安全隐患等问题困扰,网上也能买到便宜实惠的小商品。西西为用户整理了各类软件,欢迎前来下载哦!...更多>>
    • 淘宝特价版v2.2.1 官方版

      05-23 / 20.3M

      推荐理由:淘宝特价版是淘宝推出的低价商品优惠购物平台。平台主要聚焦于小商品购买,支持用户拼团购买,优惠的同时保
    • 淘宝特价版苹果版V1.0

      03-15 / 80.9M

      推荐理由:淘宝特价版苹果版是淘宝针对低价小商品推出的专门购买app。软件主要是低价商品放心购买服务,杜绝低价商品质
    • 淘宝网客户端7.11.0 官方最新版

      07-29 / 87.0M

      推荐理由:淘宝手机客户端是淘宝网官方推出的提供给用户使用的手机购物软件,手机淘宝为用户提供快捷方便的手机购物新
    • 淘宝安全控件V3.16 官方版

      11-21 / 956KB

      推荐理由:淘宝安全控件下载,淘宝支付宝安全购物控件,保障你网上购物放心!支付宝的目的是为广大用户提供一个安全购
    • 淘宝互联v2.0 官方免费版

      12-23 / 1.8M

      推荐理由:淘宝互联是一款免费的淘宝刷单软件,这款软件可以从店家安全角度上去考虑,安全性与其他刷单方式所望尘莫及
    • ipad淘宝hdv3.1.1 ipa

      09-01 / 27M

      推荐理由:ipad淘宝hd适用于苹果ipad平板电脑的淘宝网官方客户端简述:方便用户购物,浏览店铺等应用,可以获得和PC电
    ctfhoko
    (8)ctfhoko
    ctfhoko官网:http://www.ctfhoko.com/ctfhoko是什么?ctfhoko是前海周大福全球商品购物中心的手机客户端软件,消费者将可通过该平台充分享受跨境电商的网购乐趣,跨境电商保税商品可在店内观看样品,扫二维码查看详细信息,需要手机或网上下单购买,线下配送,将于三天左右递送上门。ctfhoko上边的东西是正品吗?CTFHOKO引进香港知名商户,商品从香港发货后直接进入海关监管的保税仓,或直接邮寄发出,取消层层代理,让您直接享受...更多>>
    洋码头
    (54)洋码头
    现如今海外代购是非常的流行,大到奢侈品品小到婴儿奶粉。大家也都明白海外代购有多少是骗人的,今天给大家介绍的洋码头不管是价格或是质量上面都是特别有保证的,洋码头在全球建立海外仓库,每天多达7班次的飞机直飞中国,让用户购物更放心。专业的关务和法务,既能快速实现货品清关,也能保障用户消费更安全。在洋码头代购让你放心更省心!...更多>>
    • 小红书v5.23.1官方安卓版

      08-22 / 40.1M

      推荐理由:小红书app下载,在如今网上购物越来越盛行的今天,你是否也渴望着走出国门,将全世界的商店纳入自己的眼中呢
    • 蜜淘全球购正品特卖5.2.0安卓版

      04-29 / 8.3M

      推荐理由:有没有想足不出户就能买到全球的各种商品?个人代购不靠谱,还是让专业的来吧!蜜淘.全球购 (Metao.com)是
    • 淘宝网客户端7.11.0 官方最新版

      07-29 / 87.0M

      推荐理由:淘宝手机客户端是淘宝网官方推出的提供给用户使用的手机购物软件,手机淘宝为用户提供快捷方便的手机购物新
    • 海蜜全球购4.0.0 安卓版

      07-15 / 14.0M

      推荐理由:海蜜全球购,海外闺蜜帮你淘。实时同步欧美日韩澳新等各国奥特莱斯、商场的给力折扣促销。双11什么值得买?
    • 微店全球购-海外购物平台V3.2.8

      10-24 / 9.0M

      推荐理由:微店全球购,一款能够让你方便地进行海外购物的平台,有了它你再也不需要辛辛苦苦地找代购了,想要什么商品
    • 聚美优品6.303官方安卓版

      07-10 / 68.8M

      推荐理由:聚美优品是中国最大的化妆品电商平台,聚美优品主要是针对用户人群销售各种各样的护肤品,化妆品,美容美发
    男生必备app
    (74)男生必备app
    西西软件园为手机用户带来男生必备app下载,帮你发现好用的软件,游戏等,快来下载吧微信微信手机版,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。如今朋友圈已成为了中国最流行的SNS社区之一,微信团队现已开始在运营朋友圈广告,现在刷朋友圈同时存在广告了。天天酷跑天天酷跑最新版拥有动感的背景音乐、华丽的游戏界面、得心应手的跑酷游戏体验,可让玩家在精妙的设计中越玩越爽...更多>>
    女生必备app
    (73)女生必备app
    西西软件园为用户带来手机端女生必备的app,帮助用户找到适合自己的女生必备软件,快来下载吧大姨吗安卓版大姨吗安卓版是一款专为女生量身定制的生活应用软件。为千万少女解决大部分生理知识的疑问,为数以万计的女性提供一款月经宝典,不再为突袭“亲戚”而苦恼。值得拥有美课美妆美课美妆app是一款女性内容相关的app,为用户提供美容产品评测,美容教学,让用户足不出户就能成为美容专家!遇到问题时还可以向美课美妆寻求帮助,各...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)