WO2017206897A1 - 识别文件的方法及相关设备 - Google Patents

识别文件的方法及相关设备 Download PDF

Info

Publication number
WO2017206897A1
WO2017206897A1 PCT/CN2017/086544 CN2017086544W WO2017206897A1 WO 2017206897 A1 WO2017206897 A1 WO 2017206897A1 CN 2017086544 W CN2017086544 W CN 2017086544W WO 2017206897 A1 WO2017206897 A1 WO 2017206897A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
directory
header identifier
identifier
indicated
Prior art date
Application number
PCT/CN2017/086544
Other languages
English (en)
French (fr)
Inventor
李辉
Original Assignee
广东欧珀移动通信有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 广东欧珀移动通信有限公司 filed Critical 广东欧珀移动通信有限公司
Priority to EP17805842.6A priority Critical patent/EP3401782B1/en
Publication of WO2017206897A1 publication Critical patent/WO2017206897A1/zh
Priority to US16/119,155 priority patent/US10599413B2/en
Priority to US16/244,813 priority patent/US10452376B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Definitions

  • a determining module configured to determine a starting mark position of the file directory according to an end mark position of a file directory acquired by the obtaining module
  • the mobile terminal may determine the starting tag location of the file directory according to the end tag location of the file directory, to determine the location range of the file directory in the binary format of the installation file and the binary start tag location of the file directory.
  • step S304 after determining the starting mark position in the binary format of the file directory, traversing all the file header identifiers for indicating the file according to the starting mark position of the file directory, and generating a file list according to all the found file header identifiers. Identify the file indicated by the file header identifier by analyzing each file header identifier in the file list. Wherein, it can be determined whether the file header identifier includes a first identifier, and the first identifier can be .bc for indicating a RenderScript file. The mobile terminal determines whether a RenderScript file exists by determining whether the file header identifier includes the first identifier. If the determination is yes, step S304 is performed, and if it is determined otherwise, step S313 is executed, and the scanning process ends.
  • the mobile terminal when the mobile terminal determines that the file header identifier includes the second identifier, it identifies that the file indicated by the file header identifier is a .so file.
  • the check value of the file indicated by the file header identifier may be a check value of a CRC (Cyclic Redundancy Check).
  • the determining unit 4021 is configured to determine whether the file header identifier includes a first identifier for indicating a rendering script file.
  • the communication interface 603 is configured to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供了一种识别文件的方法,包括:获取安装文件,获取所述安装文件的文件目录的结束标记位置;根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置;根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。本发明实施例还公开了相关设备。采用本发明,可通过扫描安装文件中文件头标识识别所述文件头标识指示的文件,减少开机或安装应用程序前对安装文件的扫描时间。

Description

识别文件的方法及相关设备
本发明要求2016年5月31日递交的发明名称为“一种识别文件的方法及移动终端”的申请号201610380642.8的在先申请优先权,上述在先申请的内容以引入的方式并入本文本中。
技术领域
本发明涉及电子技术领域,尤其涉及一种识别文件的方法及相关设备。
背景技术
当前智能终端支持的应用越来越多,但也伴随着开机速度的降低,导致开机时间以及应用程序安装的时间越来越长。在智能终端开机或者安装应用程序时,需要扫描应用程序的安卓安装包(Android Package),即APK文件。Apk文件本身是一个zip包,在扫描Apk文件时,需要解压Apk文件中的所有文件,才能识别出Apk文件中保存的native(原生)库文件和RenderScript(渲染脚本)文件,通过遍历native库文件和RenderScript文件实现扫描的过程,在遍历native库文件和RenderScript文件的过程中就会耗费大量的扫描时间,导致开机或者安装应用程序的时间增加。
发明内容
本发明提供一种识别文件的方法及相关设备,可通过扫描安装文件中文件头标识识别所述文件头标识指示的文件,减少开机或安装应用程序前对安装文件的扫描时间。
本发明第一方面提供一种识别文件的方法,包括:
获取安装文件,获取所述安装文件的文件目录的结束标记位置;
根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置;
根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
本发明第二方面提供一种识别文件的装置,包括:
获取模块,用于获取安装文件,获取所述安装文件的文件目录的结束标记位置;
确定模块,用于根据所述获取模块获取的文件目录的结束标记位置确定所述文件目录的起始标记位置;
识别模块,用于根据所述确定模块确定的文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
第三方面,本发明实施例提供了一种移动终端,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如本发明实施例第一方面任一方法中所描述的部分或全部步骤。
第四方面,本发明提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述第一方面记载的一种信息处理方法的部分或全部步骤。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种识别文件的方法的一实施例的流程示意图;
图2是本发明实施例的一种识别文件的方法的另一实施例的流程示意图;
图3是本发明实施例的一种识别文件的方法的另一实施例的流程示意图;
图4是本发明实施例的一种识别文件的装置的结构示意图;
图5是本发明实施例的另一种识别文件的装置的结构示意图;
图6是本发明实施例的一种移动终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
采用本发明实施例,可通过扫描安装文件中文件头标识识别所述文件头标识指示的文件,减少开机或安装应用程序前对安装文件的扫描时间。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本发明实施例的一种识别文件的方法的一实施例的流程示意图。其中,移动终端例如可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表(如iwatch等)、智能手环、计步器等)或其他终端设备。
如图1所示,本发明实施例的一种识别文件的方法的一实施例可以包括以下步骤。
S100,获取安装文件,获取所述安装文件的文件目录的结束标记位置。
具体实现中,在开机或安装应用程序时,需要获取应用程序的安装文件,并通过提取安装文件的格式中文件目录的结构实现部分扫描。文件目录中指示应用程序的各个文件,通过对文件目录中用于指示各个文件的文件头标识进行扫描识别各个文件,能够减少解压安装文件中所有文件并识别出native(原生)库文件和RenderScript(渲染脚本)文件的步骤。安装文件本身是一个zip包,因此可获取zip包的文件目录的结束标记位置。
作为一种可实施的方式,zip包的文件目录的结束标记位置可位于安装文件的二进制格式中0x06054b50处的位置。
S101,根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置。
具体实现中,移动终端可根据文件目录的结束标记位置,确定文件目录的起始标记位置,以确定文件目录在安装文件的二进制格式中的位置范围以及文件目录的二进制的起始标记位置。
S102,根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
具体实现中,在确定文件目录在安装文件的二进制格式中的位置范围以及文件目录的二进制格式中的起始标记位置之后,根据文件目录的起始标记位置遍历查找所有用于指示文件的文件头标识,根据所有查找到的文件头标识生成文件列表,通过分析文件列表中的每个文件头标识来识别文件头标识指示的文件。完成分析文件头标识的过程后,在开机或安装应用程序时,即可初始化应用程序。
作为一种可实施的方式,文件头标识的位置可位于安装文件的二进制格式中0x04034b50处的位置。
采用本发明实施例,在开机或安装应用程序时,先获取安装文件,获取所述安装文件的文件目录的结束标记位置,根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置,最后根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件,可减少解压安装文件中所有文件的过程,减少开机或安装应用程序前对安装文件中所有文件的扫描时间,提高开机或安装应用程序的效率。
请参阅图2,图2是本发明实施例的一种识别文件的方法的另一实施例的流程示意图。其中,移动终端例如可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表(如iwatch等)、智能手环、计步器等)或其他终端设备。
如图2所示,本发明实施例的一种识别文件的方法的另一实施例可以包括 以下步骤。
S200,获取安装文件,获取所述安装文件的文件目录的结束标记位置。
具体实现中,在开机或安装应用程序时,需要获取应用程序的安装文件,并通过提取安装文件的格式中文件目录的结构实现部分扫描。文件目录中指示应用程序的各个文件,通过对文件目录中用于指示各个文件的文件头标识进行扫描识别各个文件,能够减少解压安装文件中所有文件并识别出native(原生)库文件和RenderScript(渲染脚本)文件的步骤。安装文件本身是一个zip包,因此可获取zip包的文件目录的结束标记位置。
作为一种可实施的方式,zip包的文件目录的结束标记位置可位于安装文件的二进制格式中0x06054b50处的位置。
S201,获取所述文件目录占用所述安装文件的容量,根据所述文件目录的结束标记位置以及所述文件目录占用所述安装文件的容量确定所述文件目录相对所述安装文件的起始位置的距离。
具体实现中,移动终端在确定文件目录的结束标记位置后,可获取该文件目录占用安装文件的容量(例如字节数),再根据文件目录的结束标记位置以及该文件目录占用安装文件的字节数确定文件目录相对安装文件的起始位置的距离。
S202,根据所述文件目录相对所述安装文件的起始位置的距离确定所述文件目录的起始标记位置。
具体实现中,移动终端确定出文件目录相对安装文件的起始位置的距离之后,即可确定文件目录的起始标记位置。例如,文件目录占用安装文件的字节数为12个字节,通过确定文件目录的结束标记位置与文件目录占用安装文件的字节数为12个字节确定文件目录相对安装文件的起始位置的偏移为16个字节。由此可确定,文件目录的起始标记位置在安装文件的起始位置的偏移16个字节开始,其容量为12个字节。
S203,根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
具体实现中,在确定文件目录的二进制格式中的起始标记位置之后,根据文件目录的起始标记位置遍历查找所有用于指示文件的文件头标识,根据所有 查找到的文件头标识生成文件列表,通过分析文件列表中的每个文件头标识来识别文件头标识指示的文件。完成分析文件头标识的过程后,在开机或安装应用程序时,即可初始化应用程序。
作为一种可实施的方式,文件头标识的位置可位于安装文件的二进制格式中0x04034b50处的位置。
采用本发明实施例,在开机或安装应用程序时,先获取安装文件,获取所述安装文件的文件目录的结束标记位置,根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置,最后根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件,可减少解压安装文件中所有文件的过程,减少开机或安装应用程序前对安装文件中所有文件的扫描时间,提高开机或安装应用程序的效率。
请参阅图3,图3是本发明实施例的一种识别文件的方法的另一实施例的流程示意图。其中,移动终端例如可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表(如iwatch等)、智能手环、计步器等)或其他终端设备。
如图3所示,本发明实施例的一种识别文件的方法的另一实施例可以包括以下步骤。
S300,获取安装文件,获取所述安装文件的文件目录的结束标记位置。
具体实现中,在开机或安装应用程序时,需要获取应用程序的安装文件,并通过提取安装文件的格式中文件目录的结构实现部分扫描。文件目录中指示应用程序的各个文件,通过对文件目录中用于指示各个文件的文件头标识进行扫描识别各个文件,能够减少解压安装文件中所有文件并识别出native(原生)库文件和RenderScript(渲染脚本)文件的步骤。安装文件本身是一个zip包,因此可获取zip包的文件目录的结束标记位置。
作为一种可实施的方式,zip包的文件目录的结束标记位置可位于安装文件的二进制格式中0x06054b50处的位置。
S301,获取所述文件目录占用所述安装文件的容量,根据所述文件目录的结束标记位置以及所述文件目录占用所述安装文件的容量确定所述文件目录 相对所述安装文件的起始位置的距离。
具体实现中,移动终端在确定文件目录的结束标记位置后,可获取该文件目录占用安装文件的容量(例如字节数),再根据文件目录的结束标记位置以及该文件目录占用安装文件的字节数确定文件目录相对安装文件的起始位置的距离。
S302,根据所述文件目录相对所述安装文件的起始位置的距离确定所述文件目录的起始标记位置。
具体实现中,移动终端确定出文件目录相对安装文件的起始位置的距离之后,即可确定文件目录的起始标记位置。例如,文件目录占用安装文件的字节数为12个字节,通过确定文件目录的结束标记位置与文件目录占用安装文件的字节数为12个字节确定文件目录相对安装文件的起始位置的偏移为16个字节。由此可确定,文件目录的起始标记位置在安装文件的起始位置的偏移16个字节开始,其容量为12个字节。
S303,根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,判断所述文件头标识是否包含用于指示渲染脚本文件的第一标识。
具体实现中,在确定文件目录的二进制格式中的起始标记位置之后,根据文件目录的起始标记位置遍历查找所有用于指示文件的文件头标识,根据所有查找到的文件头标识生成文件列表,通过分析文件列表中的每个文件头标识来识别文件头标识指示的文件。其中,可判断文件头标识是否包含第一标识,第一标识可为.bc,用于指示RenderScript(渲染脚本)文件。移动终端通过判断文件头标识是否包含第一标识确定是否存在RenderScript文件。若判断为是则执行步骤S304,若判断为否则执行S313,扫描流程结束。
S304,若判断为是,则识别出所述文件头标识指示的文件为渲染脚本文件。
具体实现中,当步骤S303的判断结果为是时,则识别出该文件头标识指示的文件为RenderScript文件,则通知系统存在RenderScript文件,完成对该文件的识别。
S305,根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,从所述文件目录中获取Lib库目录。
具体实现中,移动终端通过确定文件目录中的文件头标识,生成文件列表, 并判断文件目录中是否存在Lib库目录,若判断为是,则获取Lib目录。
S306,从所述Lib目录中获取包含第二标识的文件头标识,所述第二标识用于指示动态链接库文件。
具体实现中,Lib目录包含文件头标识,移动终端可从Lib目录中获取包含第二标识的文件头标识,第二标识可为.so(Shared Object),用于指示动态链接库文件。
S307,识别出所述包含第二标识的文件头标识指示的文件为动态链接库文件。
具体实现中,当移动终端确定文件头标识包含第二标识时,则识别出该文件头标识指示的文件为.so文件。
S308,确定所述包含第二标识的文件头标识指示的文件所属的Lib目录的子目录支持应用程序接口。
具体实现中,当移动终端识别出.so文件时,获取该.so文件所属的Lib目录的子目录,并确定该子目录能够匹配到abi(Application Binary Interface,应用程序接口),其中子目录可匹配到abi下的arm64-v8a、armeabi-v7a、armeabi的任意一种。如果.so文件所属的Lib目录的子目录支持arm64-v8a、armeabi-v7a、armeabi的任意一种,则确定.so文件所属的Lib目录的子目录支持abi。
S309,根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
具体实现中,步骤S309-S312是对native库文件的识别、查找以及拷贝的流程。移动终端通过确定文件目录中的文件头标识,生成文件列表,并通过分析文件头标识识别文件头标识指示的文件。
S310,获取所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值。
具体实现中,可获取文件头标识指示的文件的容量,文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值。可选的,文件头标识指示的文件的容量可为解压后的大小。具体地,可从文件头标识的起始位置开始,在偏移文件头标识的起始位置的第22个字节的位置 获取文件头标识指示的文件解压后的大小,在偏移文件头标识的起始位置的第10个字节的位置获取文件头标识指示的文件的距离当前时间最近的修改时间,在偏移文件头标识的起始位置的第14个字节的位置获取文件头标识指示的文件的校验值。
可选的,文件头标识指示的文件的校验值可为CRC(Cyclic Redundancy Check,循环冗余校验码)的校验值。
S311,根据所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值,判断所述文件头标识指示的文件是否与Lib库目录包括的动态链接库文件相同。
具体实现中,可通过文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值,与Lib库目录包括的动态链接库文件(.so文件)的容量、.so文件的距离当前时间最近的修改时间以及.so文件的校验值进行比较,判断文件头标识指示的文件是否与Lib库目录包括的.so文件相同。也可由此判断Lib目录中对应的.so文件是否被修改或者不存在,如果确定文件头标识指示的文件与Lib目录包括的.so文件不相同,则确定Lib目录中对应的.so文件被修改或者不存在,则执行步骤S312;如果确定文件头标识指示的文件与Lib库目录包括的.so文件相同,则执行步骤S313,扫描过程结束。
可选的,.so文件不仅可包括在Lib目录中,也可包括在data(数据)的目录、app(应用程序)的目录和/或应用包名的目录中。
S312,若判断为否,则解压所述文件头标识指示的文件到所述Lib目录中。
具体实现中,当移动终端确定文件头标识指示的文件与Lib库目录包括的.so文件不相同时,则确定Lib库目录中对应的.so文件被修改或者不存在,因此可将该文件头标识指示的文件进行解压,并保存在Lib目录中。
可选的,该文件头标识指示的文件也可解压到data(数据)的目录、app(应用程序)的目录和/或应用包名的目录中。
S313,结束。
值得注意的是,步骤S303-S304和S313、步骤S305-S308、步骤S309-S313 可并行执行,本实施例不作限定。
采用本发明实施例,在开机或安装应用程序时,先获取安装文件,获取所述安装文件的文件目录的结束标记位置,根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置,最后根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件,可减少解压安装文件中所有文件的过程,减少开机或安装应用程序前对安装文件中所有文件的扫描时间,提高开机或安装应用程序的效率。
请参阅图4,图4是本发明实施例的一种识别文件的装置的结构示意图。实施例图4所示的识别文件的装置执行实施例图1至图3所示的一种识别文件的方法,本实施例则不再赘述。如图4所示的识别文件的装置包括获取模块400、确定模块401以及识别模块402。
获取模块400,用于获取安装文件,获取所述安装文件的文件目录的结束标记位置;
确定模块401,用于根据所述获取模块400获取的文件目录的结束标记位置确定所述文件目录的起始标记位置;
识别模块402,用于根据所述确定模块401确定的文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
具体实现中,在开机或安装应用程序时,需要获取应用程序的安装文件,并通过提取安装文件的格式中文件目录的结构实现部分扫描。文件目录中指示应用程序的各个文件,通过对文件目录中用于指示各个文件的文件头标识进行扫描识别各个文件,能够减少解压安装文件中所有文件并识别出native(原生)库文件和RenderScript(渲染脚本)文件的步骤。安装文件本身是一个zip包,因此可获取zip包的文件目录的结束标记位置。
具体实现中,移动终端可根据文件目录的结束标记位置,确定文件目录的起始标记位置,以确定文件目录在安装文件的二进制格式中的位置范围以及文件目录的二进制的起始标记位置。
具体实现中,在确定文件目录在安装文件的二进制格式中的位置范围以及 文件目录的二进制格式中的起始标记位置之后,根据文件目录的起始标记位置遍历查找所有用于指示文件的文件头标识,根据所有查找到的文件头标识生成文件列表,通过分析文件列表中的每个文件头标识来识别文件头标识指示的文件。完成分析文件头标识的过程后,在开机或安装应用程序时,即可初始化应用程序。
可选的,如图5所示,所述确定模块401,包括获取单元4011、确定单元4012。
获取单元4011,用于获取所述文件目录占用所述安装文件的容量,根据所述文件目录的结束标记位置以及所述文件目录占用所述安装文件的容量确定所述文件目录相对所述安装文件的起始位置的距离;
确定单元4012,根据所述文件目录相对所述安装文件的起始位置的距离确定所述文件目录的起始标记位置。
可选的,如图5所示,所述识别模块402包括判断单元4021、第一识别单元4022。
判断单元4021,用于判断所述文件头标识是否包含用于指示渲染脚本文件的第一标识;
第一识别单元4022,用于当所述第一判断单元的判断结果为是时,则识别出所述文件头标识指示的文件为渲染脚本文件。
可选的,所述获取模块400还用于:
从所述文件目录中获取Lib库目录;
如图5所示,所述识别模块402包括获取单元4023、第二识别单元4024。
获取单元4023,用于从所述Lib目录中获取包含第二标识的文件头标识,所述第二标识用于指示动态链接库文件;
第二识别单元4024,用于识别出所述包含第二标识的文件头标识指示的文件为动态链接库文件;
所述确定模块401还用于:
确定所述包含第二标识的文件头标识指示的文件所属的Lib目录的子目录支持应用程序接口。
可选的,所述获取模块400还用于:
获取所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值;
如图5所示,所述识别文件的装置还包括判断模块403、解压模块404。
判断模块403,用于根据所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值,判断所述文件头标识指示的文件是否与Lib库目录包括的动态链接库文件相同;
解压模块404,用于当所述判断模块的判断结果为否时,则解压所述文件头标识指示的文件到所述Lib目录中。
可选的,所述安装文件的文件目录的结束标记位置位于安装文件的二进制格式中0x06054b50处的位置。
可选的,所述文件头标识的位置位于安装文件的二进制格式中0x04034b50处的位置。
可选的,所述文件头标识指示的文件的校验值为循环冗余校验码(CRC)的校验值。
可选的,所述文件头标识指示的文件解压到data(数据)的目录、app(应用程序)的目录和/或应用包名的目录中。
采用本发明实施例,在开机或安装应用程序时,先获取安装文件,获取所述安装文件的文件目录的结束标记位置,根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置,最后根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件,可减少解压安装文件中所有文件的过程,减少开机或安装应用程序前对安装文件中所有文件的扫描时间,提高开机或安装应用程序的效率。
需要说明的是,上述各模块(获取模块400、确定模块401、识别模块402、判断模块403和解压模块404)用于执行上述图1-图3所述方法的相关步骤。
在本实施例中,识别文件的装置400是以模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,获取模块400、确定模块401、识别模块402、 判断模块403和解压模块404可通过图6所示的移动终端的处理器601来实现。
如图6所示,移动终端600可以以图6中的结构来实现,该移动终端600包括至少一个处理器601,至少一个存储器602、至少一个通信接口603、指纹识别模组604。所述处理器601、所述存储器602和所述通信接口603通过所述通信总线连接并完成相互间的通信。
处理器601可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口603,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器602可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器602用于存储执行以上方案的应用程序代码,并由处理器601来控制执行。所述处理器601用于执行所述存储器602中存储的应用程序代码。
存储器602存储的代码可执行以上提供的移动终端执行的图1-图3的识别文件的方法,比如获取安装文件,获取所述安装文件的文件目录的结束标记位置;根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置;根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
本发明实施例还提供一种计算机可存储介质,其中,该计算机可存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种识别文件的方法的部分或全部步骤。
本发明实施例还提供了一种计算机程序产品,其中,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法中终端设备所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例的模块或模块,可以以通用集成电路(如中央处理器CPU),或以专用集成电路(ASIC)来实现。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

Claims (20)

  1. 一种识别文件的方法,其特征在于,包括:
    获取安装文件,获取所述安装文件的文件目录的结束标记位置;
    根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置;
    根据所述文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述文件目录的结束标记位置确定所述文件目录的起始标记位置,包括:
    获取所述文件目录占用所述安装文件的容量,根据所述文件目录的结束标记位置以及所述文件目录占用所述安装文件的容量确定所述文件目录相对所述安装文件的起始位置的距离;
    根据所述文件目录相对所述安装文件的起始位置的距离确定所述文件目录的起始标记位置。
  3. 根据权利要求1所述的方法,其特征在于,所述通过分析所述文件头标识识别所述文件头标识指示的文件,包括:
    判断所述文件头标识是否包含用于指示渲染脚本文件的第一标识;
    若判断为是,则识别出所述文件头标识指示的文件为渲染脚本文件。
  4. 根据权利要求1所述的方法,其特征在于,所述通过分析所述文件头标识识别所述文件头标识指示的文件之前,所述方法还包括:
    从所述文件目录中获取Lib库目录;
    则所述通过分析所述文件头标识识别所述文件头标识指示的文件,包括:
    从所述Lib目录中获取包含第二标识的文件头标识,所述第二标识用于指示动态链接库文件;
    识别出所述包含第二标识的文件头标识指示的文件为动态链接库文件;
    所述通过分析所述文件头标识识别所述文件头标识指示的文件之后,所述方法还包括:
    确定所述包含第二标识的文件头标识指示的文件所属的Lib目录的子目录支持应用程序接口。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    获取所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值;
    根据所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值,判断所述文件头标识指示的文件是否与Lib库目录包括的动态链接库文件相同;
    若判断为否,则解压所述文件头标识指示的文件到所述Lib目录中。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述安装文件的文件目录的结束标记位置位于安装文件的二进制格式中0x06054b50处的位置。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述文件头标识的位置位于安装文件的二进制格式中0x04034b50处的位置。
  8. 根据权利要求4-7任一项所述的方法,其特征在于,所述文件头标识指示的文件的校验值为循环冗余校验码(CRC)的校验值。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述文件头标识指示的文件解压到data(数据)的目录、app(应用程序)的目录和/或应用包名的目录中。
  10. 一种识别文件的装置,其特征在于,包括:
    获取模块,用于获取安装文件,获取所述安装文件的文件目录的结束标记位置;
    确定模块,用于根据所述获取模块获取的文件目录的结束标记位置确定所述文件目录的起始标记位置;
    识别模块,用于根据所述确定模块确定的文件目录的起始标记位置查找所述文件目录中的文件头标识,通过分析所述文件头标识识别所述文件头标识指示的文件。
  11. 根据权利要求10所述的装置,其特征在于,所述确定模块,包括:
    获取单元,用于获取所述文件目录占用所述安装文件的容量,根据所述文件目录的结束标记位置以及所述文件目录占用所述安装文件的容量确定所述文件目录相对所述安装文件的起始位置的距离;
    确定单元,根据所述文件目录相对所述安装文件的起始位置的距离确定所述文件目录的起始标记位置。
  12. 根据权利要求10所述的装置,其特征在于,所述识别模块包括:
    判断单元,用于判断所述文件头标识是否包含用于指示渲染脚本文件的第一标识;
    第一识别单元,用于当所述第一判断单元的判断结果为是时,则识别出所述文件头标识指示的文件为渲染脚本文件。
  13. 根据权利要求10所述的装置,其特征在于,所述获取模块还用于:
    从所述文件目录中获取Lib库目录;
    所述识别模块包括:
    获取单元,用于从所述Lib目录中获取包含第二标识的文件头标识,所述第二标识用于指示动态链接库文件;
    第二识别单元,用于识别出所述包含第二标识的文件头标识指示的文件为动态链接库文件;
    所述确定模块还用于:
    确定所述包含第二标识的文件头标识指示的文件所属的Lib目录的子目录支持应用程序接口。
  14. 根据权利要求10所述的装置,其特征在于,所述获取模块还用于:
    获取所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值;
    所述移动终端还包括:
    判断模块,用于根据所述文件头标识指示的文件的容量、所述文件头标识指示的文件的距离当前时间最近的修改时间以及所述文件头标识指示的文件的校验值,判断所述文件头标识指示的文件是否与Lib库目录包括的动态链接库文件相同;
    解压模块,用于当所述判断模块的判断结果为否时,则解压所述文件头标识指示的文件到所述Lib目录中。
  15. 根据权利要求10-14任一项所述的装置,其特征在于,所述安装文件的文件目录的结束标记位置位于安装文件的二进制格式中0x06054b50处的位 置。
  16. 根据权利要求10-14任一项所述的装置,其特征在于,所述文件头标识的位置位于安装文件的二进制格式中0x04034b50处的位置。
  17. 根据权利要求13-16任一项所述的装置,其特征在于,所述文件头标识指示的文件的校验值为循环冗余校验码(CRC)的校验值。
  18. 根据权利要求10-17任一项所述的装置,其特征在于,所述文件头标识指示的文件解压到data(数据)的目录、app(应用程序)的目录和/或应用包名的目录中。
  19. 一种移动终端,其特征在于,包括:
    存储有可执行程序代码的存储器;
    与所述存储器耦合的处理器;
    所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1至9任一项所述的方法。
  20. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序,所述程序执行时包括如权利要求1-9任一项所述的方法。
PCT/CN2017/086544 2016-05-31 2017-05-31 识别文件的方法及相关设备 WO2017206897A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17805842.6A EP3401782B1 (en) 2016-05-31 2017-05-31 File identification method and related device
US16/119,155 US10599413B2 (en) 2016-05-31 2018-08-31 Method and device for identifying file
US16/244,813 US10452376B2 (en) 2016-05-31 2019-01-10 Method for identifying file and mobile terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610380642.8A CN106055363B (zh) 2016-05-31 2016-05-31 一种识别文件的方法及移动终端
CN201610380642.8 2016-05-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/119,155 Continuation US10599413B2 (en) 2016-05-31 2018-08-31 Method and device for identifying file

Publications (1)

Publication Number Publication Date
WO2017206897A1 true WO2017206897A1 (zh) 2017-12-07

Family

ID=57172604

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/086544 WO2017206897A1 (zh) 2016-05-31 2017-05-31 识别文件的方法及相关设备

Country Status (4)

Country Link
US (2) US10599413B2 (zh)
EP (1) EP3401782B1 (zh)
CN (1) CN106055363B (zh)
WO (1) WO2017206897A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694576A (zh) * 2020-05-22 2020-09-22 中国航空工业集团公司西安航空计算技术研究所 一种综合化航电系统软件部署控制方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
CN106055363B (zh) * 2016-05-31 2017-11-14 广东欧珀移动通信有限公司 一种识别文件的方法及移动终端
CN106874776B (zh) * 2016-12-30 2020-06-09 厦门天锐科技股份有限公司 一种加密文件的解密方法
CN110413321A (zh) * 2018-04-28 2019-11-05 珠海全志科技股份有限公司 一种Android系统快速启动方法及装置
CN109408465B (zh) * 2018-10-29 2021-07-13 Oppo广东移动通信有限公司 文件归属信息记录方法、装置、存储介质及终端
US10983677B2 (en) * 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria
CN113626040B (zh) * 2020-05-06 2023-12-22 伊姆西Ip控股有限责任公司 用于安装应用的方法、电子设备和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191352A1 (en) * 2007-08-07 2013-07-25 International Business Machines Corporation Dynamic partial uncompression of a database table
CN104199673A (zh) * 2014-09-22 2014-12-10 联想(北京)有限公司 一种信息处理方法及装置
CN104573514A (zh) * 2013-10-29 2015-04-29 腾讯科技(深圳)有限公司 压缩文件的检测方法及装置
CN104572966A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种压缩文件的解压方法和装置
CN106055363A (zh) * 2016-05-31 2016-10-26 广东欧珀移动通信有限公司 一种识别文件的方法及移动终端

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289512B1 (en) * 1998-12-03 2001-09-11 International Business Machines Corporation Automatic program installation
US6769115B1 (en) * 2000-05-01 2004-07-27 Emc Corporation Adaptive interface for a software development environment
US7089552B2 (en) * 2002-08-29 2006-08-08 Sun Microsystems, Inc. System and method for verifying installed software
US8024382B2 (en) * 2009-01-20 2011-09-20 Autodesk, Inc. Dynamic manipulation of archive files
US20100242037A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Software Deployment over a Network
US8949737B2 (en) * 2009-10-28 2015-02-03 Red Hat, Inc. Centralized application package distribution
CN102902687B (zh) * 2011-07-27 2015-09-09 华为软件技术有限公司 资源文件的访问方法及装置
US8930940B2 (en) * 2011-08-19 2015-01-06 Yongyong Xu Online software execution platform
CN104252364B (zh) * 2013-06-25 2017-09-12 腾讯科技(深圳)有限公司 增量更新的方法、设备及系统
CN103646047A (zh) * 2013-11-25 2014-03-19 大连海联自动控制有限公司 Vb快速访问sql数据库的方法
CN104679534B (zh) * 2013-11-28 2019-11-19 南京中兴软件有限责任公司 系统应用安装包加载处理方法、装置及终端
CN104866504B (zh) * 2014-02-25 2018-07-06 北京娜迦信息科技发展有限公司 一种对Android软件进行功能扩展的方法及装置
CN105278989B (zh) * 2015-10-12 2018-04-06 北京顶象技术有限公司 Apk文件的快速加载方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191352A1 (en) * 2007-08-07 2013-07-25 International Business Machines Corporation Dynamic partial uncompression of a database table
CN104573514A (zh) * 2013-10-29 2015-04-29 腾讯科技(深圳)有限公司 压缩文件的检测方法及装置
CN104199673A (zh) * 2014-09-22 2014-12-10 联想(北京)有限公司 一种信息处理方法及装置
CN104572966A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种压缩文件的解压方法和装置
CN106055363A (zh) * 2016-05-31 2016-10-26 广东欧珀移动通信有限公司 一种识别文件的方法及移动终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694576A (zh) * 2020-05-22 2020-09-22 中国航空工业集团公司西安航空计算技术研究所 一种综合化航电系统软件部署控制方法
CN111694576B (zh) * 2020-05-22 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种综合化航电系统软件部署控制方法

Also Published As

Publication number Publication date
US20180364999A1 (en) 2018-12-20
US20190146770A1 (en) 2019-05-16
US10599413B2 (en) 2020-03-24
EP3401782A4 (en) 2019-04-10
EP3401782B1 (en) 2020-09-02
CN106055363A (zh) 2016-10-26
CN106055363B (zh) 2017-11-14
EP3401782A1 (en) 2018-11-14
US10452376B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
WO2017206897A1 (zh) 识别文件的方法及相关设备
US10212563B2 (en) Updating web resources
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
CN106462430B (zh) 应用升级包获取方法及装置
US20130227259A1 (en) Client terminal, operating system providing apparatus, and methods for supporting multiple operating systems
US9258357B2 (en) Method for accessing plural cloud storages, electronic apparatus and non-transitory computer readable medium
CN109587252A (zh) 运营商参数的加载方法、装置、电子设备及存储介质
WO2016202000A1 (zh) 差分回退升级方法及装置
KR102693699B1 (ko) 전자 장치에서 어플리케이션 업데이트 시 런타임 성능 개선 방법 및 장치
CN108491715B (zh) 终端指纹库的生成方法、装置和服务器
CN111831920A (zh) 用户需求分析方法、装置、计算机设备及存储介质
US12008171B2 (en) Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier
CN112181471A (zh) 差分升级方法及装置、存储介质、计算机设备
CN106897052B (zh) Apk文件压缩方法及装置
CN105975302A (zh) 一种应用安装方法及终端
WO2018006884A1 (zh) 一种软件安装方法及装置、用户终端
CN115390847A (zh) 日志处理方法及装置、计算机可读存储介质、终端
CN109002710B (zh) 一种检测方法、装置及计算机可读存储介质
US20140298316A1 (en) Managing method for application program installation and electronic device
CN109791485A (zh) 基于网状网络的空中调制解调器固件升级
CN109190367B (zh) 利用沙箱运行应用程序安装包的方法及装置
CN111556127B (zh) 一种可穿戴设备升级方法及相关设备
CN112286706B (zh) 安卓应用的应用信息远程快速获取方法及相关设备
CN117707953A (zh) 二进制软件成分分析方法、装置、电子设备及存储介质
CN112906404B (zh) 翻译文案校验方法及电子设备和可读存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2017805842

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017805842

Country of ref document: EP

Effective date: 20180809

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17805842

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE