使用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实现批量重命名文件的代码
May 25 Python
Python实现动态添加类的属性或成员函数的解决方法
Jul 16 Python
Python中使用copy模块实现列表(list)拷贝
Apr 14 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
简单的python协同过滤程序实例代码
Jan 31 Python
Python中文编码知识点
Feb 18 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
python 消费 kafka 数据教程
Dec 21 Python
django配置app中的静态文件步骤
Mar 27 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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 strcmp使用说明
2010/04/22 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
Python函数嵌套实例
2014/09/23 Python
python async with和async for的使用
2019/06/20 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
企业申诉管理制度
2014/01/30 职场文书
灰雀教学反思
2014/04/28 职场文书
会计人员演讲稿
2014/09/11 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2014年科普工作总结
2014/12/06 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
档案工作个人总结
2015/03/03 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书