CN107798236A - 一种对应用程序安装包实现安全安装的方法和装置 - Google Patents

一种对应用程序安装包实现安全安装的方法和装置 Download PDF

Info

Publication number
CN107798236A
CN107798236A CN201711235105.5A CN201711235105A CN107798236A CN 107798236 A CN107798236 A CN 107798236A CN 201711235105 A CN201711235105 A CN 201711235105A CN 107798236 A CN107798236 A CN 107798236A
Authority
CN
China
Prior art keywords
application program
program installation
installation package
package file
values
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
Application number
CN201711235105.5A
Other languages
English (en)
Other versions
CN107798236B (zh
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.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Youshi Network 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 Guangzhou Youshi Network Technology Co Ltd filed Critical Guangzhou Youshi Network Technology Co Ltd
Priority to CN201711235105.5A priority Critical patent/CN107798236B/zh
Publication of CN107798236A publication Critical patent/CN107798236A/zh
Application granted granted Critical
Publication of CN107798236B publication Critical patent/CN107798236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种对应用程序安装包实现安全安装的方法和装置。该方法包括:下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;在比较结果为相同时对所述下载完的应用程序安装包执行安装。

Description

一种对应用程序安装包实现安全安装的方法和装置
技术领域
本发明涉及信息处理技术领域,具体而言涉及一种对应用程序安装包实现安全安装的方法和装置。
背景技术
随着互联网的发展、以及3G和4G移动通信网络的推广和智能终端的普及,大量的应用也应运而生。对于很多知名公司开发的应用程序安装包,可以直接去该公司的官方网站下载,也可以去与该公司合作的第三方综合性网站下载。但是,用户为了满足需求,需要在其使用的智能终端上安装多款应用程序,例如视频类APP,阅读类APP、娱乐类APP等。如果每下载一款应用程序APP,都要去登录相关网站的话,这样的操作非常繁琐。为了更好的吸引用户,提高用户体验,很多应用商店或应用市场被开发出来,例如豌豆荚、PP助手、各手机制造商自行开发的应用市场等,所述应用商店或应用市场的初始目的是为用户展示、提供智能手机适用的各种第三方应用软件(APP)的下载,包括但不限于:系统工具类、办公商务类、新闻阅读类、影音播放类、通讯社交类、金融理财类、生活休闲类、网上购物类、游戏娱乐类等等。
为了让用户有满意的使用体验、提高用户的忠实度,应用商店或应用市场作为一款应用程序分发的APP产品,其最重要的功能之一就是确保用户下载到自己想要的应用程序,并可以安全地安装该想要的应用程序。用户下载的应用程序安装包通常是保存到其使用的智能终端的本地某个文件夹里。安装包下载完成后会通知系统去安装该文件路径下的应用安装包。由于智能终端的存储装置可以被其他应用程序监听并访问,因此这时候下载的应用安装包也会有可能被其他应用程序篡改,尤其是用户下载的应用程序安装包被该用户已安装的某款第三方应用程序篡改。
如果用户安装的应用是被篡改后的应用,例如安装的应用程序可以被植入多种恶意广告插件或其他插件,部分恶意插件还会窃取智能终端保存的通讯录、私密数据等敏感信息,将对用户造成不可预知的风险。因此,使用确保用户准备安装的应用程序安装包是安全的、未被篡改的安装包安装方法是有必要的。
发明内容
本发明的目的在于提供一种对应用程序安装包实现安全安装的方法和装置,以改善上述问题。
本发明第一实施例提供了一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;
监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;
在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
本发明第二实施例还提供了一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小;
监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较,在MD5值的比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
本发明第三实施例还提供了一种对应用程序安装包实现安全安装的装置,其包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与记录的标准MD5值进行比较;
安装执行单元,用于在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
本发明第四实施例还提供了一种对应用程序安装包实现安全安装的装置,其包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;
安装执行单元,用于在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件;在MD5值的比较结果相同时对所述下载完的应用程序安装包执行安装。
另外,在比较结果为不同时禁止安装该下载完的应用程序安装包文件。
根据本发明的对应用程序安装包实现安全安装的方法和装置,对于无论是从任意网站下载的第三方应用程序还是通过类似于应用商店或应用市场产品的应用程序产品下载的第三方应用程序,可以在应用程序安装之前检测出待安装的应用程序安装包是否被篡改,保障了用户安装的应用程序是安全的、未发生篡改的。
附图说明
图1是本发明第一实施例提供的对应用程序安装包实现安全安装的方法的流程图;
图2是本发明第二实施例提供的对应用程序安装包实现安全安装的方法的流程图;
图3是本发明第三实施例提供的对应用程序安装包实现安全安装的装置的示意性框图;
图4是本发明第四实施例提供的对应用程序安装包实现安全安装的装置的示意性框图。
具体实施方式
下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明第一实施例提供的对应用程序安装包实现安全安装的方法的流程图。如图1所示,本发明的对应用程序安装包实现安全安装的方法包括:
S1:下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值。
用户使用终端上安装的应用商店或应用市场APP或是类似的应用程序产品下载其想要安装的应用程序安装包,或者用户从提供所需要的应用程序安装包下载的网页下载其想要安装的应用程序安装包,提供所述应用程序安装包的服务器在提供该应用程序的安装包数据时还会主动提供与该应用程序安装包文件相对应的标准MD5值。每个应用程序都有对应的唯一标识(不同应用产品,唯一标识生成规则不同),使用该唯一标识,服务器就可以根据该唯一标识返回相对应的应用程序安装包文件的标准MD5值。
除了服务器在提供应用程序安装包数据时主动发送相应标准MD5值之外,客户端还可以在向服务器发送用于获取用户选择要下载的应用程序安装包文件数据的请求时单独再发送获取相应标准MD5值的请求,以此方式来获得相应标准MD5值。
在接收到服务器发送的所述安装包文件的标准MD5值时对该标准MD5值进行记录保存,例如可以保存在用户使用的终端内的特定存储器中。
MD5即信息-摘要算法5(Message-Digest Algorithm 5),用于确保信息传输完整一致。MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
本方案就是利用MD5的特性用于后面执行的安全性校验。
S2:监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件。
如果要对下载完的应用程序安装包文件进行篡改,就一定会对所述下载完的应用程序安装包文件所在的文件地址进行访问,这会触发open事件;当有文件拷贝到所述下载完的应用程序安装包文件所在的文件地址时会触发moveTo事件。因此,如果发生应用程序安装包文件被修改,就一定会发生open或moveTo事件。
很有必要对所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件设置监听。
在安卓系统中,通过提供接口FileObserver,可以让针对安卓系统的开发者有能力对所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件设置监听。
例如可以使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。这对本领域技术人员来说是容易做到的,这里不再详细描述。
S3:当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与记录的标准MD5值进行比较,在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,此时可以怀疑所述下载完的应用程序安装包文件可能被修改,则有必要对所述下载完的应用程序安装包文件进行安全性校验。本发明利用MD5值的特性来进行安全性校验,如果校验结果为安全,则允许执行安装,否则禁止安装所述下载完的应用程序安装包文件,以确保用户安装的应用程序是安全的、未发生篡改的。具体的,先对所述下载完的应用程序安装包文件生成MD5值,在安卓系统中,可以使用公知的MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值;也可以使用本领域通用的生成工具来生成所述下载完毕的应用程序安装包文件的MD5值,这里不做详细描述。接着,将生成的MD5值与在步骤S1中记录的所述标准MD5值进行比较。若比较结果为相同,则说明所述下载完的应用程序安装包文件没有被修改或篡改,该安装包是安全的,允许对所述下载完的应用程序安装包执行安装。若比较结果为不相同,则说明所述下载完的应用程序安装包文件被修改或篡改,该安装包是不安全的,禁止对所述下载完的应用程序安装包文件执行安装。
根据本发明第一实施例的对应用程序安装包实现安全安装的方法,对于无论是从任意网站下载的第三方应用程序还是通过类似于应用商店或应用市场产品的应用程序产品下载的第三方应用程序,可以在应用程序安装之前检测出待安装的应用程序安装包是否被篡改,保障了用户安装的应用程序是安全的、未发生篡改的。
图2是本发明第二实施例提供的对应用程序安装包实现安全安装的方法的流程图。如图2所示,本发明的对应用程序安装包实现安全安装的方法包括:
S21:下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小。
该步骤S21与上述第一实施例的步骤S1类似,除了记录标准MD5值之外,还要记录所述下载完的应用程序安装包文件的标准名称和/或标准大小。可以由服务器在提供应用程序安装包数据时主动发送相应标准的标准MD5值、标准名称和/或标准大小,还可以由客户端还可以在向服务器发送用于获取用户选择要下载的应用程序安装包文件数据的请求时单独再发送获取相应标准MD5值、标准名称和/或标准大小的请求,由服务器响应该请求发送相应标准的标准MD5值、标准名称和/或标准大小。
记录所述下载完的应用程序安装包文件的标准名称和/或大小包括三种可选方式:记录所述下载完的应用程序安装包文件的标准名称、记录所述下载完的应用程序安装包文件的标准大小、或者所述下载完毕的应用程序安装包文件的标准名称和标准大小这三种可选方式。
S22:监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件。
该步骤与与上述第一实施例的步骤S2相同,例如可以使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听,这里不做重复描述。
S23:当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较,在MD5值的比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
因为上述记录所述下载完的应用程序安装包文件的标准名称和/或大小包括了三种可选方式,所以这里描述的获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较也包含三种比较方式。即,方式1:获取所述下载完的应用程序安装包文件的名称并将其与所记录的相应标准名称进行比较;方式2:获取所述下载完的应用程序安装包文件的大小并将其与所记录的相应标准大小进行比较;方式3:获取所述下载完的应用程序安装包文件的名称和大小并将其分别与所记录的相应标准名称和大小进行比较。
当名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件,当名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所获得并记录的标准MD5值进行比较。这里将三种比较方式进行了归纳描述。这种归纳式描述包含了3种情况:1)当记录的是所述下载完的应用程序安装包文件的标准MD5值和标准名称时,先获取所述下载完的应用程序安装包文件的名称并将其与所记录的相应标准名称进行比较,如果比较的结果是名称不相同则禁止安装所述下载完的应用程序安装包文件,当比较的结果是名称相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所获得并记录的标准MD5值进行比较;2)当记录的是所述下载完的应用程序安装包文件的标准MD5值和标准大小时,先获取所述下载完的应用程序安装包文件的大小并将其与所记录的相应标准大小进行比较,如果比较的结果是大小不相同则禁止安装所述下载完的应用程序安装包文件,当比较的结果是大小相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所获得并记录的标准MD5值进行比较;3)当记录的是所述下载完的应用程序安装包文件的标准MD5值、标准名称和标准大小时,首先获取所述下载完的应用程序安装包文件的名称(或大小)并将其与所记录的相应标准名称(或大小)进行比较,如果比较的结果是名称(或大小)不相同则禁止安装所述下载完的应用程序安装包文件;当比较的结果是名称(或大小)相同时,接着获取所述下载完的应用程序安装包文件的大小(或名称)并将其与标准大小(或名称)进行比较,如果不同则禁止安装所述下载完的应用程序安装包文件,如果也相同则最后对所述下载完的应用程序安装包文件生成MD5值并将其与所获得并记录的标准MD5值进行比较。在第3种情况下,无论是首先获取下载完的安装包文件的名称并与标准名称进行比较是否相同还是首先获取下载完的安装包文件的大小并与标准大小进行比较是否相同,这都是可以的,这里不对比较名称和大小的先后顺序做限定,只要二者之一是相同的再接着比较另外一个即可;当名称和大小之中有1个的比较结果为不相同则禁止安装所述下载完的应用程序安装包文件;当名称和大小的比较结果均为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较。
对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较校验的方法与上述第一实施例的步骤S3相同,这里不再重复描述。
根据本发明第二实施例的对应用程序安装包实现安全安装的方法,对于无论是从任意网站下载的第三方应用程序还是通过类似于应用商店或应用市场产品的应用程序产品下载的第三方应用程序,可以在应用程序安装之前检测出待安装的应用程序安装包是否被篡改,保障了用户安装的应用程序是安全的、未发生篡改的。
另外,在上述第一和第二实施例中,如果担心所记录的安装包文件的标准MD5值、标准名称和/或标准大小也有可能发生篡改,在执行比较时可以利用客户端能够单独再发送获取相应标准MD5值、标准名称和/或标准大小的请求的方式从提供所述应用程序安装包的服务器中获取相应标准MD5值、标准名称和/或标准大小,即在第一实施例中对所述下载完的应用程序安装包文件生成MD5值,向服务器发送用于获取所述安装包文件的标准MD5值的请求,将生成的MD5值与接收到的标准MD5值进行比较校验。同理,在第二实施例中获取下载完的安装包文件的名称和/或大小、向服务器发送用于获取所述安装包文件的标准MD5值、标准名称和/或标准大小的请求,将从下载完的安装包文件获得的名称和/或大小与接收到的标准名称和/或标准大小进行比较;当名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值,将生成的MD5值与接收到的标准MD5值进行比较校验。
由此,针对第一实施例的变化方案,其提供了一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值,从提供所述应用程序安装包的服务器上获得所述下载完的应用程序安装包文件的标准MD5值,将生成的MD5值与获得的标准MD5值进行比较,在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
本领域技术人员都知道,第一实施例的一些优选实施方案也可以在这里使用。
对第二实施例的变化方案,其提供了一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,从提供所述应用程序安装包的服务器上获得所述下载完的应用程序安装包文件的标准MD5值、标准名称和/或大小,从所述下载完的应用程序安装包文件获得相应的文件名称和/或大小并将其与所获得的相应标准名称和/或大小进行比较,在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所获得的标准MD5值进行比较,在MD5值的比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
本领域技术人员都知道,第二实施例的一些优选实施方案也可以在这里使用。
该第一和第二实施例的变化方案的有益效果与第一和第二实施例的有益效果相同。由于第一和第二实施例的变化方案需要客户端单独发送获取相应标准MD5值、标准名称和/或大小的请求,因此该变化方案更适合在应用商店或应用市场APP或是类似的应用程序产品上使用。
图3是本发明第三实施例提供的对应用程序安装包实现安全安装的装置的示意性框图。如图3所示,本发明的对应用程序安装包实现安全安装的装置包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与记录的标准MD5值进行比较;
安装执行单元,用于在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
其中,所述MD5值生成单元使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
其中,所述事件监听单元使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述第一实施例描述的实施方法的对应过程,前述第一实施例中列举的例子和相关描述,同样适用于解释装置的工作过程,在此不再重复描述。
根据本发明第三实施例的对应用程序安装包实现安全安装的装置,对于无论是从任意网站下载的第三方应用程序还是通过类似于应用商店或应用市场产品的应用程序产品下载的第三方应用程序,可以在应用程序安装之前检测出待安装的应用程序安装包是否被篡改,保障了用户安装的应用程序是安全的、未发生篡改的。
图4是本发明第四实施例提供的对应用程序安装包实现安全安装的装置的示意性框图。如图4所示,本发明的对应用程序安装包实现安全安装的装置包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;
安装执行单元,用于在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件;在MD5值的比较结果相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
其中,所述MD5值生成单元使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
其中,所述事件监听单元使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述第二实施例描述的实施方法的对应过程,前述第二实施例中列举的例子和相关描述,同样适用于解释装置的工作过程,在此不再重复描述。
根据本发明第四的对应用程序安装包实现安全安装的装置,对于无论是从任意网站下载的第三方应用程序还是通过类似于应用商店或应用市场产品的应用程序产品下载的第三方应用程序,可以在应用程序安装之前检测出待安装的应用程序安装包是否被篡改,保障了用户安装的应用程序是安全的、未发生篡改的。
与提供第一和第二实施例的变化方案相类似,还可以提供第三和第四第一和第二实施例的变化方案,其中:
所述第三实施例的变化方案提供了对应用程序安装包实现安全安装的装置,其包括:
下载单元,用于下载应用程序安装包文件;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
获取单元,用于从提供所述应用程序安装包的服务器上获得所述下载完的应用程序安装包文件的标准MD5值;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与获得的标准MD5值进行比较;
安装执行单元,用于在比较结果为相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
所述第四实施例的变化方案提供了对应用程序安装包实现安全安装的装置,其包括:
下载单元,用于下载应用程序安装包文件;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
获取单元,用于从提供所述应用程序安装包的服务器上获得所述下载完的应用程序安装包文件的标准MD5值、标准名称和/或大小;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所获得的相应标准名称和/或大小进行比较,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所获得的标准MD5值进行比较;
安装执行单元,用于在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件;在MD5值的比较结果相同时对所述下载完的应用程序安装包执行安装。
另外,在MD5值的比较结果为不同时禁止安装所述下载完的应用程序安装包文件。
该第三和第四实施例的变化方案的有益效果与第三和第四实施例的有益效果相同。由于第三和第四实施例的变化方案需要客户端单独发送获取相应标准MD5值、标准名称和/或大小的请求,因此该变化方案更适合在应用商店或应用市场APP或是类似的应用程序产品上使用。
本发明实施例还提供了一种对应用程序安装包实现安全安装的方法的计算机程序产品以及执行应用推荐方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
为此,本发明还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行上述如第一实施例所述的方法或该第一实施例与其优选实施例组合所述的方法,或者第一实施例的变化方案所述的方法或该第一实施例的变化方案与其优选实施例组合所述的方法。
为此,本发明还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行上述如第二实施例所述的方法或该第二实施例与其优选实施例组合所述的方法,或者第二实施例的变化方案所述的方法或该第二实施例的变化方案与其优选实施例组合所述的方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;
监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;
在比较结果为相同时对所述下载完的应用程序安装包执行安装。
2.根据权利要求1所述的方法,其特征在于使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
3.根据权利要求1所述的方法,其特征在于使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
4.一种对应用程序安装包实现安全安装的方法,其包括:
下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小;
监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较,在MD5值的比较结果为相同时对所述下载完的应用程序安装包执行安装。
5.根据权利要求4所述的方法,其特征在于使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
6.根据权利要求4所述的方法,其特征在于使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
7.一种对应用程序安装包实现安全安装的终端,其包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,对所述下载完的应用程序安装包文件生成MD5值并将其与记录的标准MD5值进行比较;
安装执行单元,用于在比较结果为相同时对所述下载完的应用程序安装包执行安装。
8.根据权利要求7所述的装置,其特征在于所述MD5值生成单元使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
9.根据权利要求7所述的装置,其特征在于所述事件监听单元使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
10.一种对应用程序安装包实现安全安装的终端,其包括:
下载和记录单元,用于下载应用程序安装包文件并记录下同时获得的该安装包文件的标准MD5值、标准名称和/或大小;
事件监听单元,用于监听所述下载完的应用程序安装包文件所在的文件地址是否发生open或moveTo事件;
安全性校验单元,用于当监听到所述下载完的应用程序安装包文件所在的文件地址发生open或moveTo事件时,获取所述下载完的应用程序安装包文件的名称和/或大小并将其与所记录的相应标准名称和/或大小进行比较,在名称和/或大小的比较结果为相同时对所述下载完的应用程序安装包文件生成MD5值并将其与所记录的标准MD5值进行比较;
安装执行单元,用于在名称和大小之一的比较结果为不相同时禁止安装所述下载完的应用程序安装包文件;在MD5值的比较结果相同时对所述下载完的应用程序安装包执行安装。
11.根据权利要求10所述的装置,其特征在于所述MD5值生成单元使用MessageDigest类定义的方法生成所述下载完毕的应用程序安装包文件的MD5值。
12.根据权利要求10所述的装置,其特征在于所述事件监听单元使用FileObserver.startWatching()方法来启动对open或moveTo事件的监听。
13.一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行权利要求1-6之一所述的方法。
CN201711235105.5A 2017-11-30 2017-11-30 一种对应用程序安装包实现安全安装的方法和装置 Active CN107798236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711235105.5A CN107798236B (zh) 2017-11-30 2017-11-30 一种对应用程序安装包实现安全安装的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711235105.5A CN107798236B (zh) 2017-11-30 2017-11-30 一种对应用程序安装包实现安全安装的方法和装置

Publications (2)

Publication Number Publication Date
CN107798236A true CN107798236A (zh) 2018-03-13
CN107798236B CN107798236B (zh) 2021-05-04

Family

ID=61537286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711235105.5A Active CN107798236B (zh) 2017-11-30 2017-11-30 一种对应用程序安装包实现安全安装的方法和装置

Country Status (1)

Country Link
CN (1) CN107798236B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851151A (zh) * 2019-11-15 2020-02-28 北京小米移动软件有限公司 预装应用的方法、装置、终端、服务器和存储介质
CN112181448A (zh) * 2020-10-26 2021-01-05 江苏特思达电子科技股份有限公司 一种应用程序远程安装方法、装置及计算机设备
CN113495729A (zh) * 2020-03-20 2021-10-12 株洲中车时代电气股份有限公司 一种软件升级方法及装置
CN113986412A (zh) * 2021-09-18 2022-01-28 江西小辣椒通讯技术有限责任公司 一种动态配置桌面布局的方法、系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2172866A1 (en) * 2007-07-25 2010-04-07 Panasonic Corporation Information processor and tampering verification method
CN103632089A (zh) * 2013-12-16 2014-03-12 北京网秦天下科技有限公司 应用安装包的安全检测方法、装置和系统
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN104508672A (zh) * 2012-08-01 2015-04-08 三菱电机株式会社 程序执行装置以及程序分析装置
CN105393255A (zh) * 2013-07-05 2016-03-09 比特梵德知识产权管理有限公司 用于虚拟机中的恶意软件检测的过程评估
CN106778229A (zh) * 2016-11-29 2017-05-31 北京瑞星信息技术股份有限公司 一种基于vpn的恶意应用下载拦截方法及系统
CN106778327A (zh) * 2016-11-28 2017-05-31 龙存(苏州)科技有限公司 一种分布式文件系统的安全认证方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2172866A1 (en) * 2007-07-25 2010-04-07 Panasonic Corporation Information processor and tampering verification method
CN104508672A (zh) * 2012-08-01 2015-04-08 三菱电机株式会社 程序执行装置以及程序分析装置
CN105393255A (zh) * 2013-07-05 2016-03-09 比特梵德知识产权管理有限公司 用于虚拟机中的恶意软件检测的过程评估
CN103632089A (zh) * 2013-12-16 2014-03-12 北京网秦天下科技有限公司 应用安装包的安全检测方法、装置和系统
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN106778327A (zh) * 2016-11-28 2017-05-31 龙存(苏州)科技有限公司 一种分布式文件系统的安全认证方法
CN106778229A (zh) * 2016-11-29 2017-05-31 北京瑞星信息技术股份有限公司 一种基于vpn的恶意应用下载拦截方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HANS在路上: "Android中关于FileObserver类的监听文件和目录动态", 《简书》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851151A (zh) * 2019-11-15 2020-02-28 北京小米移动软件有限公司 预装应用的方法、装置、终端、服务器和存储介质
CN110851151B (zh) * 2019-11-15 2023-07-18 北京小米移动软件有限公司 预装应用的方法、装置、终端、服务器和存储介质
CN113495729A (zh) * 2020-03-20 2021-10-12 株洲中车时代电气股份有限公司 一种软件升级方法及装置
CN112181448A (zh) * 2020-10-26 2021-01-05 江苏特思达电子科技股份有限公司 一种应用程序远程安装方法、装置及计算机设备
CN113986412A (zh) * 2021-09-18 2022-01-28 江西小辣椒通讯技术有限责任公司 一种动态配置桌面布局的方法、系统及存储介质
CN113986412B (zh) * 2021-09-18 2023-09-26 江西小辣椒通讯技术有限责任公司 一种动态配置桌面布局的方法、系统及存储介质

Also Published As

Publication number Publication date
CN107798236B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN107798236A (zh) 一种对应用程序安装包实现安全安装的方法和装置
CN104424423B (zh) 应用程序的权限确定方法和装置
CN102982258A (zh) 一种对移动应用程序进行原版校验的系统
CN107135077B (zh) 软件防护方法及装置
CN107852412A (zh) 用于网络钓鱼和品牌保护的系统和方法
CN106161336A (zh) 一种信息更新方法、装置及系统
CN107273151A (zh) 一种安全的Android App功能插件化方法
CN103581249B (zh) 一种信息推送方法、系统及客户端
CN111460394A (zh) 一种版权文件的验证方法、装置及计算机可读存储介质
CN105094791A (zh) 状态栏通知的存储方法及装置
US20160110526A1 (en) Systems and methods of sharing media content with digital rights management (drm)
CN103577180A (zh) 数据处理方法及装置
CN107454041A (zh) 防止服务器被攻击的方法及装置
CN108196902A (zh) 用于展示开屏广告的方法与设备
EP3041188B1 (en) Method, device and system for controlling presentation of application
CN110046000A (zh) 小程序运行方法和装置
CN107122661B (zh) 一种安全加载Flash文件的方法及装置
CN104796771B (zh) 控件下载方法和系统以及下载引导模块
CN110059276A (zh) 页面更新方法、装置、设备和存储介质
CN106161570A (zh) 基于网页脚本的文件下载方法、装置、服务器组及系统
CN112732676B (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
CN108512824A (zh) 一种家庭云端文件的管理方法及移动终端
CN108259609A (zh) 一种家庭云端数据的管理方法及云服务器
CN115250354A (zh) 基于区块链网络的资源分配方法、装置、设备及存储介质
CN112417508A (zh) 一种数据脱敏方法、数据存储系统及存储介质和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200902

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02

Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant