CN103399743A - 用于识别安装文件的设备和方法 - Google Patents

用于识别安装文件的设备和方法 Download PDF

Info

Publication number
CN103399743A
CN103399743A CN201310322217XA CN201310322217A CN103399743A CN 103399743 A CN103399743 A CN 103399743A CN 201310322217X A CN201310322217X A CN 201310322217XA CN 201310322217 A CN201310322217 A CN 201310322217A CN 103399743 A CN103399743 A CN 103399743A
Authority
CN
China
Prior art keywords
file
installation file
installation
hashed value
value
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.)
Pending
Application number
CN201310322217XA
Other languages
English (en)
Inventor
付金鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Netqin Technology Co Ltd
Original Assignee
Beijing Netqin Technology Co Ltd
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 Beijing Netqin Technology Co Ltd filed Critical Beijing Netqin Technology Co Ltd
Priority to CN201310322217XA priority Critical patent/CN103399743A/zh
Publication of CN103399743A publication Critical patent/CN103399743A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用于识别安装文件的设备,包括:计算单元,被配置为:计算要识别的安装文件中的特定文件的散列值;比较单元,被配置为:将计算单元计算得到的散列值与其它安装文件中的特定文件的散列值进行比较;以及识别单元,被配置为:基于比较单元的比较结果,确定所述要识别的安装文件是否是唯一的。本发明能够更加精确地确定安装程序是否唯一,并且能够降低资源消耗。

Description

用于识别安装文件的设备和方法
技术领域
本发明涉及数据分析领域,更具体地,涉及一种用于识别安装文件的设备和一种用于识别安装文件的方法。
背景技术
当前,运行有各种移动操作系统的各种移动设备得以广泛应用。例如,在android安装文件的安全检测过程中,如果能够识别一个android安装文件的唯一性,可以减少android文件在收集、存储及检测过程中所需要消耗的资源,从而避免对一个相同样本重复操作而造成资源浪费。
一种用于识别安装文件的方法是计算这个安装文件的散列值(sha1或MD5值)并与其他安装文件的散列值进行对比,从而确定这个安装文件是否与其他安装文件重复,或是否被修改过。
然而,安装文件在传输过程中可能因为文件本身参杂了其他二进制流,而导致安装文件本身的sha1或MD5发生变化。但是,实际上该安装文件的主体功能和内容并未发生变化。另外,在安装文件已经安装到资源受限的移动设备(例如手机)中的情况下,在移动设备中获取整个安装文件的sha1或MD5值会消耗很多的系统资源,这会影响移动设备的运行速度。
发明内容
为了解决上述问题中的至少一些,本发明提供了一种用于识别安装文件的设备和一种用于识别安装文件的方法。
具体地,根据本发明的第一方案,提供了一种用于识别安装文件的设备,包括:计算单元,被配置为:计算要识别的安装文件中的特定文件的散列值;比较单元,被配置为:将计算单元计算得到的散列值与其它安装文件中的特定文件的散列值进行比较;以及识别单元,被配置为:基于比较单元的比较结果,确定所述要识别的安装文件是否是唯一的。
在一个实施例中,所述识别单元被配置为:如果计算单元计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的;以及如果计算单元计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
在一个实施例中,所述特定文件包括cert文件或记录了安装文件描述信息的文件。
在一个实施例中,所述描述信息包括安装文件的作者名称、签名信息、安装文件的打包生成时间中的任意一种或任意组合。
在一个实施例中,所述散列值包括sha1值或MD5值。
根据本发明的第二方案,提供了一种用于识别安装文件的方法,包括:计算要识别的安装文件中的特定文件的散列值;将计算得到的散列值与其它安装文件中的特定文件的散列值进行比较;以及基于比较结果,确定所述要识别的安装文件是否是唯一的。
在一个实施例中,如果计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的;以及如果计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
在一个实施例中,所述特定文件包括cert文件或记录了安装文件描述信息的文件。
在一个实施例中,所述描述信息包括安装文件的作者名称、签名信息、安装文件的打包生成时间中的任意一种或任意组合。
在一个实施例中,所述散列值包括sha1值或MD5值。
利用本发明,能够更加精确地确定安装程序是否唯一。另外,本发明与计算整个安装文件的sha1或MD5相比,能够降低资源消耗。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1是示出了根据本发明的一个实施例的用于识别安装文件的设备的框图。
图2是示出了根据本发明的一个实施例的识别结果的示意图。
图3是示出了根据本发明的一个实施例的用于识别安装文件的方法的流程图。
在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记标识。
具体实施方式
下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。在下文中,以android操作系统为例进行描述。然而,本领域技术人员可以理解,本发明的原理并不仅限于android操作系统,而是可以应用于其他的移动操作系统。
android程序在每次打包生成一个安装文件时,都会在安装文件的META-INF目录下生成一个后缀为.rsa或.dsa的cert文件。该cert文件用于记录应用程序样本在此次生成安装文件时的相关信息。其中,相关信息例如可以包括:应用程序的作者名称、签名信息以及该应用程序的打包生成时间,等等。之后,如果该安装文件中的其他内容发生变化,那么该安装文件必须被重新打包,而且其cert文件也一定会发生变化。否则,该安装文件将无法使用。
然而,在实际使用过程中,一个应用程序可能对应多个安装文件,并且各个安装文件的cert文件可以相同或不同。例如,分发给不同推广渠道的安装文件,里面标记的渠道信息不一样,所以要重新打包,从而安装文件就会不同。但是,该应用程序的功能、版本可能都一样。这些安装文件可以保存在服务器端或本地移动终端设备(比如:手机、平板电脑等)的数据库中。然而,如果保存过多的安装文件且这些安装文件的实际功能基本都一样,则会造成存储资源的浪费。
本发明提出:如果两个安装文件中的cert文件相同时,则认为这两个安装文件是相同。因此,可以仅保存其中一个安装文件。具体地,在收集大量的安装文件用于后期使用的过程中,如果获取到一个新的安装文件,可以通过提取新的安装文件中的cert文件的sha1值和之前收集到的其他所有安装文件中的cert文件的sha1值进行对比。如果两个安装文件的sha1值相同,则代表这两个安装文件的功能和内容一致,可以不用保留新获取的安装文件。如果sha1值不同,则代表新获取到的安装文件是一个新发现的安装文件,可以进行保留。需要说明,可以计算cert文件的其他散列值以用于比较。例如,可以计算cert文件的MD5值。其他散列值也是可以应用的。
图1是示出了根据本发明的一个实施例的用于识别安装文件的设备10的框图。如图1所示,设备10包括计算单元110、比较单元120和识别单元130。下面,对图1所示的设备10的各个组件进行详细描述。
计算单元110被配置为计算要识别的安装文件中的特定文件的散列值。例如,在要识别的安装文件是android安装文件的情况下,可以计算该安装文件中的cert文件的sha1值。
比较单元120被配置为将计算单元110计算得到的散列值与其它安装文件中的特定文件的散列值进行比较。例如,比较单元120可以将计算单元110计算得到的要识别的android安装文件中的cert文件的sha1值与其它android安装文件中的cert文件的sha1值进行比较。
识别单元130被配置为基于比较单元120的比较结果来确定所述要识别的安装文件是否是唯一的。例如,如果计算单元110计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的。相反,如果计算单元110计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
图2是示出了根据本发明的一个实施例的识别结果的示意图。在此示例中,假设接收到10个android安装文件,而且这些android安装文件的散列值是不同的(参见图2中倒数第2栏(pkg_hash))。在通常情况下,这10个android安装文件都会被保留。然而,采用根据本发明一个实施例的用于识别安装文件的设备10,可以得到不同的结果。具体地,计算单元110可以计算这10个android安装文件中的cert文件的sha1值。计算cert文件的散列值比计算整个android安装文件的散列值消耗的计算资源要少得多。
比较单元120可以将计算单元110的计算结果进行比较。识别单元130发现这10个android安装文件中的cert文件的sha1值都是相同的(参见图2中倒数第1栏(cert_hash))。因此,只需保留这10个android安装文件中的任意一个。从而,节省了大量的存储空间。
图3是示出了根据本发明的一个实施例的用于识别安装文件的方法30的流程图。如图1所示,方法30在步骤S310处开始。
在步骤S320处,计算要识别的安装文件中的特定文件的散列值。例如,在要识别的安装文件是android安装文件的情况下,可以计算该安装文件中的cert文件的sha1值。
在步骤S330处,将计算得到的散列值与其它安装文件中的特定文件的散列值进行比较。例如,可以将在步骤S320处计算得到的要识别的android安装文件中的cert文件的sha1值与其它android安装文件中的cert文件的sha1值进行比较。
在步骤S340处,基于比较结果,确定所述要识别的安装文件是否是唯一的。例如,如果在步骤S320处计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的。相反,如果在步骤S320处计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
最后,方法30在步骤S350处结束。
上文中以cert文件作为特定文件的示例对本发明进行了描述。然而,本发明不仅限于采用cert文件来实现。例如,该特定文件也可以是记录了安装文件描述信息的文件。在此情况下,所述描述信息例如可以包括安装文件的作者名称、签名信息、安装文件的打包生成时间中的任意一种,或者其任意组合。
应该理解,本发明的上述实施例可以通过软件、硬件或者软件和硬件两者的结合来实现。例如,图1所示的设备10内的各种组件可以通过多种器件来实现,这些器件包括但不限于:模拟电路、数字电路、通用处理器、数字信号处理(DSP)电路、可编程处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(CPLD),等等。
另外,本领域的技术人员可以理解,本发明实施例中描述的数据可以存储在本地数据库中,也可以存储在分布式数据库中或者可以存储在远程数据库中。
此外,这里所公开的本发明的实施例可以在计算机程序产品上实现。更具体地,该计算机程序产品是如下的一种产品:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,该计算机程序逻辑提供相关的操作以实现本发明的上述技术方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本发明实施例所述的操作(方法)。本发明的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本发明实施例所描述的技术方案。
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。

Claims (10)

1.一种用于识别安装文件的设备,包括:
计算单元,被配置为:计算要识别的安装文件中的特定文件的散列值;
比较单元,被配置为:将计算单元计算得到的散列值与其它安装文件中的特定文件的散列值进行比较;以及
识别单元,被配置为:基于比较单元的比较结果,确定所述要识别的安装文件是否是唯一的。
2.根据权利要求1所述的设备,其中,所述识别单元被配置为:如果计算单元计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的;以及如果计算单元计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
3.根据权利要求1所述的设备,其中,所述特定文件包括cert文件或记录了安装文件描述信息的文件。
4.根据权利要求3所述的设备,其中,所述描述信息包括安装文件的作者名称、签名信息、安装文件的打包生成时间中的任意一种或任意组合。
5.根据权利要求1所述的设备,其中,所述散列值包括sha1值或MD5值。
6.一种用于识别安装文件的方法,包括:
计算要识别的安装文件中的特定文件的散列值;
将计算得到的散列值与其它安装文件中的特定文件的散列值进行比较;以及
基于比较结果,确定所述要识别的安装文件是否是唯一的。
7.根据权利要求6所述的方法,其中,如果计算得到的散列值与其它安装文件中的特定文件的散列值相同,则确定所述要识别的安装文件不是唯一的;以及如果计算得到的散列值与其它安装文件中的特定文件的散列值不同,则确定所述要识别的安装文件是唯一的。
8.根据权利要求6所述的方法,其中,所述特定文件包括cert文件或记录了安装文件描述信息的文件。
9.根据权利要求8所述的方法,其中,所述描述信息包括安装文件的作者名称、签名信息、安装文件的打包生成时间中的任意一种或任意组合。
10.根据权利要求6所述的方法,其中,所述散列值包括sha1值或MD5值。
CN201310322217XA 2013-07-29 2013-07-29 用于识别安装文件的设备和方法 Pending CN103399743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310322217XA CN103399743A (zh) 2013-07-29 2013-07-29 用于识别安装文件的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310322217XA CN103399743A (zh) 2013-07-29 2013-07-29 用于识别安装文件的设备和方法

Publications (1)

Publication Number Publication Date
CN103399743A true CN103399743A (zh) 2013-11-20

Family

ID=49563377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310322217XA Pending CN103399743A (zh) 2013-07-29 2013-07-29 用于识别安装文件的设备和方法

Country Status (1)

Country Link
CN (1) CN103399743A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018091083A1 (en) * 2016-11-16 2018-05-24 Huawei Technologies Co., Ltd. Method and apparatus for determining data on a device
CN113515486A (zh) * 2020-04-10 2021-10-19 华晨宝马汽车有限公司 用于对事件进行查重的方法、系统和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969524A (zh) * 2003-12-24 2007-05-23 数据中心技术股份有限公司 识别网络中的文件内容的方法和系统
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969524A (zh) * 2003-12-24 2007-05-23 数据中心技术股份有限公司 识别网络中的文件内容的方法和系统
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李志永: "高可用性P2P文件共享系统关键技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 6, 15 June 2009 (2009-06-15) *
门涛: "P2P文件共享系统防止重复下载的方法研究", 《通信技术》, vol. 41, no. 8, 31 August 2008 (2008-08-31) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018091083A1 (en) * 2016-11-16 2018-05-24 Huawei Technologies Co., Ltd. Method and apparatus for determining data on a device
CN113515486A (zh) * 2020-04-10 2021-10-19 华晨宝马汽车有限公司 用于对事件进行查重的方法、系统和计算机可读介质
CN113515486B (zh) * 2020-04-10 2024-03-08 华晨宝马汽车有限公司 用于对事件进行查重的方法、系统和计算机可读介质

Similar Documents

Publication Publication Date Title
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
CN112560078B (zh) 区块链数据处理方法、装置、设备及介质
CN105389177A (zh) 一种软件版本确认方法、装置及系统
CN110708212B (zh) 分布式系统中调用链路的追踪方法及装置
US20200110905A1 (en) Security hardened software footprint in a computing environment
US20160063535A1 (en) Electronic device and warning method of screening applications executable
US7793151B2 (en) Dynamic partitioning of event patterns for determining symptoms
CN113343312B (zh) 基于前端埋点技术的页面防篡改方法及系统
CN109710439B (zh) 故障处理方法和装置
CN109862037B (zh) 基于区块链的数据设备管理方法、装置、介质及电子设备
CN104267988A (zh) 用于对移动应用进行打包的系统和方法
CN111858146B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN103245825A (zh) 电压侦测系统及方法
US20190303231A1 (en) Log analysis method, system, and program
CN103905441A (zh) 数据获取方法及装置
CN111259282A (zh) Url去重方法、装置、电子设备及计算机可读存储介质
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN110737655B (zh) 用于上报数据的方法和装置
CN109871408B (zh) 一种多类型数据库适配方法、装置、电子设备及存储介质
CN103399743A (zh) 用于识别安装文件的设备和方法
US20160179168A1 (en) Electronic device and method for detecting power usage of electronic device
CN111045856A (zh) 用于管理应用系统的方法、设备和计算机程序产品
CN117076457A (zh) 数据处理方法、装置、设备及存储介质
CN111488117B (zh) 用于管理元数据的方法、电子设备和计算机可读介质
US20120331456A1 (en) Comparing system engram with product engram to determine compatibility of product with system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131120

WD01 Invention patent application deemed withdrawn after publication