python3GUI--adb调试测试工具By:PyQt5(附下载地址)

本文阅读 7 分钟
首页 安全分享,WEB安全 正文

1.PyQt5

pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http://www.riverbankcomputing.co.uk/news
pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。

2.安卓环境

adb测试工具需要安卓环境,可以根据个人情况选择真机或者模拟器 2.1安卓手机

安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。

2.1安卓模拟器

安卓模拟器是能在个人计算机运行并模拟安卓手机系统的模拟器,并能安装、使用、卸载安卓应用的软件,利用安卓模拟器,用户即使没有手机硬件设备,也能在模拟器中使用移动应用程序。安卓模拟器能在电脑上模拟出安卓手机运行环境,让用户在电脑上也能体验安卓游戏和应用。安卓模拟器是移动游戏市场的快速发展逐渐形成的一个独立行业。

本文采用的是 夜神模拟器。

3.介绍-adb

adb是<font color="red">A</font>ndroid <font color="red">D</font>ebug <font color="red">B</font>ridge的缩写,意为Android系统的调试桥。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,其实这就是用于谷歌Android系统的debug调试工具。
adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行APK安装器时adb进程就会自动运行。
除了上述的操作功能之外,我们还可以通过adb管理设备或手机模拟器的状态。还可以进行很多手机操作,比如刷ROM系统升级、运行shell命令等等。

工作原理如下图: img 本软件需要将adb工具放在软件根目录中,分别是adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll,使用模拟器的朋友,直接复制模拟器根目录三个文件到软件根目录即可,使用真机的朋友,需要下载安卓SDK,可以参考 这里,具体流程不在此赘述。

1.启动

img 软件主界面。

2.检测设备

img 软件启动后会自动检测可用设备,选择了设备后,就能够激活左边的操作工具箱和右边的屏幕查看功能。

3-1.功能-基本

img

3-2.功能-查看

img

3-3.功能-性能

img

3-4.功能-按键

img

3-5.功能-应用

img

4.屏幕同步

img 开启此功能之后,模拟器/真机的屏幕就会同步到本程序中,下面我用一个动图演示: img 由于我设置了10秒同步一次,所以会产生屏幕同步不及时的情况,这个时间暂未设置手动更改接口。

5.安装应用

img 通过手动选择安装包(.apk)安装安卓应用。注:此方法不支持文件名为中文的安装包。

1.UI设计-原图

img

使用QT设计师很快就能设计出UI,整体水平布局,局部垂直布局。

2.UI设计-草图

img

3.功能设计-窗口

img

3.功能设计-主要功能

img

1.设备连接

在软件启动后会对本地依赖文件进行判断,软件根目录需存在adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll三个依赖文件,通过调用adb命令,搜索可用的设备并显示在comboBox中,鼠标双击设备名称实现设备的选择,之后激活左侧toolBox,完成设备的连接.

2.屏幕同步

定义一个定时器,每当checkBox状态为选中状态时,将此定时器开启,通过使用截图命令以及文件拉取命令,将截图显示在label中,间接实现屏幕同步,定时器的周期为屏幕同步间隔时间,间隔越小同步的越快。因为每次开启屏幕同步功能时,都会产生一些临时截图文件,所以每次在adb连接到模拟器/真机之后都会对这些临时文件进行清理。

本次使用PyQt5以及adb工具开发了一款调试测试工具,免去了重复撰写代码的烦恼,可视化操作界面友好,功能多、实用性强!软件打包好放在了 蓝奏云思路、代码方面有什么不足欢迎各位大佬指正、批评! img

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/a1397852386/article/details/122456056
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复