Python实现一个简单的微信跳一跳辅助
2018-01-31 00:05
656 查看
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。不多说了。
程序的实现是很简单的,这里处于某些原因就不公开代码了,主要就是一个细调参数的过程。
程序截图:
![](https://images2017.cnblogs.com/blog/345405/201801/345405-20180130235855218-1454080606.png)
下一步的目标是,结合OpenCV和神经网络实现自动识别、计算距离。
郑重声明,本文仅供学习、娱乐只用,请勿随意传播。
相关文章推荐
- 用adb(调试桥)使用python脚本辅助微信小程序跳一跳简单实用教程【新人适用一条龙】附带资源
- Python 实现微信跳一跳辅助工具(亲自测试有效)
- python实现微信跳一跳辅助工具
- python实现微信跳一跳辅助工具步骤详解
- 一个简单的微信跳一跳辅助工具(android)
- 微信跳一跳辅助python代码实现
- 用Python socket 实现一个简单的http服务器(post 与get 的区别)、CGI、WSGI、MVC
- 使用python多线程实现一个简单spider
- Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
- Python实现的一个简单LRU cache
- 用Python实现一个简单的文件传输协议
- 使用sae实现一个简单的问答式微信订阅号
- python实现的一个简单的网页爬虫
- 实现一个简单的邮箱地址爬虫(python)
- 从Apache的日志文件收集和提供统计数据(一个Python插件架构的简单实现)
- Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
- 用Python实现一个简单的算术游戏
- 一个简单的语义分析算法:单步算法——Python实现
- 一个最简单的用PYTHON实现的WINDOWS服务程序
- 用Python实现一个简单的文件传输协议