最近,微信官方推出了demo小程序游戏《跳一跳》,这个游戏操作简单,容易上手,却又不容易获得高分,受到很多人的喜爱(emm...这游戏有毒)。自己也尝试了玩了几次,作为一个手残+脑残的资深玩家,对于这种游戏的分数简直低的可怕...既然自己这么菜,就找些工具辅助一下吧,于是,就有了做一个辅助外挂的尝试。

本人玩这个游戏的时候比较晚,所以先去度娘上查了一下现有的方法,果然,搜索出的结果还是很多的。常见的方法有基于python和adb,adb是谷歌为android开发者提供一个开发工具,可以在命令行下操作,python中导入adb包库即可。

开发工具

matlab,adb工具

实验原理

跳一跳是根据棋子和目标块之间距离的不同,需要在屏幕上按压相应的时间来使棋子调到目标块,同时越接近中心点,分数越高,连续调到中心点,木有越来越多的分数加成。adb工具可以通过发送指令来模拟人按压屏幕的操作,所谓我们只需要通过adb工具向手机发送一个按压某一段时间的指令。那么如何确定按压时间呢?在玩过几次之后可以发现,按压时间和棋子到目标点之间的距离是一个线性函数,所以只需算出棋子到目标点间的距离,再乘以一个系数,就是棋子的按压时间。为了计算距离,我们首先通过手机截图,将截图传至电脑上,之后可以找出棋子下方中心点和目标点的坐标,采用欧拉距离公式即可计算出两点间的距离。

手动版操作流程

1. 安装adb工具并打开手机开发者模式和usb调试

https://www.52pojie.cn/forum.php?mod=viewthread&tid=682631这里提供了一个制作的简单思路(尊重原创成果),同时里面也提供了adb工具的下载链接,窝把它贴在下面 https://www.52pojie.cn/thread-682011-1-1.html

至于手机的开发者模式,依次进入手机中的  设置-->关于手机,可以看到版本号,连续点击版本号n次,就可以打开开发者选项

2. 打开cmd,在命名行下启动jump.bat等截图成功之后,进入步骤3

3. 选取起始点和目标点

在matlab中运行jump.m,会在画图工具中打开游戏截图,此时在图片上选取起始点和目标点,选定后获取到两个点的坐标,即可计算出距离及按压时间.

4. 向手机发送按压指令

回到命令行界面,按回车键启动棋子跳跃(原理是通过adb指令将计算出的按压时间发送到手机上 具体指令   adb shell input swipe 100 100 200 200 时间),等棋子跳完后按回车,回步骤2,进行下一轮截图。

程序下载链接

点击打开链接

说明

本人对这个测试的时候,成功率很高,接近100%命中目标中心点,之后和同学一起做了个自动版的,本人比较菜,自动版最高目前1200+,窝在南大的室友用python来写的已经2700+,之后也会贴出自动版的程序,自动版程序用的是简单的图像识别方法,找出图像中固定的两个点,欢迎有新想法和想尝试的同学一起交流(很好奇用机器学习方法到底会是什么效果)。

微信小程序跳一跳辅助程序(手动版)的更多相关文章

  1. 用Kotlin破解Android版微信小游戏-跳一跳

    前言 微信又更新了,从更新日志上来看,似乎只是一次不痛不痒的小更新.不过,很快就有人发现,原来微信这次搞了个大动作——在小程序里加入了小游戏.今天也是朋友圈被刷爆的缘故. 看到网上 有人弄了一个破解版 ...

  2. .NET开发一个微信跳一跳辅助程序

    昨天微信更新了,出现了一个小游戏"跳一跳",玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来 ...

  3. 微信_跳一跳辅助程序_Python_(带GitHub项目地址)

    1.安装Python(推荐3.6) https://www.python.org/downloads/ 2.在github上下载脚本 [github项目地址](https://github.com/w ...

  4. java写跳一跳辅助程序

    ##起初是想使用按键精灵脚本程序控制,但还是选择熟悉的java.我这里使用了工具,造成延迟问题.也求教:java控制安卓的正确姿势, 参考了.NET玩跳一跳,思路都是一样的,只不过使用ADB控制安卓的 ...

  5. 微信小游戏“跳一跳”,Python“外挂”已上线

    微信又一次不声不响地搞了个大事情: “小游戏”上线了! 于是,在这辞旧迎新的时刻,毫无意外的又火了. 今天有多少人刷了,让我看到你们的双手! 喏,我已经尽力了…… 不过没关系,你们跳的再好,在毫无心理 ...

  6. 微信小游戏跳一跳简单手动外挂(基于adb 和 python)

    只有两个python文件,代码很简单. shell.py: #coding:utf-8 import subprocess import math import os def execute_comm ...

  7. JAVA实现跳一跳辅助程序之虎啸龙吟

    前序: 今天有幸,看到2位博主的文章,在此表示感谢.自己也动手实现了一下. 实现原理 请参考博主 https://www.cnblogs.com/dongkuo/p/8285162.html 另感谢博 ...

  8. 微信小程序 跳一跳 外挂 C# winform源码

    昨天微信更新了,出现了一个小游戏“跳一跳”,玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来分把,于是就想着要是 ...

  9. python--微信小程序“跳一跳‘外挂

    参考网站:http://blog.csdn.net/LittleBeautiful/article/details/78955792 0x00:准备工具: Windows 10: 一个安卓真机 pyt ...

随机推荐

  1. Backbone简单示例

    要的资源: <script type="text/javascript" src="../dep/underscore-1.6.0.min.js"> ...

  2. 使用CEF的JSON解析功能

    Cef提供了JSON解析功能,在cef_parser.h文件内有三个JSON相关的方法: CefParseJSON CefParseJSONAndReturnError CefWriteJSON 以最 ...

  3. JavaSE----基础语法(方法)

    1.8 方法 1.8.1方法的的定义 定义:完毕特定功能的代码块.在非常多语言里面有函数的定义,而在Java中函数被称为方法. 格式: 修饰符 返回值类型 方法名(參数类型 參数名1,參数类型 參数名 ...

  4. 关于O(logN)的正确理解

    学计算机的或许对O(logN)这个符号并不陌生,快排.堆排.归并等等排序的平均时间复杂度. 问题来了,之前一直有个歧义就是:logN的底数到底是多少? 这个问题搁置着并没有去深究,仅仅是想应该是2吧. ...

  5. Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)

    本文介绍两种Golang的开发环境一种基于notepad++.还有一种基于liteide. 1.下载Golang语言的pkg:http://golangtc.com/download 直接点击安装,一 ...

  6. Java中enum的学习总结

    一.通常的定义常量的方法 public class Sex{ public final static int MALE = 1; public final static int FEMALE=2; } ...

  7. java多线程编程核心技术——第七章补漏拾遗

    本章主要知识点: 1)线程组的使用 2)如何切换线程状态 3)SimpleDateFormat类与多线程的解决方法 4)如何处理线程异常. 这本书基本来到了终点,其实在第四章来说,核心(基础)的线程知 ...

  8. java萌新尝试搭建WordPress记录

    问题1:安装好PHP环境没找好mysql路径,导致不能调用数据库模块 解决方案:重装一次,参考链接 https://www.cnblogs.com/yangxia-test/p/4174372.htm ...

  9. .NET 对 XML 进行创建,增加,删除,修改操作整理

    前言: 最近做了一个项目,程序A在一个服务器程序B在另一台服务器,然而主程序A需要访问程序B的图片集文件夹下载到本服务器上,为了防止多次对Web Services进行调用,在主程序A中创建一个XML文 ...

  10. spring cloud ribbon和fegin

    一开始接触spring cloud的时候,还没有听说过微服务这个概念,对于服务直接的沟通是什么个情况,怎么组成微服务的完全懵逼,看到网上的教程都是用ribbong和fegin来调用接口,然后官网也给的 ...