CN106055341A - 应用程序安装包的校验方法及装置 - Google Patents

应用程序安装包的校验方法及装置 Download PDF

Info

Publication number
CN106055341A
CN106055341A CN201610417488.7A CN201610417488A CN106055341A CN 106055341 A CN106055341 A CN 106055341A CN 201610417488 A CN201610417488 A CN 201610417488A CN 106055341 A CN106055341 A CN 106055341A
Authority
CN
China
Prior art keywords
installation kit
file
internal memory
valid data
check 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
CN201610417488.7A
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 Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610417488.7A priority Critical patent/CN106055341A/zh
Publication of CN106055341A publication Critical patent/CN106055341A/zh
Pending legal-status Critical Current

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

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

Abstract

本发明提供了一种应用程序安装包的校验方法及装置。其中,应用程序安装包的校验方法包括:当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;根据所述校验结果确定是否将所述安装包写入磁盘空间。该技术方案对安装包的有效性进行校验时,无需将整个安装包文件写入磁盘后再从磁盘读入内存中进行有效性校验,避免了向磁盘写入、读出和删除校验过程中的临时安装包文件的过程,从而省去大量的读写请求,提高了校验过程的整体性能。

Description

应用程序安装包的校验方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种应用程序安装包的校验方法及装置。
背景技术
Android应用的安装程序是APK(Android application package)格式文件。Android应用工程文件是经Android SDK编译打包生成APK文件,其中包含了Dalvik VM可执行文件(dex)、资源文件(res和assets)、证书文件(cert)、以及清单文件(manifest)等组成部分。APK文件基于ZIP文件格式,它与JAR文件的构造方式相似,它的互联网媒体类型是application/vnd.android.package-archive。
APK文件一般经由开发者编译、打包和签名后,再提交到各Android应用市场。在正式发布之前,应用市场通常会比对开发者身份,核实APK程序原创性,整理如应用分类、安装文件大小、历史下载数量和用户评级等应用程序相关信息;一些大规模的应用市场(如360手机助手)还会通过其移动应用开发者社区(如360开放平台)提供免费的应用程序加固服务(如360加固保),用以大幅降低应用程序被逆向二次重打包的风险,从而更为有效的保护应用开发者和移动设备用户的权益。
但是,由于Internet开放网络的复杂性,APK文件在下载过程很容易出现网络分片缺失和数据位错误等潜在客观问题,也很难避免在开放式环境下(如免费wifi共享及免费代理服务)的下载链接劫持,整体文件替换,或局部数据篡改等等主观恶意行为。为此,准确高效的识别APK文件的完整性和一致性,就成为移动应用分析系统、移动应用渠道监控系统以及Android移动设备安全增强模块的重大挑战。
现有技术中,无论以何种方式来校验APK文件的完整性和一致性,都需要将整个APK文件写入磁盘后,再从磁盘中读取APK文件到内存中进行校验,整个校验过程会产生大量的I/O请求,这将直接降低校验过程的整体性能,尤其是对于实现大规模移动应用分析程序和海量移动应用数据库,因此,我们必须要把校验性能的提升作为核心目标。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序安装包的校验方法及装置。
依据本发明的一个方面,提供了一种应用程序安装包的校验方法,包括:
当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
根据所述校验结果确定是否将所述安装包写入磁盘空间。
可选地,从所述内存中读取所述安装包中的有效数据,包括:
将所述内存中的安装包以字符串输入输出的方式打开,获得所述安装包的文件句柄;
根据所述文件句柄读取所述安装包中的有效数据。
可选地,将所述安装包下载到内存中,包括:
将所述安装包下载到所述内存中预先建立的内存文件系统中,所述内存文件系统具有唯一的路径信息。
可选地,从所述内存中读取所述安装包中的有效数据,包括:
获取所述内存文件系统的路径信息;
根据所述路径信息读取所述安装包中的有效数据。
可选地,所述有效数据包括所述安装包的开发者身份信息;
所述根据所述路径信息读取所述安装包中的有效数据,包括:
将所述路径信息传输至用于校验所述开发者身份信息的工具程序,所述工具程序用于根据所述路径信息获取所述开发者身份信息,并对所述开发者身份信息进行校验。
可选地,所述有效数据包括所述安装包的文件内容;
所述根据所述有效数据对所述安装包的有效性进行校验,包括:
通过哈希算法计算所述文件内容的哈希值,获得所述安装包的第一校验值;
获取所述安装包的第二校验值,所述第二校验值为预先通过所述哈希算法对所述文件内容计算得到的哈希值;
对比所述第一校验值和所述第二校验值,并根据所述对比结果判断所述安装包是否有效;其中,当所述第一校验值和所述第二校验值一致时,判定所述安装包有效;当所述第一校验值和所述第二校验值不一致时,判定所述安装包无效。
可选地,根据所述校验结果确定是否将所述安装包写入磁盘空间,包括:
当校验所述安装包有效时,将所述安装包写入磁盘空间;
当校验所述安装包无效时,删除所述内存中的安装包。
可选地,所述删除所述内存中的安装包之后,所述方法还包括:
发出提示信息,所述提示信息用于提示用户所述安装包无效。
可选地,所述方法应用于安卓系统。
依据本发明的另一个方面,提供了一种应用程序安装包的校验装置,包括:
下载模块,适于当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
读取模块,适于从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
校验模块,适于根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
确定模块,适于根据所述校验结果确定是否将所述安装包写入磁盘空间。
可选地,所述读取模块包括:
打开单元,适于将所述内存中的安装包以字符串输入输出的方式打开,获得所述安装包的文件句柄;
第一读取单元,适于根据所述文件句柄读取所述安装包中的有效数据。
可选地,所述下载模块,还适于将所述安装包下载到所述内存中预先建立的内存文件系统中,所述内存文件系统具有唯一的路径信息。
可选地,所述读取模块包括:
第一获取单元,适于获取所述内存文件系统的路径信息;
第二读取单元,适于根据所述路径信息读取所述安装包中的有效数据。
可选地,所述第二读取单元,还适于所述有效数据包括所述安装包的开发者身份信息时,将所述路径信息传输至用于校验所述开发者身份信息的工具程序,所述工具程序用于根据所述路径信息获取所述开发者身份信息,并对所述开发者身份信息进行校验。
可选地,所述校验模块包括:
计算单元,适于所述有效数据包括所述安装包的文件内容时,通过哈希算法计算所述文件内容的哈希值,获得所述安装包的第一校验值;
第二获取单元,适于获取所述安装包的第二校验值,所述第二校验值为预先通过所述哈希算法对所述文件内容计算得到的哈希值;
对比单元,适于对比所述第一校验值和所述第二校验值,并根据所述对比结果判断所述安装包是否有效;其中,当所述第一校验值和所述第二校验值一致时,判定所述安装包有效;当所述第一校验值和所述第二校验值不一致时,判定所述安装包无效。
可选地,所述确定模块,还适于当校验所述安装包有效时,将所述安装包写入磁盘空间;当校验所述安装包无效时,删除所述内存中的安装包。
可选地,所述装置还包括:
提示模块,适于发出提示信息,所述提示信息用于提示用户所述安装包无效。
可选地,所述装置应用于安卓设备中。
采用本发明实施例提供的技术方案,通过将安装包下载到内存中,并直接从内存中读取安装包中的有效数据,进而根据有效数据对安装包的有效性进行校验,使得终端对安装包的有效性进行校验时,无需将整个安装包文件写入磁盘后再从磁盘读入内存中进行有效性校验,避免了向磁盘写入、读出和删除校验过程中的临时安装包文件的过程,从而省去大量的读写请求,提高了校验过程的整体性能。并且,该技术方案能够根据校验结果确定是否将安装包写入磁盘空间,而并非将所有要下载的安装包都写入磁盘空间,从而有效地避免一些包含有盗版、木马或广告等潜在风险和威胁的安装包文件写入磁盘,很大程度上提高了用户下载安装包的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的应用程序安装包的校验方法的示意性流程图;
图2是根据本发明另一个实施例的应用程序安装包的校验方法的示意性流程图;
图3是根据本发明再一个实施例的应用程序安装包的校验方法的示意性流程图;
图4是根据本发明再一个实施例的应用程序安装包的校验方法的示意性流程图;
图5是根据本发明一个实施例的应用程序安装包的校验装置的示意性框图;
图6是根据本发明另一个实施例的应用程序安装包的校验装置的示意性框图;
图7是根据本发明再一个实施例的应用程序安装包的校验装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的一种应用程序安装包的校验方法的示意性流程图。如图1所示,该应用程序安装包的校验方法一般性地可包括以下步骤S101-S104:
步骤S101,当接收到对应用程序安装包的下载请求时,将安装包下载到内存中。
步骤S102,从内存中读取安装包中、对安装包进行有效性校验时所需的有效数据。
其中,有效数据可以是开发者身份信息、部分或全部文件内容、文件名称、文件格式等。
步骤S103,根据有效数据对安装包的有效性进行校验,得到校验结果。
步骤S104,根据校验结果确定是否将安装包写入磁盘空间。
具体的,根据校验结果确定是否将安装包写入磁盘空间时,如果校验安装包有效,则将安装包写入磁盘空间;如果校验安装包无效,则删除内存中的安装包。
采用本发明实施例提供的技术方案,通过将安装包下载到内存中,并直接从内存中读取安装包中的有效数据,进而根据有效数据对安装包的有效性进行校验,使得终端对安装包的有效性进行校验时,无需将整个安装包文件写入磁盘后再从磁盘读入内存中进行有效性校验,避免了向磁盘写入、读出和删除校验过程中的临时安装包文件的过程,从而省去大量的读写请求,提高了校验过程的整体性能。并且,该技术方案能够根据校验结果确定是否将安装包写入磁盘空间,而并非将所有要下载的安装包都写入磁盘空间,从而有效地避免一些包含有盗版、木马或广告等潜在风险和威胁的安装包文件写入磁盘,很大程度上提高了用户下载安装包的安全性。
在上述实施例中,执行步骤S102时,可按照以下方式一、方式二中的任一种方式从内存中读取安装包中的有效数据。
方式一
在方式一中,可利用字符串输入输出(例如Python StringIO或JavaStringBuffer)的方式来读取内存中的安装包。因此,步骤S102可执行为以下步骤:首先,将内存中的安装包以字符串输入输出的方式打开,即可获得安装包的文件句柄。然后,根据文件句柄读取安装包中的有效数据。
该方式一中,通过字符串输入输出的方式打开安装包的方式来获得的文件句柄可支持打开、读、写、查找等完整的文件操作接口,既能够满足安装包有效性校验环节的普通文件读请求(例如python read函数)、zip格式文件请求(例如python zipfile函数库)、以及文件内部字符串的深度提取(例如classes.dex文件)等请求的输入参数要求,且不需要将整个安装包文件都写入到磁盘空间中,相较于以往流式输入输出的方式,该方式一省去了大量的读写请求,提高了校验过程的整体性能。
方式二
在方式二中,可利用内存文件系统来缓存临时文件。通过该方式二从内存中读取安装包中的有效数据时,需要将安装包下载到内存中预先建立的内存文件系统中,其中,预先建立的内存文件系统具有唯一的路径信息(例如File Path)。内存文件系统包括但不仅限于Linux中的RAMDisk,RAMFS或TMPFS等。在将安装包下载到内存文件系统的前提下,步骤S102可执行为以下步骤:获取内存文件系统的路径信息;然后,根据路径信息读取安装包中的有效数据。
上述方式二可应用于通过核对开发者身份信息来校验安装包的有效性中,原因在于:在核对开发者身份信息的过程中,会使用到一些原生的工具程序,包括但不仅限于Linux Shell Command,JDK,以及Android SDK相关的md5sum,sha1sum,unzip,apktool,aapt,keytool和jarsigner等工具程序。这些工具程序通常只接受一个安装包文件的路径名或者开发者证书文件的所在路径名作为其参数,因此,在通过核对开发者身份信息来校验安装包的有效性时,必须有确定的路径信息作为上述工具程序的参数。而本实施例通过预先在内存中建立具有唯一路径信息的内存文件系统,并将安装包下载到该内存文件系统中,使得在获取路径信息时,无需将整个安装包文件写入磁盘空间,然后再把这些文件写入磁盘上的完整路径作为参数传入工具程序进行运算,之后再从磁盘上删除该临时文件,更无需通过修改工具程序的源代码来使其接受其他参数(例如内存映像参数或文件句柄参数等),可见,该方式二所提供的实施例省去了大量的读写请求,从而提高了校验过程的整体性能。
在一个实施例中,将方式二应用于通过核对开发者身份信息来校验安装包的有效性中时,可按照以下步骤获取有效数据:将内存文件系统的路径信息传输至用于校验开发者身份信息的工具程序;其中,工具程序用于根据内存文件系统的路径信息获取开发者身份信息,并对开发者身份信息进行校验。
图2是根据本发明一个实施例的一种应用程序安装包的校验方法的示意性流程图。该实施例通过核对开发者身份信息来校验安装包的有效性。如图2所示,该方法包括以下步骤S201-S207:
步骤S201,当接收到对应用程序安装包的下载请求时,将安装包下载到内存中预先建立的内存文件系统中。其中,内存文件系统具有唯一的路径信息。
步骤S202,获取内存文件系统的路径信息。
步骤S203,将内存文件系统的路径信息传输至用于校验开发者身份信息的工具程序。其中,工具程序可以是jarsigner、keytool、md5sum、apktool或者aapt等。
步骤S204,利用工具程序根据路径信息获取安装包的开发者身份信息。其中,开发者身份信息即为安装包文件中所包括的开发者单个或多个系列证书。
步骤S205,将工具程序获取到的开发者身份信息与发布该安装包时原始的开发者身份信息进行比对,判断二者是否一致。如果二者一致,则执行步骤S206;如果二者不一致,则执行步骤S207。
步骤S206,检验安装包有效,并将安装包写入磁盘空间。
步骤S207,检验安装包无效,并删除该安装包。
该实施例通过预先在内存中建立具有唯一路径信息的内存文件系统,并将安装包下载到该内存文件系统中,使得在校验安装包的有效性时,无需将整个安装包文件写入磁盘空间即可获取到工具程序所需要的路径信息的参数,进而根据路径信息提取开发者身份信息,从而省去了大量的读写请求,提高了校验过程的整体性能。
除上述所描述的通过核对开发者身份信息来校验安装包的有效性之外,还可利用其它方式来校验安装包的有效性,以下通过不同的实施例来分别说明。
在一个实施例中,有效数据为安装包文件的部分或全部文件内容,此时,可通过哈希算法计算文件内容的哈希值来校验安装包的有效性。因此,上述方法还可执行为如图3所示的步骤S301-S308:
步骤S301,当接收到对应用程序安装包的下载请求时,将安装包下载到内存中。
步骤S302,将内存中的安装包以字符串输入输出的方式打开,获得安装包的文件句柄。此过程可借助包括但不仅限定于python StringIO或者Java StringBuffer函数库来执行。
步骤S303,根据文件句柄读取安装包中的文件内容。其中,文件内容可以是安装包的全部内容,也可以是安装包的部分内容。当为安装包的部分内容时,可以是预定位置处的一段文件内容或带有预定标识的文件内容。
步骤S304,通过哈希算法计算文件内容的哈希值,获得安装包的第一校验值。
步骤S305,获取安装包的第二校验值,该第二校验值为预先通过哈希算法对文件内容计算得到的哈希值。执行该步骤时,预先计算的对象“文件内容”与步骤S303中所计算的对象“文件内容”需为相同的文件内容,例如,都是相同位置处的一段文件内容,或者都是带有相同标识的文件内容。
步骤S306,对比第一校验值和第二校验值,并根据对比结果判断安装包是否有效。如果第一校验值和第二校验值一致,则执行步骤S307;如果第一校验值和第二校验值不一致,则执行步骤S308。
步骤S307,判定安装包有效,并将安装包写入磁盘空间。
步骤S308,判定安装包无效,并删除该安装包。
该实施例通过哈希算法计算安装包的文件内容的哈希值,并将此哈希值和预先计算的相同文件内容的哈希值进行对比,进而判断安装包是否有效。由于就当前的技术水平和运算能力而言,人为构造安全性哈希值以企图隐藏篡改原始数据的恶意行为,是面临着很大的代价和很低的成功率的,若想恶意构造符合安装包文件格式的数据包难度会更大,成功率也会更低,因此,该实施例的校验方式能够以非常低廉的运算代价、非常高的准确性和可靠性达到安装包文件校验的目的。
此外,在执行步骤S305时,为了避免哈希算法的随机冲突率,还可引入多个哈希算法来计算安装包文件内容的哈希值,从而提高哈希值计算的准确度,进而大幅度提升安装包有效性校验的可靠性和准确性。例如,可选取的哈希算法包括安全性哈希算法128位的MD5、160位的SHA1等。在具体实施时,可预先选定N(N大于或等于2)个不同的哈希算法,并利用这N个哈希算法分别计算从内存中获取的安装包文件内容的哈希值,得到N个第一校验值;然后,获取安装包的N个第二校验值,该N个第二校验值为预先通过上述N个哈希算法对文件内容分别计算得到的哈希值;然后,按照N个第一校验值和N个第二校验值的对应关系组成N组,并判断每组中的第一校验值和第二校验值是否一致,当N组中的第一校验值和第二校验值全都一致,即可确定安装包是有效的,否则,可确定安装包无效。选取多个哈希算法来校验时,哈希算法的个数越多,校验结果的准确度和可靠度也就越高。
需要说明的是,上述实施例是通过字符串输入输出的方式来获得文件句柄,进而读取内存中的安装包文件内容的,但并不仅限于用此方式获取文件内容。例如,还可利用将安装包下载到内存中预先建立的内存文件系统中、然后根据内存文件系统的路径信息来获取文件内容的方式进行获取,具体实施方式与上述实施例类似,在此不再赘述。
在另一个实施例中,有效数据包括安装包的文件格式和文件内容。此时,上述方法可执行为如图4所示的步骤S401-S408:
步骤S401,当接收到对应用程序安装包的下载请求时,将安装包下载到内存中。
步骤S402,从内存中读取安装包中的有效数据。其中,读取到的有效数据包括安装包的文件格式和文件内容。该步骤中,可通过字符串输入输出的方式来获得文件句柄,进而读取内存中的安装包文件内容,也可利用将安装包下载到内存中预先建立的内存文件系统中、然后根据内存文件系统的路径信息来获取文件内容的方式进行获取。
步骤S403,判断文件内容的头两个字节是否依次为“P”和“K”。如果文件内容的头两个字节依次为“P”和“K”,则执行步骤S404;否则,执行步骤S408。
步骤S404,判断文件格式是否为合法的ZIP格式文件。如果文件格式是合法的ZIP格式文件,则执行步骤S405;否则,执行步骤S408。
步骤S405,判断读取的ZIP文件内的根路径上是否包含AndroidManifest.xml和classes.dex两个文件名。如果读取的ZIP文件内的根路径上包含AndroidManifest.xml和classes.dex两个文件名,则执行步骤S406;否则,执行步骤S408。
在具体实施时,为了增加判断力度,还可分别按照相应规范深度检测AndroidManifest.xml和classes.dex文件内容的合法性。此外,为了识别某些无法独立安装运行的应用程序安装包,也可以仅检验安装包文件的根路径上是否包括AndroidManifest.xml文件名即可,而无需检验是否包括classes.dex文件名。
步骤S406,判断读取的ZIP文件是否为经过开发者正常签署的安装包文件。如果读取的ZIP文件为经过开发者正常签署的安装包文件,则执行步骤S407;否则,执行步骤S408。
步骤S407,确定安装包有效,并将安装包写入磁盘空间。
步骤S408,确定安装包无效,并删除该安装包。
该实施例结合所下载的安装包的文件格式和文件内容进行有效性校验,并在所校验的文件格式和文件内容都正确时,才确定安装包是有效的,这使得安装包的有效性校验的准确度和可靠度得以提升。
在上述任一实施例中,当校验安装包无效、并删除该无效安装包之后,还可执行以下步骤:发出提示信息,该提示信息用于提示用户所下载的安装包无效。通过发出提示信息,可使用户更清楚当前所下载的安装包是否有效,并在安装包无效的情况下重新下载所需安装包,为用户带来了方便。
在上述任一实施例中,所述的方法均可应用于安卓系统。
对应于上述实施例中的一种应用程序安装包的校验方法,本发明还公开一种应用程序安装包的校验装置,用以执行上述方法。
图5是根据本发明一个实施例的一种应用程序安装包的校验装置的示意性框图。如图5所示,该装置包括下载模块510、读取模块520、校验模块530和确定模块540;其中:
下载模块510适于当接收到对应用程序安装包的下载请求时,将安装包下载到内存中;读取模块520适于从内存中读取安装包中、对安装包进行有效性校验时所需的有效数据;校验模块530适于根据有效数据对安装包的有效性进行校验,得到校验结果;确定模块540适于根据校验结果确定是否将安装包写入磁盘空间。
在一个实施例中,读取模块520包括打开单元521和第一读取单元522;其中:打开单元521适于将内存中的安装包以字符串输入输出的方式打开,获得安装包的文件句柄;第一读取单元522适于根据文件句柄读取安装包中的有效数据。
在一个实施例中,下载模块510还适于将安装包下载到内存中预先建立的内存文件系统中,内存文件系统具有唯一的路径信息。
在一个实施例中,读取模块520包括第一获取单元523和第二读取单元524;其中:第一获取单元523适于获取内存文件系统的路径信息;第二读取单元524适于根据路径信息读取安装包中的有效数据。
在一个实施例中,第二读取单元524还适于有效数据包括安装包的开发者身份信息时,将路径信息传输至用于校验开发者身份信息的工具程序,工具程序用于根据路径信息获取开发者身份信息,并对开发者身份信息进行校验。
在一个实施例中,校验模块530包括计算单元531、第二获取单元532和对比单元533;其中:计算单元531适于有效数据包括安装包的文件内容时,通过哈希算法计算文件内容的哈希值,获得安装包的第一校验值;第二获取单元532适于获取安装包的第二校验值,第二校验值为预先通过哈希算法对文件内容计算得到的哈希值;对比单元533适于对比第一校验值和第二校验值,并根据对比结果判断安装包是否有效;其中,当第一校验值和第二校验值一致时,判定安装包有效;当第一校验值和第二校验值不一致时,判定安装包无效。
在一个实施例中,确定模块540还适于当校验安装包有效时,将安装包写入磁盘空间;当校验安装包无效时,删除内存中的安装包。
在一个实施例中,上述装置还包括提示模块550,该提示模块550适于发出提示信息,提示信息用于提示用户安装包无效。
在一个实施例中,上述装置应用于安卓设备中。
图6是根据本发明另一个实施例的一种应用程序安装包的校验装置的示意性框图。在该实施例中,当接收到对应用程序安装包的下载请求时,下载模块510将安装包下载到内存中预先建立的内存文件系统中,内存文件系统具有唯一的路径信息。第一获取单元523获取下载模块510将安装包下载到内存文件系统的路径信息。第二读取单元524将第一获取单元523获取的路径信息传输至用于校验开发者身份信息的工具程序,其中,工具程序用于根据路径信息获取开发者身份信息,并通过校验模块530对开发者身份信息进行校验,得到校验结果。确定模块540根据校验模块530的校验结果确定是否将安装包写入磁盘空间。当确定模块540确定安装包无效,并删除内存中的安装包之后,提示模块550发出提示信息,该提示信息用于提示用户安装包无效。
图7是根据本发明再一个实施例的一种应用程序安装包的校验装置的示意性框图。在该实施例中,当接收到对应用程序安装包的下载请求时,下载模块510将安装包下载到内存中。打开单元521将下载模块510下载至内存中的安装包以字符串输入输出的方式打开,从而获得安装包的文件句柄。第一读取单元522根据打开单元521获得的文件句柄读取安装包中的有效数据,该有效数据中包括安装包的文件内容。计算单元531通过哈希算法计算第一读取单元522读取的文件内容的哈希值,获得安装包的第一校验值。第二获取单元532获取安装包的第二校验值,第二校验值为预先通过哈希算法对文件内容计算得到的哈希值。对比单元533对比计算单元531计算的第一校验值和第二获取单元532获取的第二校验值,并根据对比结果判断安装包是否有效;其中,当第一校验值和第二校验值一致时,判定安装包有效;当第一校验值和第二校验值不一致时,判定安装包无效。确定模块540根据对比单元533对比的校验结果确定是否将安装包写入磁盘空间。
采用上述任一实施例提供的装置,通过将安装包下载到内存中,并直接从内存中读取安装包中的有效数据,进而根据有效数据对安装包的有效性进行校验,使得终端对安装包的有效性进行校验时,无需将整个安装包文件写入磁盘后再从磁盘读入内存中进行有效性校验,避免了向磁盘写入、读出和删除校验过程中的临时安装包文件的过程,从而省去大量的读写请求,提高了校验过程的整体性能。并且,该装置能够根据校验结果确定是否将安装包写入磁盘空间,而并非将所有要下载的安装包都写入磁盘空间,从而有效地避免一些包含有盗版、木马或广告等潜在风险和威胁的安装包文件写入磁盘,很大程度上提高了用户下载安装包的安全性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序安装包的校验装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例提供了A1、一种应用程序安装包的校验方法,包括:
当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
根据所述校验结果确定是否将所述安装包写入磁盘空间。
A2、根据A1所述的方法,其中,从所述内存中读取所述安装包中的有效数据,包括:
将所述内存中的安装包以字符串输入输出的方式打开,获得所述安装包的文件句柄;
根据所述文件句柄读取所述安装包中的有效数据。
A3.根据A1所述的方法,其中,将所述安装包下载到内存中,包括:
将所述安装包下载到所述内存中预先建立的内存文件系统中,所述内存文件系统具有唯一的路径信息。
A4.根据A3所述的方法,其中,从所述内存中读取所述安装包中的有效数据,包括:
获取所述内存文件系统的路径信息;
根据所述路径信息读取所述安装包中的有效数据。
A5.根据A4所述的方法,其中,所述有效数据包括所述安装包的开发者身份信息;
所述根据所述路径信息读取所述安装包中的有效数据,包括:
将所述路径信息传输至用于校验所述开发者身份信息的工具程序,所述工具程序用于根据所述路径信息获取所述开发者身份信息,并对所述开发者身份信息进行校验。
A6.根据A1-A4中任一项所述的方法,其中,所述有效数据包括所述安装包的文件内容;
所述根据所述有效数据对所述安装包的有效性进行校验,包括:
通过哈希算法计算所述文件内容的哈希值,获得所述安装包的第一校验值;
获取所述安装包的第二校验值,所述第二校验值为预先通过所述哈希算法对所述文件内容计算得到的哈希值;
对比所述第一校验值和所述第二校验值,并根据所述对比结果判断所述安装包是否有效;其中,当所述第一校验值和所述第二校验值一致时,判定所述安装包有效;当所述第一校验值和所述第二校验值不一致时,判定所述安装包无效。
A7.根据A1-A6中任一项所述的方法,其中,根据所述校验结果确定是否将所述安装包写入磁盘空间,包括:
当校验所述安装包有效时,将所述安装包写入磁盘空间;
当校验所述安装包无效时,删除所述内存中的安装包。
A8.根据A7所述的方法,其中,所述删除所述内存中的安装包之后,所述方法还包括:
发出提示信息,所述提示信息用于提示用户所述安装包无效。
A9.根据A1-A8中任一项所述的方法,其中,所述方法应用于安卓系统。
本发明实施例提供了B10、一种应用程序安装包的校验装置,包括:
下载模块,适于当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
读取模块,适于从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
校验模块,适于根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
确定模块,适于根据所述校验结果确定是否将所述安装包写入磁盘空间。
B11.根据B10所述的装置,其中,所述读取模块包括:
打开单元,适于将所述内存中的安装包以字符串输入输出的方式打开,获得所述安装包的文件句柄;
第一读取单元,适于根据所述文件句柄读取所述安装包中的有效数据。
B12.根据B10所述的装置,其中,所述下载模块,还适于将所述安装包下载到所述内存中预先建立的内存文件系统中,所述内存文件系统具有唯一的路径信息。
B13.根据B12所述的装置,其中,所述读取模块包括:
第一获取单元,适于获取所述内存文件系统的路径信息;
第二读取单元,适于根据所述路径信息读取所述安装包中的有效数据。
B14.根据B13所述的装置,其中,所述第二读取单元,还适于所述有效数据包括所述安装包的开发者身份信息时,将所述路径信息传输至用于校验所述开发者身份信息的工具程序,所述工具程序用于根据所述路径信息获取所述开发者身份信息,并对所述开发者身份信息进行校验。
B15.根据B10-B13中任一项所述的装置,其中,所述校验模块包括:
计算单元,适于所述有效数据包括所述安装包的文件内容时,通过哈希算法计算所述文件内容的哈希值,获得所述安装包的第一校验值;
第二获取单元,适于获取所述安装包的第二校验值,所述第二校验值为预先通过所述哈希算法对所述文件内容计算得到的哈希值;
对比单元,适于对比所述第一校验值和所述第二校验值,并根据所述对比结果判断所述安装包是否有效;其中,当所述第一校验值和所述第二校验值一致时,判定所述安装包有效;当所述第一校验值和所述第二校验值不一致时,判定所述安装包无效。
B16.根据B10-B15中任一项所述的装置,其中,所述确定模块,还适于当校验所述安装包有效时,将所述安装包写入磁盘空间;当校验所述安装包无效时,删除所述内存中的安装包。
B17.根据B16所述的装置,其中,所述装置还包括:
提示模块,适于发出提示信息,所述提示信息用于提示用户所述安装包无效。
B18.根据B10-B17中任一项所述的装置,其中,所述装置应用于安卓设备中。

Claims (10)

1.一种应用程序安装包的校验方法,包括:
当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
根据所述校验结果确定是否将所述安装包写入磁盘空间。
2.根据权利要求1所述的方法,其中,从所述内存中读取所述安装包中的有效数据,包括:
将所述内存中的安装包以字符串输入输出的方式打开,获得所述安装包的文件句柄;
根据所述文件句柄读取所述安装包中的有效数据。
3.根据权利要求1所述的方法,其中,将所述安装包下载到内存中,包括:
将所述安装包下载到所述内存中预先建立的内存文件系统中,所述内存文件系统具有唯一的路径信息。
4.根据权利要求3所述的方法,其中,从所述内存中读取所述安装包中的有效数据,包括:
获取所述内存文件系统的路径信息;
根据所述路径信息读取所述安装包中的有效数据。
5.根据权利要求4所述的方法,其中,所述有效数据包括所述安装包的开发者身份信息;
所述根据所述路径信息读取所述安装包中的有效数据,包括:
将所述路径信息传输至用于校验所述开发者身份信息的工具程序,所述工具程序用于根据所述路径信息获取所述开发者身份信息,并对所述开发者身份信息进行校验。
6.根据权利要求1-4中任一项所述的方法,其中,所述有效数据包括所述安装包的文件内容;
所述根据所述有效数据对所述安装包的有效性进行校验,包括:
通过哈希算法计算所述文件内容的哈希值,获得所述安装包的第一校验值;
获取所述安装包的第二校验值,所述第二校验值为预先通过所述哈希算法对所述文件内容计算得到的哈希值;
对比所述第一校验值和所述第二校验值,并根据所述对比结果判断所述安装包是否有效;其中,当所述第一校验值和所述第二校验值一致时,判定所述安装包有效;当所述第一校验值和所述第二校验值不一致时,判定所述安装包无效。
7.根据权利要求1-6中任一项所述的方法,其中,根据所述校验结果确定是否将所述安装包写入磁盘空间,包括:
当校验所述安装包有效时,将所述安装包写入磁盘空间;
当校验所述安装包无效时,删除所述内存中的安装包。
8.根据权利要求7所述的方法,其中,所述删除所述内存中的安装包之后,所述方法还包括:
发出提示信息,所述提示信息用于提示用户所述安装包无效。
9.根据权利要求1-8中任一项所述的方法,其中,所述方法应用于安卓系统。
10.一种应用程序安装包的校验装置,包括:
下载模块,适于当接收到对应用程序安装包的下载请求时,将所述安装包下载到内存中;
读取模块,适于从所述内存中读取所述安装包中、对所述安装包进行有效性校验时所需的有效数据;
校验模块,适于根据所述有效数据对所述安装包的有效性进行校验,得到校验结果;
确定模块,适于根据所述校验结果确定是否将所述安装包写入磁盘空间。
CN201610417488.7A 2016-06-14 2016-06-14 应用程序安装包的校验方法及装置 Pending CN106055341A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610417488.7A CN106055341A (zh) 2016-06-14 2016-06-14 应用程序安装包的校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610417488.7A CN106055341A (zh) 2016-06-14 2016-06-14 应用程序安装包的校验方法及装置

Publications (1)

Publication Number Publication Date
CN106055341A true CN106055341A (zh) 2016-10-26

Family

ID=57167527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610417488.7A Pending CN106055341A (zh) 2016-06-14 2016-06-14 应用程序安装包的校验方法及装置

Country Status (1)

Country Link
CN (1) CN106055341A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778099A (zh) * 2016-11-29 2017-05-31 北京奇虎科技有限公司 防篡改apk的生成方法和装置、安装及运行方法和装置
CN106845278A (zh) * 2016-12-26 2017-06-13 武汉斗鱼网络科技有限公司 一种文件校验方法及系统
CN106911678A (zh) * 2017-02-14 2017-06-30 杭州迪普科技股份有限公司 一种病毒检测方法及装置
CN107145417A (zh) * 2017-05-08 2017-09-08 郑州云海信息技术有限公司 一种外插卡安装位置校验方法及装置
CN107273742A (zh) * 2017-06-09 2017-10-20 广州涉川科技有限公司 一种安卓应用的授权安装方法、扫码支付终端、服务器及系统
CN109522719A (zh) * 2018-11-29 2019-03-26 北京梆梆安全科技有限公司 应用安装包的加固检测方法、装置及移动终端
CN109558732A (zh) * 2017-09-27 2019-04-02 武汉斗鱼网络科技有限公司 一种防止应用程序文件被篡改的方法及服务器
CN110162964A (zh) * 2019-05-29 2019-08-23 中国银行股份有限公司 一种文件篡改的检查方法、装置及系统
CN110224842A (zh) * 2019-06-26 2019-09-10 北京小米移动软件有限公司 应用包的下载方法、装置、设备及可读存储介质
CN110278267A (zh) * 2019-06-21 2019-09-24 浙江蓝卓工业互联网信息技术有限公司 一种工业互联网app的限制使用方法及系统
CN110874225A (zh) * 2018-08-29 2020-03-10 杭州海康威视数字技术股份有限公司 一种数据校验方法、装置、嵌入式设备及存储介质
CN111767539A (zh) * 2020-05-15 2020-10-13 上海趣蕴网络科技有限公司 一种apk安全系统及安全校验方法
CN112114824A (zh) * 2020-09-07 2020-12-22 上海上讯信息技术股份有限公司 一种基于Linux的软件部署方法及设备
CN113139716A (zh) * 2021-03-31 2021-07-20 成都飞机工业(集团)有限责任公司 一种数控加工程序包远程自动化防出错校验的方法
CN113779558A (zh) * 2021-09-10 2021-12-10 中国电信集团系统集成有限责任公司 应用程序安装包的构建方法、安装方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247194A (zh) * 2008-03-05 2008-08-20 北京创毅视讯科技有限公司 一种移动多媒体广播系统的文件接收方法
CN101482823A (zh) * 2009-01-19 2009-07-15 中兴通讯股份有限公司 一种单板应用版本的实现方法及系统
CN102222010A (zh) * 2011-06-21 2011-10-19 中兴通讯股份有限公司 一种移动终端版本升级的方法及实现系统
CN104102499A (zh) * 2013-04-02 2014-10-15 中兴通讯股份有限公司 移动终端及其软件升级的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247194A (zh) * 2008-03-05 2008-08-20 北京创毅视讯科技有限公司 一种移动多媒体广播系统的文件接收方法
CN101482823A (zh) * 2009-01-19 2009-07-15 中兴通讯股份有限公司 一种单板应用版本的实现方法及系统
CN102222010A (zh) * 2011-06-21 2011-10-19 中兴通讯股份有限公司 一种移动终端版本升级的方法及实现系统
CN104102499A (zh) * 2013-04-02 2014-10-15 中兴通讯股份有限公司 移动终端及其软件升级的方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778099A (zh) * 2016-11-29 2017-05-31 北京奇虎科技有限公司 防篡改apk的生成方法和装置、安装及运行方法和装置
CN106845278A (zh) * 2016-12-26 2017-06-13 武汉斗鱼网络科技有限公司 一种文件校验方法及系统
CN106911678A (zh) * 2017-02-14 2017-06-30 杭州迪普科技股份有限公司 一种病毒检测方法及装置
CN107145417A (zh) * 2017-05-08 2017-09-08 郑州云海信息技术有限公司 一种外插卡安装位置校验方法及装置
CN107273742A (zh) * 2017-06-09 2017-10-20 广州涉川科技有限公司 一种安卓应用的授权安装方法、扫码支付终端、服务器及系统
CN109558732A (zh) * 2017-09-27 2019-04-02 武汉斗鱼网络科技有限公司 一种防止应用程序文件被篡改的方法及服务器
CN110874225A (zh) * 2018-08-29 2020-03-10 杭州海康威视数字技术股份有限公司 一种数据校验方法、装置、嵌入式设备及存储介质
CN110874225B (zh) * 2018-08-29 2023-05-02 杭州海康威视数字技术股份有限公司 一种数据校验方法、装置、嵌入式设备及存储介质
CN109522719A (zh) * 2018-11-29 2019-03-26 北京梆梆安全科技有限公司 应用安装包的加固检测方法、装置及移动终端
CN110162964A (zh) * 2019-05-29 2019-08-23 中国银行股份有限公司 一种文件篡改的检查方法、装置及系统
CN110278267B (zh) * 2019-06-21 2021-10-29 浙江蓝卓工业互联网信息技术有限公司 一种工业互联网app的限制使用方法及系统
CN110278267A (zh) * 2019-06-21 2019-09-24 浙江蓝卓工业互联网信息技术有限公司 一种工业互联网app的限制使用方法及系统
CN110224842A (zh) * 2019-06-26 2019-09-10 北京小米移动软件有限公司 应用包的下载方法、装置、设备及可读存储介质
CN111767539A (zh) * 2020-05-15 2020-10-13 上海趣蕴网络科技有限公司 一种apk安全系统及安全校验方法
CN112114824A (zh) * 2020-09-07 2020-12-22 上海上讯信息技术股份有限公司 一种基于Linux的软件部署方法及设备
CN113139716A (zh) * 2021-03-31 2021-07-20 成都飞机工业(集团)有限责任公司 一种数控加工程序包远程自动化防出错校验的方法
CN113779558A (zh) * 2021-09-10 2021-12-10 中国电信集团系统集成有限责任公司 应用程序安装包的构建方法、安装方法及装置

Similar Documents

Publication Publication Date Title
CN106055341A (zh) 应用程序安装包的校验方法及装置
US10142370B2 (en) Methods and apparatus for generating and using security assertions associated with containers in a computing environment
KR101214893B1 (ko) 어플리케이션의 유사성 검출 장치 및 방법
CN105391717B (zh) 一种apk签名认证方法及其系统
CN104517054B (zh) 一种检测恶意apk的方法、装置、客户端和服务器
KR101402057B1 (ko) 위험도 계산을 통한 리패키지 애플리케이션의 분석시스템 및 분석방법
JP6609047B2 (ja) アプリケーション情報リスクマネジメントのための方法及びデバイス
US9118713B2 (en) System and a method for automatically detecting security vulnerabilities in client-server applications
US20190005239A1 (en) Electronic device for analyzing malicious code and method therefor
CN107679393B (zh) 基于可信执行环境的Android完整性验证方法和装置
Jiang et al. Pdiff: Semantic-based patch presence testing for downstream kernels
CN109359468A (zh) 漏洞检测方法、装置及设备
CN106778103A (zh) 一种安卓应用程序防逆向破解的加固方法、系统及解密方法
US10148440B2 (en) Binary code authentication
CN105893837B (zh) 应用程序安装方法、安全加密芯片及终端
CN106709281B (zh) 补丁发放和获取方法、装置
CN110869931A (zh) 电子系统漏洞评估
Lim et al. Structural analysis of packing schemes for extracting hidden codes in mobile malware
Malik et al. Specification and modeling for systems-on-chip security verification
Hou et al. Large-scale security measurements on the android firmware ecosystem
CN104035874B (zh) 一种软件程序检测方法、装置及系统
CN105471809B (zh) 软件授权信息的验证方法及系统
CN111159712A (zh) 检测方法、设备及存储介质
Shin et al. An Investigation of PSA Certified
CN110780881A (zh) 一种软件包制作方法、装置和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161026

RJ01 Rejection of invention patent application after publication