1.  前言

微信的跳一跳相信大家都很熟悉了,而且现在各种外挂、辅助也是满天飞,反正本人的好友排行榜中已经是八九百都不足为奇了。某宝上一搜一堆结果,最低的居然只要3块多,想刷多少分就刷多少分,真是离谱。

作为一枚程序猿,我决心也自己搞一下,不为别的,一来为了磨练一下自己的解决问题的能力,而来也为了娱乐一下。像这种任务,最适合的当然是Python,丰富的第三方库,而且具有胶水语言的特点。

本程序的主要设计思路就是,PC端adb连接手机→截屏→在PC端展示→用户鼠标选取起点和终点→计算距离、时长→adb发送指令模拟按压→截屏循环。

2.  ADB

adb,Android Debug Bridge,即安卓调试桥,包含如下几个部分:

•Client端, 运行在开发机器中,即你的开发PC机,用来发送adb命令

•Deamon守护进程,运行在调试设备中,即的调试手机或模拟器

•Server端,作为一个后台进程运行在开发机器中,即你的开发PC机,用来管理PC中的Client端和手机的Deamon之间的通信

我们通常用的adb命令指的就是Client端程序。Server端实际上在本机侦听端口5037,将指令通过usb线/wifi转发给移动设备的Deamon进程。

adb命令读者可以去官方网站查看文档(http://adbshell.com/commands),这里只介绍用到的几个命令。

(1)    adb devices列出所有连接的模拟器/设备

Prints a list of all attached emulator/device

adb devices

In response, return serial number and state

e4b25377 device

emulator-5554 device

(2)    adb shell screencap截屏

taking a screenshot of a device display.

adb shell screencap

adb shell screencap /sdcard/screen.png

download the file from the device将文件从设备下载到本机。

adb pull /sdcard/screen.png

(3)    adb shell input swipe模拟滑动操作(长按)

adb shell input swipe 100 100 100 100 500模拟长按坐标(100, 100)时长500ms

C:\Documents and Settings\Administrator>adb shell

root@NX403A:/ # input

input

Usage: input [] [...]

The sources are:

trackball

joystick

touchnavigation

mouse

keyboard

gamepad

touchpad

dpad

stylus

touchscreen

The commands and default sources are:

text (Default: touchscreen)

keyevent [--longpress] ... (Default: keyboard)

tap (Default: touchscreen)

swipe [duration(ms)] (Default: touchscreen)

press (Default: trackball)

roll (Default: trackball)

好了,以上是本次所需adb的知识点。

3.  Python

(1)     调用命令行

Python调用命令行有多种方式,比较常用的是os.system(cmd)和os.popen(cmd),以及commands.getoutput(cmd),这三者主要区别在返回值的获取方面,第一个无法获得返回值,第二、三个则可以获取。这里用哪个都可以,因为不需要获得返回值。

(2)     OpenCV

主要用OpenCV做一些图片缩放等操作,用PIL也是可以的。

(3)     Tkinter

主要用到了Button、PhotoImage这两个Widget。不多说了。

程序的实现是很简单的,这里处于某些原因就不公开代码了,主要就是一个细调参数的过程。

程序截图:

下一步的目标是,结合OpenCV和神经网络实现自动识别、计算距离。

郑重声明,本文仅供学习、娱乐只用,请勿随意传播。

python 跳一跳辅助_使用Python制作微信跳一跳辅助相关推荐

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

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

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

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

  3. python跳一跳教程_使用python玩跳一跳超详细使用教程

    在上一篇文章里介绍了使用Python玩微信跳一跳的详细使用教程,不过依旧还是有很多小伙伴有各种各样的问题.为了让各位小伙伴都能使用黑科技,于是再做一个超详细教程.从Python的安装开始,手把手教你一 ...

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

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

  5. python写dnf游戏脚本辅助_利用Python自动化操作鼠标键盘刷金币,工作室都靠这种脚本搬砖!...

    不管是英雄联盟还是王者荣耀,总是有一个特殊的模式可以用来刷金币,为什么说是特殊模式呢?因为打的都是人机,或者并不影响游戏平衡,被其它玩家举报,同时你这种模式的战绩也没人去看你的. 如果能利用Pytho ...

  6. python青蛙跳台阶问题_面试题10- II. 青蛙跳台阶问题

    一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1 ...

  7. mysql跳过安全_【Python安全攻防过渡篇:web编程和环境搭建】

    web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...

  8. 用python编程 商品打折_《Python编程入门指南》(上下册)

    优惠介绍 189个实例示例,视频教学+VIP代码库 本书以初学者为对象,全面介绍了使用Python进行程序开发的各种技术.在内容排列上由浅入深,让读者循序渐进掌握编程技术:在内容讲解上结合丰富的图解和 ...

  9. python中级项目下载_中级Python复习:教程,项目思想和技巧

    python中级项目下载 本文旨在向Python初学者和开发人员介绍Python中使用的一些关键概念,这些概念一开始就没有讲授. 如果您可以创建二次方根求解器,则可以理解本文. 这些是我一天之内没有学 ...

  10. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

最新文章

  1. Asp.net团队疯了(同时发布WebMatrix, Razor, MVC3和Orchard)
  2. Java中的异常处理
  3. 屏幕滚动控件ScrollView的使用
  4. web前端数组处理之扁平化数组
  5. 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现
  6. 【java设计模式】迭代子模式
  7. 硬件能力与智能AI-Zoomla!逐浪CMS2 x3.9.2正式发布
  8. 3个多月,近3000人参与的源码共读,诚邀加入~
  9. moxy json介绍_MOXy是GlassFish 4中新的默认JSON绑定提供程序
  10. 为什么我们仍然坚持用C++做游戏服务器
  11. 靶形数独(洛谷-P1074)
  12. 【Android市场】提交应用的一点经验分享
  13. STM32-TFTLCD显示
  14. Redis的常用JavaAPI(Jedis)实现
  15. Python菜鸟入门:day06元组与字典
  16. web 报表中电子图章 / 水印的轻松实现
  17. android按键精灵 释放内存,类人猿按键精灵安卓内存基础教程
  18. 美丽中国 纪录片 高频词 GRE 托福词汇
  19. GrassCutter使用教程
  20. 三个极限定理与四种收敛性

热门文章

  1. sysbench安装和使用(亲测)
  2. 2-01基本顺序表与元素外置顺序表recv
  3. 解决MySQL事务未提交导致死锁报错 避免死锁的方法
  4. HTTP的请求头标签 If-Modified-Since与Last-Modified 相等就是200新的请求 不等就是304没有变化
  5. Linux的openssl的安装
  6. JQUERY使选定DOM元素还原end
  7. linux手工迁移php,Linux+PHP+MySql网站迁移配置
  8. python中数组的维度_Python数组维度问题
  9. python atan_Python
  10. 树莓派 mysql集群_多树莓派集群服务器