使用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 相关文章推荐
使用python实现strcmp函数功能示例
Mar 25 Python
Python中使用ConfigParser解析ini配置文件实例
Aug 30 Python
Python实现文件按照日期命名的方法
Jul 09 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
flask框架路由常用定义方式总结
Jul 23 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
简单介绍Python中的JSON使用
2015/04/28 Python
python实现类之间的方法互相调用
2018/04/29 Python
python 反向输出字符串的方法
2018/07/16 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
在python中修改.properties文件的操作
2020/04/08 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
Yahoo-PHP面试题2
2014/12/06 面试题
电气自动化自荐信
2013/10/10 职场文书
银行实习鉴定
2013/12/13 职场文书
职业生涯规划书范文
2014/03/10 职场文书
家长对老师的感言
2014/03/11 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
法人委托书范本格式
2014/09/15 职场文书
鼋头渚导游词
2015/02/05 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis