使用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多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
Python进程间通信用法实例
Jun 04 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
tensorflow如何批量读取图片
Aug 29 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
np.dot()函数的用法详解
Jan 17 Python
Java多线程实现四种方式原理详解
Jun 02 Python
Python3获取cookie常用三种方案
Oct 05 Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 Python
Python如何使用神经网络进行简单文本分类
Feb 25 Python
python3判断IP地址的方法
Mar 04 Python
python中pandas对多列进行分组统计的实现
Jun 18 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 Document 代码注释规范
2009/04/13 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
JavaScript解析JSON数据示例
2019/07/16 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
解决Python requests 报错方法集锦
2017/03/19 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
python实现猜数游戏
2020/03/27 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
python asyncio 协程库的使用
2021/01/21 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
目标责任书格式
2014/07/28 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
2016年寒假生活小结
2015/10/10 职场文书
python中的getter与setter你了解吗
2022/03/24 Python