CN105930196A - 基于模式匹配快速批量下载安卓文件的方法及系统 - Google Patents
基于模式匹配快速批量下载安卓文件的方法及系统 Download PDFInfo
- Publication number
- CN105930196A CN105930196A CN201610351848.8A CN201610351848A CN105930196A CN 105930196 A CN105930196 A CN 105930196A CN 201610351848 A CN201610351848 A CN 201610351848A CN 105930196 A CN105930196 A CN 105930196A
- Authority
- CN
- China
- Prior art keywords
- file
- download
- client
- assembly
- occurrence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种基于模式匹配快速批量下载安卓文件的方法及系统,通过在手机上运行下载服务端结合配置文件指定需要下载的文件的方式实现了批量下载安卓系统文件,具有批量下载,能够根据模式匹配文件,下载速度快,不受文件权限影响并且能够主动修改名称的特点,解决了目前使用ADB(Andriod Debug Bridge,安卓调试桥)中adb pull指令下载方式的诸多缺点,可以实现快速批量的从安卓系统上下载文件,下载过程稳定,多次下载文件一致。
Description
技术领域
本发明涉及信息获取技术,特别涉及基于模式匹配快速批量下载安卓文件的方法及系统。
背景技术
现在,基于安卓系统的手机已经占据的很大的市场份额,对安卓手机的取证也越来越重要。Android手机上的应用越来越多,而且手机的存储容量越来越大,从手机上拷贝文件需要花的时间越来越多。传统的司法取证方法是直接使用Android系统提供的ADB(Android Debug Bridge,安卓调试桥)中adb pull指令的方式下载手机上的文件。使用adbpull命令的方法一次操作只能下载一个文件或者一个文件夹。如果需要下载多个文件需要多次执行adb pull指令,这样会延长下载时间;而如果下载整个目录则可能下载很多不必要的文件进而导致下载时间变长。因此,使用adb pull指令的方式已经不能满足手机采集这种对时效性要求很高的现场应用的需求。目前使用adb pull指令下载文件的方式存在以下几点不足:
1.adb pull一次只能下载一个文件或者文件夹,不能够一次下载多个不同位置的文件;
a)如果对于每个文件执行一次adb pull操作则下载时间很长;
b)如果选择下载文件夹则会下载很多不必要的文件,增加了下载时间;
2.adb pull只能下载sdcard上的文件,对于其他分区文件需要修改文件权限才能下载;
a)如果每个文件下载前先修改权限,那么操作时间将会显著变长;
b)如果批量修改所有文件权限,则文件权限可能中途又被系统修改导致无法下载;
c)批量修改所有文件也将额外耗费比较长的时间;
3.需要下载的文件的名称是变化的,而adb pull只能下载固定名称的文件;
4.安卓系统上的文件名规则和Windows系统的规则不一致,特定文件名的文件在Windows系统上无法创建,导致下载失败。
发明内容
为此,本发明提出一种基于模式匹配快速批量下载安卓文件的方法及系统,通过在手机上运行下载服务端结合配置文件指定需要下载的文件的方式实现了批量下载Android系统文件,具体方案如下:
基于模式匹配快速批量下载安卓文件的方法,包括以下步骤:
S1、客户端通过调用安卓调试桥ADB将下载服务器组件以及配置文件组件发送至服务端;
S2、客户端通过调用安卓调试桥ADB启动下载客户端组件并与下载服务器组件通信连接;
S3、下载服务器组件运行后监听本地端口,根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
S4、下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
S5、下载客户端组件接收服务器发送过来的文件并将文件保存到本地文件
系统。
其中,步骤S1和S3所述的配置文件组件包括文件匹配规则和配置文件。
其中,所述的配置文件包括一个或多个分组,每个分组包括一条或多条匹配条目。
其中,所述的文件匹配规则如下:
1)每一条匹配条目由多个匹配项组成,匹配项之间用“/”作为分割符号,
2)每个匹配项匹配一个文件名或者目录名,
3)匹配条目的多个匹配项连续匹配文件的完整路径,
4)对于固定文件名,匹配项跟文件名一致,对于可变文件名,匹配项为以”^”开头并以”$”结束的正则表达式。
其中,所述的分组用于组织同一功能需求下载的文件,所述匹配条目用于匹配需要下载的文件。
其中,步骤S3中根据配置文件组件的内容扫描文件系统的具体步骤是:
S31、使用分隔符把配置条目分割成多个匹配项,我们称为匹配数组;
S32、从匹配数组中取出一个匹配项;
S33、如果匹配项以^开头以$结尾,那么遍历当前目录,使用模式匹配匹配文件/文件夹,如果没有匹配任意文件,则匹配过程结束,否则跳到步骤S35;
S34、否则直接判断当前目录下是否存在该名字的文件;如果找不到匹配的文件/文件夹,那么匹配过程结束;
S35、如果当前的匹配项是最后一个匹配项,则该文件或者文件夹是要下载的文件/文件夹,将其加入下载列表;
S36、如果匹配的不是目录项,匹配失败;否则进入匹配的目录,然后回到步骤S32。
基于模式匹配快速批量下载安卓文件的系统,包括:
第一调用单元,用于客户端通过调用安卓调试桥ADB将下载服务器组件以及配置文件组件发送至服务端;
第二调用单元,用于客户端通过调用安卓调试桥ADB启动下载客户端组件并与下载服务器组件通信连接;
文件查找获取单元,用于下载服务器组件运行后监听本地端口,根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
发送单元,用于下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
接收保存单元,用于下载客户端组件接收服务器发送过来的文件并将文件 保存到本地文件系统。
与现有技术相比,本发明具有批量下载,能够根据模式匹配文件,下载速度快,不受文件权限影响并且能够主动修改名称的特点,解决了目前使用adb pull指令下载方式的诸多缺点,可以实现快速批量的从安卓系统上下载文件,下载过程稳定,多次下载文件一致。采用此技术后可以缩短下载必须时间,大幅提高相关司法取证工作人员的工作效率,节省宝贵时间开支,强悍有力得支持司法工作的迅速有效展开。
附图说明
图1为本发明一实施例的原理框图;
图2为本发明一实施例下载服务器组件的主要流程图;
图3为本发明一实施例下载客户端组件的主要流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。现结合附图和具体实施方式对本发明进一步说明。
结合图1,示出了本发明一实施例原理框图,本实施例方法的总体工作过程如下:
1)采集设备通过adb push的方式将下载服务器组件和配置文件组件推送到Android系统上;
2)采集设备通过adb forward的方式实现客户端和服务端的tcp通信代理;
3)采集设备通过adb shell以su的方式启动下载服务器组件;
4)采集设备启动下载客户端组件,客户端启动后通过tcp/ip连接服务器组件;
5)下载服务器组件运行后监听本地端口,然后根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
6)下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
7)下载客户端组件接收服务器发送过来的文件并将文件保存到本地文件系统;
本实施例中的采集设备所对应的客户端可以是台式电脑、笔记本电脑或其他终端,服务器端所对应的为基于安卓系统的移动终端,可以是手机、平板电脑等。
本实施例中的下载配置组件包括包括文件匹配规则和配置文件两部分,其中,文件匹配规则定义如下:
1)每一条匹配条目由多个匹配项组成,匹配项之间用“/”作为分割符号,
2)每个匹配项匹配一个文件名或者目录名,
3)匹配条目的多个匹配项连续匹配文件的完整路径,
4)对于固定文件名,匹配项跟文件名一致,对于可变文件名,匹配项为以”^”开头并以”$”结束的正则表达式;
举例如下:比如要下载/data/misc/wifi/wpa.conf这个文件,因为文件名是已知的,因此下载规则就等于/data/misc/wifi/wpa.conf;如果要下载类似于/data/data/com.tencent.mobileqq/databases/123456.db的非固定名称的文件(其中123456是QQ号码,该部分是可变的),则可变部分使用正则表达式”^[0-9]{5,}\.db$”实现模式匹配,因此匹配条目为/data/data/com.tencent.mobileqq/databases/^[0-9]{5,}\.db$。
配置文件组织规则如下:配置文件由多个分组组成,每个分组包括多条匹配条目。分组定义逻辑功能,用于组织一个功能需求需要下载的文件,比如分组可以是QQ、微信、邮件、通信录等;匹配条目用于匹配需要下载的文件。通过这样的组织方式,采集设备在在采集特定数据时就可以只下载特定的文件,比如采集通信录信息就可以只下载通信录相关的文件。
结合图2,下载服务器组件的主要流程:以su的方式启动下载服务器组件,下载服务器组件启动后首先启动本地端口监听,以便客户端可以随时连接进来,然后解析配置文件,根据配置文件信息查找需要下载的文件,查找完文件后等待客户端连接后将找到的文件推送给下载客户端,发送完所有文件后向客户端发送结束标识后退出。
本实施例中文件查找具体过程如下:
1)使用分隔符把配置条目分割成多个匹配项,我们称为匹配数组;
2)从匹配数组中取出一个匹配项;
3)如果匹配项以^开头以$结尾,那么遍历当前目录,使用模式匹配匹配文件/文件夹,如果没有匹配任意文件,则匹配过程结束,否则跳到步骤5);
4)否则直接判断当前目录下是否存在该名字的文件;如果找不到匹配的文件/文件夹,那么匹配过程结束;
5)如果当前的匹配项是最后一个匹配项,则该文件或者文件夹是要下载的文件/文件夹,将其加入下载列表;
6)如果匹配的不是目录项,匹配失败;否则进入匹配的目录,然后回到步骤2)。
结合图3,示出了下载客户端组件主要工作流程:
1)接收下载服务器发送过来的数据流;
2)判断是否结束标志,如果是则完成接收;
3)接收文件元数据信息创建文件;
4)接收文件内容并写入文件;
5)回到步骤一;
在本实施例中:
A.因为下载服务器是以su方式启动的,也就拥有root权限,因此可以直接读取/data分区的文件。该方式解决了使用adb pull无法直接下载/data分区文件的缺陷;同时因为是root用户,不需要改变文件权限,节省了改变文件权限的时间开销;并且不会由于系统中途又改变文件权限导致无法下载的问题;
B.因为下载服务器查找完所有的文件后一次性将所有的文件发送给下载客户端,避免了adb pull无法一次下载多个不同位置文件的缺陷,提高的下载的性能;
C.因为使用的是模式匹配的方式,在不知道确切文件名的情况下,只需根据文件名特征编写对应的正则表达式就能够找到需要下载的文件,而adb pull的方式在不知道切确文件名则无法下载文件。
基于上述的基于模式匹配快速批量下载安卓文件的方法,本发明还提出基于模式匹配快速批量下载安卓文件的系统,包括:
第一调用单元,用于客户端通过调用安卓调试桥ADB将下载服务器组件以及配置文件组件发送至服务端;
第二调用单元,用于客户终端通过调用安卓调试桥ADB启动下载客户端组件并与下载服务器组件通信连接;
文件查找获取单元,用于下载服务器组件运行后监听本地端口,根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
发送单元,用于下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
接收保存单元,用于下载客户端组件接收服务器发送过来的文件并将文件 保存到本地文件系统。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (7)
1.基于模式匹配快速批量下载安卓文件的方法,其特征在于:包括以下步骤:
S1、客户端通过调用安卓调试桥ADB将下载服务器组件以及配置文件组件发送至服务端;
S2、客户端通过调用安卓调试桥ADB启动下载客户端组件并与下载服务器组件通信连接;
S3、下载服务器组件运行后监听本地端口,根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
S4、下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
S5、下载客户端组件接收服务器发送过来的文件并将文件保存到本地文件
系统。
2.根据权利要求1所述的方法,其特征在于:步骤S1和S3所述的配置文件组件包括文件匹配规则和配置文件。
3.根据权利要求2所述的方法,其特征在于:所述的配置文件包括一个或多个分组,每个分组包括一条或多条匹配条目。
4.根据权利要求2所述的方法,其特征在于:所述的文件匹配规则如下:
每一条匹配条目由多个匹配项组成,匹配项之间用“/”作为分割符号,
每个匹配项匹配一个文件名或者目录名,
匹配条目的多个匹配项连续匹配文件的完整路径,
对于固定文件名,匹配项跟文件名一致,对于可变文件名,匹配项为以”^”开头并以”$”结束的正则表达式。
5.根据权利要求3所述的方法,其特征在于:所述的分组用于组织同一功能需求下载的文件,所述匹配条目用于匹配需要下载的文件。
6.根据权利要求4所述的方法,其特征在于:步骤S3中根据配置文件组件的内容扫描文件系统的具体步骤是:
S31、使用分隔符把配置条目分割成多个匹配项,我们称为匹配数组;
S32、从匹配数组中取出一个匹配项;
S33、如果匹配项以^开头以$结尾,那么遍历当前目录,使用模式匹配匹配文件/文件夹,如果没有匹配任意文件,则匹配过程结束,否则跳到步骤S35;
S34、否则直接判断当前目录下是否存在该名字的文件;如果找不到匹配的文件/文件夹,那么匹配过程结束;
S35、如果当前的匹配项是最后一个匹配项,则该文件或者文件夹是要下载的文件/文件夹,将其加入下载列表;
S36、如果匹配的不是目录项,匹配失败;否则进入匹配的目录,然后回到步骤S32。
7.基于模式匹配快速批量下载安卓文件的系统,其特征在于:包括:
第一调用单元,用于客户端通过调用安卓调试桥ADB将下载服务器组件以及配置文件组件发送至服务端;
第二调用单元,用于客户端通过调用安卓调试桥ADB启动下载客户端组件并与下载服务器组件通信连接;
文件查找获取单元,用于下载服务器组件运行后监听本地端口,根据配置文件组件的内容扫描文件系统,获取需要下载的文件;
发送单元,用于下载服务器组件等待客户端的连接,待客户端连接后将扫描到的文件发送给下载客户端组件;
接收保存单元,用于下载客户端组件接收服务器发送过来的文件并将文件 保存到本地文件系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610351848.8A CN105930196B (zh) | 2016-05-25 | 2016-05-25 | 基于模式匹配快速批量下载安卓文件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610351848.8A CN105930196B (zh) | 2016-05-25 | 2016-05-25 | 基于模式匹配快速批量下载安卓文件的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930196A true CN105930196A (zh) | 2016-09-07 |
CN105930196B CN105930196B (zh) | 2019-03-22 |
Family
ID=56842291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610351848.8A Active CN105930196B (zh) | 2016-05-25 | 2016-05-25 | 基于模式匹配快速批量下载安卓文件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930196B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762979A (zh) * | 2018-04-17 | 2018-11-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于匹配树的终端信息备份方法及备份设备 |
CN109089252A (zh) * | 2018-09-26 | 2018-12-25 | 广州高清视信数码科技股份有限公司 | 一种安卓智能设备的adb连接控制方法、系统和装置 |
CN110727936A (zh) * | 2019-08-26 | 2020-01-24 | 上海商米科技集团股份有限公司 | 为应用授权的方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309795A (zh) * | 2012-03-08 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 软件测试方法和系统 |
CN103699597A (zh) * | 2013-12-12 | 2014-04-02 | 北京奇虎科技有限公司 | 通过浏览器进行文件下载的方法及浏览器 |
CN103793298A (zh) * | 2014-03-03 | 2014-05-14 | 公安部第三研究所 | 实现Android手机信息读取的方法 |
CN104252587A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 拉取文件的方法、装置及系统 |
CN105005474A (zh) * | 2015-07-02 | 2015-10-28 | 盘石软件(上海)有限公司 | 一种对Android手机信息进行秘密提取的微型设备和提取方法 |
CN105022949A (zh) * | 2015-07-02 | 2015-11-04 | 盘石软件(上海)有限公司 | 一种对安卓手机进行证据固定的手持设备以及固定方法 |
-
2016
- 2016-05-25 CN CN201610351848.8A patent/CN105930196B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309795A (zh) * | 2012-03-08 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 软件测试方法和系统 |
CN104252587A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 拉取文件的方法、装置及系统 |
CN103699597A (zh) * | 2013-12-12 | 2014-04-02 | 北京奇虎科技有限公司 | 通过浏览器进行文件下载的方法及浏览器 |
CN103793298A (zh) * | 2014-03-03 | 2014-05-14 | 公安部第三研究所 | 实现Android手机信息读取的方法 |
CN105005474A (zh) * | 2015-07-02 | 2015-10-28 | 盘石软件(上海)有限公司 | 一种对Android手机信息进行秘密提取的微型设备和提取方法 |
CN105022949A (zh) * | 2015-07-02 | 2015-11-04 | 盘石软件(上海)有限公司 | 一种对安卓手机进行证据固定的手持设备以及固定方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762979A (zh) * | 2018-04-17 | 2018-11-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于匹配树的终端信息备份方法及备份设备 |
CN108762979B (zh) * | 2018-04-17 | 2021-08-10 | 厦门市美亚柏科信息股份有限公司 | 一种基于匹配树的终端信息备份方法及备份设备 |
CN109089252A (zh) * | 2018-09-26 | 2018-12-25 | 广州高清视信数码科技股份有限公司 | 一种安卓智能设备的adb连接控制方法、系统和装置 |
CN110727936A (zh) * | 2019-08-26 | 2020-01-24 | 上海商米科技集团股份有限公司 | 为应用授权的方法和设备 |
CN110727936B (zh) * | 2019-08-26 | 2022-10-21 | 上海商米科技集团股份有限公司 | 为应用授权的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105930196B (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324177B (zh) | 一种微服务架构下的服务请求处理方法、系统及介质 | |
CN104202360B (zh) | 访问网页的方法、装置及路由器 | |
US8630978B2 (en) | Method of bi-directional synchronization of user data | |
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN105897888B (zh) | 一种客户端连接方法及系统 | |
US20140082007A1 (en) | Method, system and storage medium for pushing user's personal label dynamically | |
CN105930196A (zh) | 基于模式匹配快速批量下载安卓文件的方法及系统 | |
CN104199863A (zh) | 存储设备上的文件的查找方法、装置及路由器 | |
CN104488248A (zh) | 一种文件同步方法、服务器及终端 | |
CN103200247B (zh) | 一种数据下载方法和pc下载客户端 | |
CN104838379A (zh) | 数据库同步 | |
US20020052889A1 (en) | Method for managing alterations of contents | |
JP4111881B2 (ja) | データ同期制御装置、データ同期制御方法及びデータ同期制御プログラム | |
CN108846121A (zh) | 一种数据搜索方法和装置 | |
CN109408471B (zh) | 一种基于匹配树的压缩包解压方法、装置及存储介质 | |
CN102377688B (zh) | 一种文件的传输方法和设备 | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
US11599396B2 (en) | Resegmenting chunks of data based on source type to facilitate load balancing | |
CN108762979B (zh) | 一种基于匹配树的终端信息备份方法及备份设备 | |
CN108008984A (zh) | 一种资源文件下载更新方法及装置 | |
CN100442715C (zh) | 设备管理中计划任务的实现方法 | |
CN113918096A (zh) | 一种算法镜像包的上传方法、装置及应用 | |
CN109901933B (zh) | 业务系统的操作方法及装置、存储介质、电子装置 | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
JP2001034548A (ja) | 電子メール処理システム、電子メール処理方法、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |