使用Python制作微信跳一跳辅助


Posted in Python onJanuary 31, 2018

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 <filename>

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 [<source>] <command> [<arg>...] 
   
  The sources are: 
     trackball 
     joystick 
     touchnavigation 
     mouse 
     keyboard 
     gamepad 
     touchpad 
     dpad 
     stylus 
     touchscreen 
   
  The commands and default sources are: 
     text <string> (Default: touchscreen) 
     keyevent [--longpress] <key code number 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)

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

3.  Python

(1)     调用命令行

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

(2)     OpenCV

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

(3)     Tkinter

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

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

程序截图:

使用Python制作微信跳一跳辅助

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

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

Python 相关文章推荐
pandas数值计算与排序方法
Apr 12 Python
Django中的用户身份验证示例详解
Aug 07 Python
python集合常见运算案例解析
Oct 17 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
python logging.basicConfig不生效的原因及解决
Feb 20 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
Python实现简单猜数字游戏
Feb 03 Python
Python中相见恨晚的技巧
Apr 13 Python
Python基础之函数嵌套知识总结
May 23 Python
python模块之paramiko实例代码
Jan 31 #Python
Python进度条实时显示处理进度的示例代码
Jan 30 #Python
Python3生成手写体数字方法
Jan 30 #Python
python字符串的方法与操作大全
Jan 30 #Python
Python实现带参数与不带参数的多重继承示例
Jan 30 #Python
Python实现的随机森林算法与简单总结
Jan 30 #Python
Python决策树和随机森林算法实例详解
Jan 30 #Python
You might like
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
在Python中使用dict和set方法的教程
2015/04/27 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
python函数形参用法实例分析
2015/08/04 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
实现Python与STM32通信方式
2019/12/18 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
一道输出判断型Java面试题
2014/10/01 面试题
幼儿园实习自我鉴定
2013/12/15 职场文书
班级文化建设标语
2014/06/23 职场文书
安全教育观后感
2015/06/17 职场文书
放飞理想主题班会
2015/08/14 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python