使用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中使用中文的方法
Feb 19 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
对Python中type打开文件的方式介绍
Apr 28 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
python英语单词测试小程序代码实例
Sep 09 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
tensorboard显示空白的解决
Feb 15 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 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
php采集速度探究总结(原创)
2008/04/18 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
js null undefined 空区别说明
2010/06/13 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
python re的findall和finditer的区别详解
2020/11/15 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
Servlet如何得到服务器的信息
2015/12/22 面试题
医学检验专业大学生求职信
2013/11/18 职场文书
办理退休介绍信
2014/01/09 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
举起手来观后感
2015/06/09 职场文书