微信“跳一跳”外挂制作历程

最近微信出了个“跳一跳”小游戏还挺火的,但是我这种手残人士,小手一滑,棋子就不知道飞哪儿去了。那我气啊,排行榜得拉到底才能看到我的名字,手残肯定不是一两天能解决的,那就写个挂呗,让电脑精准到毫秒给我来按屏幕,那岂不是美滋滋。

0.   V1.0版人工不智能外挂

这两天在网上看到过几个“跳一跳”辅助工具,有些人做了机器手指,每次跳之前用尺量一下两块方块之间的距离,然后根据这个距离机器手指按下相应的时间,棋子就成功跳到了下一个方块。

这种方法其实挺有意思的,这种机器人之类的玩意儿应该挺好玩的,但一来我没有设备,买回来用一次压箱底也有点败家,二来我对这东西也不了解,但感觉时间控制上应该没办法做到特别精准,三来,我有adb啊,我要机器人做啥。

Adb全称Android Debug Bridge,做过移动开发的一般都用过。经过这样那样*()@……)¥&%@!*%一系列的操作,在cmd中输入adb,看到图1所示的结果,就说明adb能用了。

图1  adb运行成功

然后拿出你的安卓手机,进入开发者模式(一般在关于手机里找个版本之类的东西猛戳一顿就行),打开USB调试,连上电脑,在cmd中输入adb devices,看到图2所示的结果,那么手机和adb就连上了。

图2  设备连接成功

Adb里的功能命令是相当之多,因为玩“跳一跳”是要长按屏幕然后释放,来实现棋子的跳跃,因此这里我们想做到的是通过adb向手机发送一个能控制长按时间的长按指令,那么在adb shell中输入input看一下,会看到这样的结果:

The sources are:

keyboard

mouse

joystick

touchnavigation

touchpad

trackball

dpad

stylus

gamepad

touchscreen

The commands anddefault sources are:

text <string> (Default:touchscreen)

keyevent [--longpress] <key codenumber or name> ... (Default: keyboard)

tap <x> <y> (Default:touchscreen)

swipe <x1> <y1> <x2><y2> [duration(ms)] (Default: touchscreen)

press (Default: trackball)

roll <dx> <dy> (Default: trackball)

而这里我们需要的就是swipe <x1> <y1> <x2> <y2> [duration(ms)](Default: touchscreen),通过x和y来控制按的位置,也就是坐标。其实swipe是滑动指令,但是这个指令可以设置duration(ms),精确到毫秒的控制按压时间,所以这里就用这个滑动指令。

Adb能用了,指令也知道了,那就打开“跳一跳”试一下吧。开始游戏后,在adbshell中输入input swipe100 100 100 100 300,意思就是从(100,100)位置滑动到(100,100)位置,耗时300ms,发现棋子果然跳了出去,不过似乎弹跳和我差不多,跳了一个火柴盒就掉下去了。很显然,这里最关键的参数就是长按时长,经过多次实验,按压时长和跳出距离的关系大概是:

T=distance(mm)*23(ms/mm)

这个distance靠尺子量,这里要感谢我学机械制图时候那套尺子我留到今天还没仍,以后给我孙子继续用,毕竟小时候我爷爷就给过我一套这样的尺子。23这个数字应用是因人而异的,每款手机屏幕大小是有差异的,直接在屏幕上用尺子量出的绝对距离和参数的关系肯定也是不同的。一般来说应该在20左右。

用这种方法很难跳到下一块方块的中心点,因为尺子量出来的距离也不怎么准,23这个系数肯定也不精确,但这种方法至少能保证不死,每次有个1分,碰到井盖魔方便利店唱片还能加个分,耐心足够的话排行榜第一唾手可得。

不过这个V1.0版太蠢了,拿出来都要让人笑话,于是乎,V2.0版急需上线,不过到点了,我上传到CSDN之后就要吃晚饭了,下次再写吧。

微信“跳一跳”外挂制作历程相关推荐

  1. 利用Python制作微信跳一跳外挂,微信好友装逼神器!

    导语 前几天在GitHub上看到有人利用Python玩一款名为"跳一跳"的微信小程序,于是打算自己也来试一试,进群:711944363 获取微信跳一跳源码! 演示工具 电脑系统:W ...

  2. 微信跳一跳外挂,无需连接手机

    微信跳一跳外挂,无需连接手机 使用这个软件需满足以下条件: 使用安卓模拟器,我用的是BlueStacks,雷电也可以 安卓模拟器窗口大小用鼠标调为[[409 × 727]]是调窗口大小,不是改分辨率! ...

  3. 微信跳一跳外挂【程序员版,附两个版本的源代码以及为防止跳几下就挂的注意事项,需要自己配置编译器】

    微信跳一跳怎么开挂?微信跳一跳外挂脚本在哪下载? 先来一张图片(有图有真相哈!) 建议不要刷太多,微信有防作弊措施,分数太高会上传失败(一千左右就行了). 需要下载:Auto.js(js脚本解释器和运 ...

  4. 微信跳一跳外挂【普通版,不需要自己搞解释器和代码,兼容性更好,反微信防作弊系统更有效】

    微信跳一跳怎么开挂?微信跳一跳外挂脚本在哪下载? 我发现现在网上有一款名叫"游戏窝蜂"的app,里面有微信跳一跳外挂,开挂比较简单,不需要自己搞什么解释器和代码,点几下就行了.并且 ...

  5. 利用Python制作微信跳一跳外挂,我才是好友排名第一的人!

    从前几天微信最新版本 6.6.1 的更新开始,微信小程序游戏"跳一跳"似乎在一夜之间风靡了朋友圈. 它甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性.有意思 ...

  6. python微信点赞脚本_用OpenCV-python的微信跳一跳外挂脚本

    微信跳一跳好像火了很久了,我才开始接触,作为一个手残党, 玩了几次不到20分,打算直接放弃了.但作为一个技术宅,下一反应肯定是"上脚本".最初想法是用arduino(不会可以学啊) ...

  7. 微信跳一跳外挂辅助流程 (MAC+iOS)

    微信跳一跳瞬间火爆朋友圈, 但是手残过不了200, 就研究了一下网上的外挂. 用的是MAC加上iPhone6s 主要使用facebook-wda和wechat_jump_game 以下是具体步骤 安装 ...

  8. 微信跳一跳外挂辅助及使用教程

    最近朋友圈都在玩微信跳一跳,我也试了几把,感觉这个游戏原理是挺简单,但是想得高分并不容易. 于是乎,我逛了逛平时用来看技术文章的地方(ps:2017年12月份的事情了,现在才想起来写博客,主要是因为不 ...

  9. 基于OpenCV的微信跳一跳外挂

    摘要:微信跳一跳是时下热门的微信小游戏,基本原理是根据按压屏幕的时间控制棋子跳过的距离,使其跳到下一个方块上:现利用Android adb工具,PC端获取实时截图,使用OpenCV库分析图片计算距离, ...

最新文章

  1. boost thread 判断是否正在运行_java高端基础:Thread源码解读
  2. 开通了一个gmail邮箱
  3. python315题的漫漫通关之路
  4. php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题
  5. Sentinel(六)之集群流控
  6. 网站的iphone版快开发完了
  7. Redis实现消息队列之生产消费模式
  8. 10 条真心有趣的 Linux 命令
  9. 深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏
  10. ajax兼容低版本浏览器
  11. java量_Java 2. 量与常量
  12. Simpy学习:基本运行与终止(一)
  13. 低代码Web应用程序构造方法-ASP.NET Core 2.2单页应用程序(SPA)
  14. nyoj 56 阶乘中素数的个数
  15. linux常见问题解决方法,Ubuntu 下2个常见问题解决方法
  16. 压测 broken pipe 之类
  17. KM算法实现带权匹配C#版本和C++两个版本实现O^3
  18. 用友软件计算机时间格式,如何正确设置系统日期格式?_速达软件_用友,速达,管家婆,微软,金蝶,方正,博世通,数据博士,进销存,财务软件-飞鸿软件帮助中心 -...
  19. 洛谷P3933 Chtholly Nota Seniorious 【二分 + 贪心 + 矩阵旋转】
  20. 浙江大学计算机柳铮,预告 | 计算机学院第二十次研究生代表大会

热门文章

  1. czl蒻蒟的OI之路3
  2. JAVA求班级男女生比例_java编程:给你一个班级的名单,随机分成6个组的问题解决办法...
  3. 【數論】【搜索】【SCOI2009】遊戲
  4. 大数据行业怎么样?工资可观么?
  5. 力扣88 - 合并两个有序数组【归并排序思维】
  6. 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
  7. SQL SERVER 使用stuff函数进行分组且合并
  8. 【比特熊故事汇】X Microsoft Build 2022——微软专家+MVP,技术亮点全解析
  9. 关于控件注册和使用许可问题的解决办法
  10. 数据库数据修改报错The instance of entity type ‘XXX‘ cannot be tracked