CN111159712B - 检测方法、设备及存储介质 - Google Patents

检测方法、设备及存储介质 Download PDF

Info

Publication number
CN111159712B
CN111159712B CN201911333848.5A CN201911333848A CN111159712B CN 111159712 B CN111159712 B CN 111159712B CN 201911333848 A CN201911333848 A CN 201911333848A CN 111159712 B CN111159712 B CN 111159712B
Authority
CN
China
Prior art keywords
data
target data
stored
application
detected
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.)
Active
Application number
CN201911333848.5A
Other languages
English (en)
Other versions
CN111159712A (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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN201911333848.5A priority Critical patent/CN111159712B/zh
Publication of CN111159712A publication Critical patent/CN111159712A/zh
Application granted granted Critical
Publication of CN111159712B publication Critical patent/CN111159712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种检测方法、设备及存储介质,其中,所述方法包括:获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;对获得的目标数据进行解析;根据解析结果确定所述目标数据是否为期望数据;根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。

Description

检测方法、设备及存储介质
技术领域
本申请涉及检测技术,具体涉及一种检测方法、设备及存储介质。
背景技术
相关技术中的应用大多具有可兼容性,能够兼容第三方的软件工具包(SDK,Software Development Kit)。如此,应用便可通过SDK的安装,一方面获得其自身无法实现的功能;另一方面,该应用无需刻意开发该SDK具有的功能,仅需要安装第三方提供的该SDK便可实现预期功能,使得资源得到合理利用,也避免了刻意开发而带来的开发成本增加的问题。在实际应用中,用户在通过手机、平板电脑等使用这些应用的过程中,会产生一些敏感数据如用户标识(ID)、手机号、密码等。理论上,安装第三方SDK的应用考虑到自身的利益,仅希望这些敏感数据仅能被自身所存储,并不希望所安装的第三方SDK也存储这些敏感数据,如果被第三方SDK存储,则会造成数据的泄漏,使得数据安全性存在隐患。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种检测方法、设备及存储介质,至少能够准确地检测出SDK是否合理或合法的存储数据,可保证数据存储的安全性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种检测方法,包括:
获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;
从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;
对获得的目标数据进行解析;
根据解析结果确定所述目标数据是否为期望数据;
根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。
上述方案中,所述对获得的目标数据进行解析,包括:
判断对所述目标数据是否能解析出明文数据;
如果判断为能解析出明文数据的情况下,则将所述明文数据与匹配数据库进行匹配,得到所述解析结果;
如果判断为无法解析出明文数据的情况下,利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果。
上述方案中,所述利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果,包括:
判断利用预设密码库中设置的至少一个密码是否能够解析出所述目标数据的明文数据;
所述根据解析结果确定所述目标数据是否为期望数据,包括:
在判断为无法解析出所述明文数据的情况下,确定所述目标数据不为期望数据。
上述方案中,所述方法还包括:
在判断为能够解析出所述明文数据的情况下,将所述明文数据与所述匹配数据库进行匹配,根据匹配结果确定所述目标数据是否为期望数据。
上述方案中,所述将所述明文数据与匹配数据库进行匹配,包括:
判断所述明文数据在所述匹配数据库中是否出现;
所述根据解析结果确定所述目标数据是否为期望数据,包括:
如果判断为所述明文数据在所述匹配数据库中出现,则确定所述目标数据为期望数据;
如果判断为所述明文数据在所述匹配数据库中未出现,则确定所述目标数据不为期望数据。
上述方案中,所述根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法,包括:
在确定所述目标数据不为期望数据的情况下,确定所述软件工具包为合法或合理存储数据、或未存储数据;
在确定所述目标数据为期望数据的情况下,确定所述软件工具包为非法或非合理存储数据。
上述方案中,在获得待检测应用存储的目标数据之前,所述方法还包括:
为所述待检测应用分配检测包;
由所述检测包对所述待检测应用存储的数据进行获取,并从所述数据中获得目标数据,对所述目标数据进行解析,并根据解析结果确定所述目标数据是否为期望数据。
上述方案中,所述从所述数据中获得目标数据,包括:
获得标识信息,所述标识信息表征为由软件工具包存储的数据的标识或所述待检测应用未安装所述软件工具包的情况下存储数据时所使用的标识;
根据所述标识信息从所述待检测应用存储的数据中提取出所述目标数据。
本申请实施例提供一种检测设备,包括:
第一获得单元,用于获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;
第二获得单元,用于从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;
解析单元,用于对获得的目标数据进行解析;
确定单元,用于根据解析结果确定所述目标数据是否为期望数据;
第三获得单元,用于根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述方法的步骤。
本申请实施例提供一种检测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述方法的步骤。
本申请实施例提供一种检测方法、设备及存储介质,其中,所述方法包括:获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;对获得的目标数据进行解析;根据解析结果确定所述目标数据是否为期望数据;根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。
本申请实施例中,能够从安装有特定SDK的应用存储的数据中检测出由该SDK存储的数据并确定该SDK是合理或合法存储数据还是非合理或非合法存储数据,也即能够准确地检测出SDK存储数据是否合理或合法,保证数据存储的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供检测方法的第一实施例的实现流程图;
图2为本申请提供检测方法的第二实施例的实现流程图;
图3为本申请提供检测方法的第三实施例的实现流程图;
图4为本申请提供的App沙盒机制的实现框图;
图5为本申请提供的检测SDK集成App的实现示意图;
图6为本申请提供的检测方法的第四实施例的实现流程图;
图7为本申请提供的检测设备的模块组成示意图;
图8为本申请提供的检测设备的硬件构成示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在对本申请实施例的方案进行介绍之前,先对本申请实施例中可能会使用到的技术术语进行简单说明。
应用(App)的沙盒(SendBox)机制:App安装在手机之后,手机会给该App分配一个独立的沙盒空间,专门用来存储该App的安装数据和使用过程中产生的数据(包括敏感数据)。各个App在这个沙盒机制的约束下,不可以访问其它App的数据。
应用程序接口(API,Application Programming Interface)函数:是预先定义的接口函数。可视为软件系统的不同组成部分衔接之间的约定,通过该函数可以调用需要读取的数据。
数据加密算法(DES,Data Encryption Standard):是IBM公司于1975年研究成功并公开发表的一种用于对数据进行加密的算法。
其中,3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple DataEncryption Algorithm)块密码的通称。
高级加密标准(AES,Advanced Encryption Standard,):密码学中的高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
Xposed:(Xposed Framework)是一套可应用于Android(安卓)的开源服务,可在Android高权限模式下运行。
集成开发环境(IDE,Integrated Development Environment):是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。为集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务。
本申请提供检测方法的第一实施例,如图1所示,所述方法包括:
步骤(S)101:获得待检测应用存储的数据,其中所述待检测应用为包括有特定SDK的应用;
可以理解,特定SDK可视为待检测的SDK。该SDK可以是来自第三方的SDK,也可以是由开发待检测应用的公司开发的SDK,本申请实施例中可以检测第三方SDK存储数据的合理性或合法性,还可以是检测由自身开发的SDK其存储数据的合理性或合法性。
此外,应该而知,在使用某个(些)应用的过程中产生的所有数据包括敏感数据和非敏感数据均会被该应用存储。该应用存储的数据中包括其安装的SDK存储的数据。未安装第三方SDK的情况下该应用存储的数据和在安装有第三方SDK情况下该第三方SDK在该应用下存储的数据采用不同的标识进行数据的存储,用以区分被存储的数据是由第三方SDK存储还是由该应用自身进行存储。此外,待检测应用未安装特定SDK的情况下存储数据时使用有标识,而该安装的特定SDK存储数据不使用标识,如此根据存储的数据是否使用了标识,也可区分出被存储的数据是由特定SDK存储还是由该应用自身进行存储。
S102:从所述数据中获得目标数据,所述目标数据表征为由所述SDK存储的数据;
本步骤中,从待检测应用存储的数据中获取由软件工具包存储的数据。在具体实现上,由于采用不同的标识进行存储,可通过软件工具包存储数据时所使用的标识从待检测应用存储的数据中提取出由软件工具包存储的数据。
S103:对获得的目标数据进行解析;
S104:根据解析结果确定所述目标数据是否为期望数据;
可以理解,期望数据指的是不希望由SDK存储的数据。如含有私人信息的敏感数据,诸如用户手机号、账号、密码、银行卡号等与用户ID有关的数据。
S105:根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。
本步骤中,在目标数据不为期望数据的情况下,可确定软件工具包为合法或合理存储数据、或未存储数据;在确定目标数据为期望数据的情况下,确定软件工具包为非法或非合理存储数据。
前述方案中,对于包括有待检测SDK的应用(待检测应用),获得该应用的存储的数据,从获得的数据中得到由SDK存储的数据(目标数据),对该目标数据进行解析并确定其是否为期望数据,并根据由SDK存储的数据是否为期望数据的结果确定SDK为非法或非合理存储数据还是合理或合法存储数据。可见,前述方案中,能够针对安装SDK的应用存储的数据中检测出由该SDK存储的数据并确定该SDK是合理或合法存储数据还是非合理或非合法存储数据,也即能够准确地检测出SDK存储数据是否合理或合法,保证数据存储的安全性。
本申请提供检测方法的第二实施例,如图2所示,S103进一步包括:
S103a:判断对所述目标数据是否能解析出明文数据;
S103b:如果判断为能解析出明文数据的情况下,则将所述明文数据与匹配数据库进行匹配,得到所述解析结果;如果判断为无法解析出明文数据的情况下,利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果。
在本实施例中,针对获得的目标数据,通过判断该目标数据是否能够解析出明文数据的方式来实现对该目标数据的解析。进一步的,如果判断为能够解析出明文数据,将解析出的明文数据与匹配数据库进行匹配。否则也即如果判断为无法解析出明文数据则利用预设的密码库对目标数据进行解密,得到解密结果,并将该解密结果确定为解析结果。通过是否能够对目标数据解析出明文数据的方案,实现对SDK存储数据是否合理或合法的检测。这种检测方案可有效检测出SDK是合理或合法存储数据还是非合理或非合法存储数据,由此保证数据存储的安全性。
在S103b中,所述利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果,包括:
判断利用预设密码库中设置的至少一个密码是否能够解析出所述目标数据的明文数据;
相应的,所述根据解析结果确定所述目标数据是否为期望数据,包括:
在判断为无法解析出所述明文数据的情况下,确定所述目标数据不为期望数据;
在判断为能够解析出所述明文数据的情况下,将所述明文数据与所述匹配数据库进行匹配,根据匹配结果确定所述目标数据是否为期望数据。进一步的,判断所述明文数据在所述匹配数据库中是否出现;如果判断为所述明文数据在所述匹配数据库中出现,则确定所述目标数据为期望数据;如果判断为所述明文数据在所述匹配数据库中未出现,则确定所述目标数据不为期望数据。
前述方案中,在无法对目标数据解析出明文数据的情况下,还需要采用预设的密码库利用密码库中设置的至少一个密码进行目标数据的解析,判断在利用密码的情况下是否能够解析出明文数据,如果还是无法解析出明文数据则认为由SDK存储的该目标数据不为期望数据,SDK的数据存储合理或合法。如果能够解析出明文数据,还需要判断解析出的明文数据在匹配数据库中是否出现;如果判断为明文数据在所述匹配数据库中出现,则确定由SDK存储的该目标数据为期望数据,SDK的数据存储非合理或非合法;否则确定由SDK存储的该目标数据不为期望数据,SDK未存储数据或存储的数据合理或合法。由此实现了对SDK是合理或合法存储数据还是非合理或非合法存储数据的有效检测,这种检测方案在工程上易于实现。这种检测方案所依赖的数据即目标数据是由SDK存储的数据,可保证检测结果的准确性,大大避免检测出错的情况,进而可保证数据存储的安全性。
在一个可选的实施例中,为实现前述方案,在获得待检测应用存储的目标数据之前,所述方法还包括:为所述待检测应用分配检测包;由所述检测包对所述待检测应用存储的数据进行获取,并从所述数据中获得目标数据,对所述目标数据进行解析,并根据解析结果确定所述目标数据是否为期望数据。也即,本申请实施例中通过检测包来实现SDK是否合理或合法存储数据的检测方案,如此,便可在不影响该应用的正常使用的情况下实现准确地检测。
在实际应用中,若A公司开发的App使用了B公司的一SDK以作为对该款App功能的完善,在使用的过程中,为避免用户敏感数据的泄漏给A公司带来的经济损失,防止B公司的SDK在A公司不知情的情况下对该App产生的敏感数据进行存储,可采用本申请实施例的检测方案进行SDK是否合理或合法存储数据的检测,该检测方案的准确性高且在工程上易于实现,可大大避免用户敏感数据的泄漏给A公司带来的经济损失。可以理解,SDK未合理或合法存储数据指的是SDK未按照两公司之间的合同约定进行了敏感数据的存储。为方便描述,本申请实施例中的前述包括有B公司的SDK的该App作为待检测或被检测的应用。其中,为方便描述,可将应用自身视为应用未安装第三方SDK的情形。
下面结合附图及以下应用场景对本申请实施例提供的技术方案作进一步详细的说明。
A公司在开发完成前述App的情况下,将该App上传到应用商店(如App Store)。A公司的测试人员作为该App的使用者进行该App的下载并安装。此外,为实现对B公司的SDK是否合理或合法存储数据的检测,A公司开发了检测包。为区别于为完善A公司的前述App功能而安装的B公司的SDK,将A公司开发的该检测包称之为检测SDK。可以理解,对于测试人员下载并安装的该App,需要通过为该App分配的SDK进行B公司的SDK(特定SDK)是否合理或合法存储数据的检测。为方便实现检测,本申请实施例中可将检测SDK内嵌于该App中,相当于将用于检测B公司的SDK是否合理或合法存储数据的检测包作为该App的一部分,以实现本申请的检测方案。
从整体实现流程上来看,从App的获取途径来看,可采用如下两种方式将检测SDK内嵌于该App中。
(1)如果测试人员下载的App是正常release版本,则进入到本地文件进行该App的浏览,并使用IDE将该App和检测SDK进行二次打包形成包括有检测包的App。
(2)如果测试人员下载的App是从AppStore下载的,则需要将该App进行砸壳破解,破解之后进入到本地文件进行该App的浏览,并使用IDE将该App和检测SDK进行二次打包形成包括有检测包的App。
具体的,如图5所示,对于AppStore下载的App,使用CrackerXI(去证书)插件进行解析,或者可进行解析的第三方软件进行解析,解析的目的在于破解该App。使用在苹果系统中的集成开发工具(XCode)进行简单开发处理,如将检测SDK与待检测(被检测)的App的安装文件(ipa文件)再次打包,得到包括有检测包的App的安装包。其中,Monkey Dev为苹果系统的逆向工具,为实现本申请的检测SDK与App的再次打包提供了开发环境。
可以理解,前述的包括有检测包的App已经安装有B公司的SDK。
包括有检测包的App的安装包被安装到测试人员的终端如手机上,利用手机使用该App,对于使用过程中产生的数据、敏感数据和非敏感数据,都将按照App的沙盒机制,存储到为App开辟的存储空间中。测试人员可基于检测SDK对B公司的SDK是否合理或合法存储数据的检测结果,进行查看。如查看本地数据安全日志信息以及敏感数据。其中,如果B公司的SDK存储敏感数据,则测试人员的手机产生提示信息如显示用于警告的提示。
如图4所示,App的沙盒机制为App的正常使用提供了以下几个容器:第一个容器(目录容器,Bundle Container)、第二个容器(数据容器,Data Container)和第三个容器(iCloud Container)。本领域技术人员应该而知,bundle Container包含了待检测App的程序会使用到的资源,这些资源包含了如图像、声音、编译好的代码文件等。Data Container包括能够存储数据的几个文件如Documents文件、Library文件和Temp文件。默认情况下,每个沙盒含有如上三个文件,其中,Documents目录文件,在苹果系统中建议将App程序中建立的或在程序中浏览到的文件数据保存在该目录下。Library目录文件用于存储App程序的默认设置或其它状态信息;tmp目录文件:用于存储即时创建的临时文件。此外,还可以包括有Caches目录文件:用于存放缓存文件。iCloud Container为可以用于存储可传输至云端服务器的数据。
本领域技术人员应该理解,在App使用过程的数据如敏感数据大多来源于用户从App页面进行输入的数据。通常,对App使用过程中产生的数据如敏感数据和非敏感数据等,在沙盒机制的规定下,会对应存储到如上的其中一个目录文件中。
具体的,在技术实现上,
在将A公司开发的前述App视为待检测App(已经包括有检测SDK和B公司的SDK)的情况下,
如图3所示,测试人员的手机通过检测SDK周期性读取该App存储的数据。进一步的,测试人员的手机通过检测SDK周期性从本地读取该App存储的数据。考虑到该App使用过程中产生的敏感数据和非敏感数据通常存储到沙河根目录文件,Documents目录文件、Library目录文件、Caches目录文件和tmp目录文件中。检测SDK从以上几个目录文件中进行该App所存储的数据的读取。可以理解,如果B公司的SDK也进行了数据存储,也会将这些数据存储到如上的几个目录文件中。但在实际应用中,为方便区分数据是由A公司的App存储的还是由B公司的SDK存储的,在进行存储时,对这两种存储会采用不同的标识进行区分。如由A公司的App存储的数据会加上标识该数据为由其存储的前缀或后缀。由B公司的SDK存储的数据会加上标识该数据为由其存储的前缀或后缀。如由A公司的App存储的数据会加上前缀000;由B公司的SDK存储的数据会加上前缀111。
在实际应用中,也有可能由B公司的SDK存储的数据未加以标识,这种情况下,由于由A公司的App存储的数据加以了标识,则检测SDK可以从其读取的所有数据中将加以了标识的数据过滤掉,保留下未加以标识的数据,则检测SDK认为保留下来的数据是由B公司的SDK存储下来的数据。可以理解,此处仅为几个具体举例而已,在实际应用中任何能够区分由未安装第三方SDK的APP自身存储数据和该APP安装的第三方SDK存储数据的合理的方案均覆盖在本申请实施例的范围之内。
测试人员的手机通过检测SDK周期性读取由B公司的SDK存储的数据所加上的前缀信息,并从如上几个目标文件中读取出的数据中筛选出前缀信息为111的数据,将筛选出的数据作为由B公司的SDK存储的数据,并将筛选出的数据作为目标数据。此处,由于由A公司的App存储的数据和由B公司的SDK存储的数据采用不同的标识进行区分,从数据的标识来看即可实现对数据的准确区分,可保证数据筛选的准确性,从而保证检测的准确性。
测试人员的手机通过检测SDK判断该目标数据是否能够解析出明文数据。
如果通过检测SDK判断为能够解析出明文数据,判断所解析出的明文数据在匹配数据库中是否出现。可以理解,本申请实施例中的匹配数据库用于记载有为不希望被泄漏的敏感数。如果判断为解析出的明文数据在匹配数据库中出现,则确定该目标数据为敏感数据,B公司的SDK非合理或非合法存储有本该属于A公司App存储的敏感数据。如果判断为解析出的明文数据在匹配数据库中未出现,则确定目标数据不为敏感数据,B公司的SDK没有存储有本该属于A公司App存储的敏感数据。
如果通过检测SDK无法解析出明文数据,还需要采用预设的密码库中设置的至少一个密码进行目标数据的解析。可以理解,该密码库中设置有一些实际应用中使用频率比较高的密码(弱密码)如简单数字和/或字母的组合(如123、love you)。具体的,利用DES、3DES和AES中的至少一种对目标数据进行解密。如果能够解析成功,也即能够解析出明文数据的情况下,还需要判断解析出的明文数据在匹配数据库中是否出现,如果出现,则确定该目标数据为敏感数据,B公司的SDK非合理或非合法存储有本该属于A公司App存储的敏感数据。如果在匹配数据库中未出现,则确定目标数据不为敏感数据,B公司的SDK没有存储有本该属于A公司App存储的敏感数据。如果解密未成功,也即逐一利用密码库中所有的密码也未解析出明文数据,则认为该目标数据不为敏感数据,B公司的SDK没有存储有本该属于A公司App存储的敏感数据。
本领域技术人员应该而知,如果经测试人员的手机通过检测SDK进行如上分析得出了B公司的SDK非合理或非合法存储有本该属于A公司App存储的敏感数据的结果,则手机显示提示信息,如在显示屏上显示提示框,用于提示测试人员B公司的SDK非法或非合理存储敏感数据,以方便测试人员采用有关的应对策略,以防止A公司的利益受到损失。
此外,还可以,在测试人员的手机通过检测SDK检测到B公司的SDK非合理或非合法存储敏感数据的情况下,将该敏感数据存储到指定的数据库中。在该指定的数据库中,以键值-数值(key-value)的形式进行存储。进一步的,如果能够解析出明文数据(不论是直接解析出还是通过解密解析出)且明文数据在匹配数据库中出现,则均可以将对目标数据进行检测的时间和该目标数据的来源路径作为key值,将该目标数据作为value值存储到指定的数据库中。如果解密失败,则以对目标数据进行检测的时间和该目标数据的来源路径作为key值,将解密结果(false)作为value值进行存储。可以理解,解密失败意味着数据相对安全,在测试人员想要进行这部分数据的展示时,手机不会对该数据进行展示。其中,指定的数据库可以为任何合理的数据库如关系型数据库、非关系型数据库等。进一步的如大Java数据库、SQL数据库、MySQL数据库。
通俗地讲,本应用场景中,将检测SDK划分为读取部分和加工部分。其中,读取部分负责从以上几个目录文件中进行App存储的数据的读取。加工部分负责从读取的数据中筛选出目标数据,并对目标数据是否为敏感数据进行判断从而得出B公司的SDK是否非合理或非合法存储敏感数据以及存储数据到指定的数据库。其中,加工部分通过API函数周期性读取App存储的数据。读取周期的大小可根据实际情况而灵活设定,例如设定为2秒,每2秒进行一次App存储数据的读取。例如设定为2小时,每2小时进行一次App存储数据的读取。
如图6所示,检测SDK的读取部分通过API函数如NSFileManager来读取存储到沙盒根目录下的数据,该读取仅能读取出数据的存储路径,无法读取出数据。NSFileManager通常与NSBundle函数进行配合使用,通过NSBundle将NSFileManager读取的存储路径下的数据读取出来。检测SDK的读取部分通过NSUserDefault函数负责从Library目录文件中读取数据,默认的路径为Library下的子目录。检测SDK的读取部分通过SQLite3、FMDB和CoreData函数读取以上几个目录文件中以数据库形式存储的数据。检测SDK的加工部分对读取部分读取出的数据进行遍历,根据读取出的数据路径如文件名确定该数据属于哪种类型的数据,如属于数据库型数据(以.db为后缀)、txt(文本)型数据还是其它形式数据(统一为plist文件)。按照各类型的数据形式,进行明文数据的解析。如果解析不出来则按照密码库中设置的密码逐一进行解密。从此得出SDK未存储数据(或存储的数据合理或合法)还是非合理或非合法存储数据的检测结果。
前述方案中,首先,为每个待检测应用分配一个对应的检测SDK来实现对SDK未存储数据(或存储的数据合理或合法)还是非合理或非合法存储数据的有效检测。每个待检测应用利用与其对应的检测SDK包进行检测,使得检测SDK包能够专属于该待检测应用,可在一定程度上保证检测准确性。然后,为A公司的App存储的数据和为B公司的SDK存储的数据打上不同的标识,可实现对数据的准确区分,可保证数据筛选的准确性,从而保证检测的准确性。这种检测方案所依赖的数据即目标数据是由SDK存储的数据,也大大避免检测出错。再有,通过对目标数据是否能够解析出明文数据以及利用密码库是否能够解密出明文数据的判断结果,确定SDK未存储数据(或存储的数据合理或合法)还是非合理或非合法存储数据,在工程上易于实现,可行性高,检测准确性有保证,数据得以被安全存储。最后,测试人员可随时查看存储到指定数据库中的数据,如可以将数据以页面的形式呈现在显示屏中,方便了测试人员的使用,提升了体验度。
前述方案中,是以测试人员的手机侧通过检测SDK包实现的方案,此外,为方便对数据的分析,还可以将通过检测SDK检测出的数据(也即存储到指定数据库的数据)发送到服务器侧(或以加密的形式发送至服务器侧),服务器侧对这些数据进行汇总并保存,以制定更好的策略来约束公司、或完善二者之间制定的合同、或完善A公司的内部存储机制以防止B公司的SDK的窃取、或保存B公司通过非法手段获得商业信息的证据。
前述方案是以测试人员的手机为苹果系统为例进行的说明,此外,本申请实施例中还可应用于安卓系统的手机中。借助于安卓系统的Xposed框架,在不修改安卓应用文件(APK)的情况下即可实现本申请实施例的如上检测方案。
本申请实施例还提供一种检测设备,如图7所示,所述设备包括:第一获得单元71、第二获得单元72、解析单元73、确定单元74和第三获得单元75;其中,
第一获得单元71,用于获得待检测应用存储的数据,其中所述待检测应用为包括有第三方的软件工具包的应用;
第二获得单元72,用于从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;
解析单元73,用于对获得的目标数据进行解析;
确定单元74,用于根据解析结果确定所述目标数据是否为期望数据;
第三获得单元75,用于根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法。
在一个可选的实施例中,所述解析单元73,还用于:
判断对所述目标数据是否能解析出明文数据;
如果判断为能解析出明文数据的情况下,则将所述明文数据与匹配数据库进行匹配,得到所述解析结果;
如果判断为无法解析出明文数据的情况下,利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果。
所述解析单元73,还用于:判断利用预设密码库中设置的至少一个密码是否能够解析出所述目标数据的明文数据;
相应的,所述确定单元74,用于在判断为无法解析出所述明文数据的情况下,确定所述目标数据不为期望数据。
在一个可选的实施例中,确定单元74,用于在解析单元73判断为能够解析出所述明文数据的情况下,将所述明文数据与所述匹配数据库进行匹配,根据匹配结果确定所述目标数据是否为期望数据。
在一个可选的实施例中,解析单元73,用于判断所述明文数据在所述匹配数据库中是否出现;
确定单元74,用于如果解析单元73判断为所述明文数据在所述匹配数据库中出现,则确定所述目标数据为期望数据;
如果解析单元73判断为所述明文数据在所述匹配数据库中未出现,则确定单元74确定所述目标数据不为期望数据。
在一个可选的实施例中,第三获得单元75,用于在确定所述目标数据不为期望数据的情况下,确定所述软件工具包为未存储数据、或合法或合理存储数据;在确定所述目标数据为期望数据的情况下,确定所述软件工具包为非法或非合理存储数据。
在一个可选的实施例中,所述设备还包括分配单元,用于为所述待检测应用分配检测包;
由所述检测包对所述待检测应用存储的数据进行获取,并从所述数据中获得目标数据,对所述目标数据进行解析,并根据解析结果确定所述目标数据是否为期望数据。
在一个可选的实施例中,第二获得单元72,用于获得标识信息,所述标识信息表征为由软件工具包存储的数据的标识或所述待检测应用未安装所述软件工具包的情况下存储数据时所使用的标识;根据所述标识信息从所述待检测应用存储的数据中提取出所述目标数据。
可以理解,所述设备中的第一获得单元71、第二获得单元72、解析单元73、确定单元74和第三获得单元75在实际应用中均可由识别设备的中央处理器(CPU,CentralProcessing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
需要说明的是,本申请实施例的检测设备,由于该检测设备解决问题的原理与前述的检测方法相似,因此,检测设备的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时至少用于执行图1至图6任一所示方法的步骤。所述计算机可读存储介质具体可以为存储器。所述存储器可以为如图8所示的存储器62。
本申请实施例还提供了一种终端。图8为本申请实施例的检测设备的硬件结构示意图,如图8所示,检测设备包括:用于进行数据传输的通信组件63、至少一个处理器61和用于存储能够在处理器61上运行的计算机程序的存储器62。终端中的各个组件通过总线系统64耦合在一起。可理解,总线系统64用于实现这些组件之间的连接通信。总线系统64除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统64。
其中,所述处理器61执行所述计算机程序时至少执行图1至图6任一所示方法的步骤。
可以理解,存储器62可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器62旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器61中,或者由处理器61实现。处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器61可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,检测设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述的检测方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种检测方法,其特征在于,包括:
获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;其中,所述特定软件工具包来自第三方或来自开发待检测应用的公司;
从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;
对获得的目标数据进行解析;
根据解析结果确定所述目标数据是否为期望数据;
根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法;
所述从所述数据中获得目标数据,包括:
通过所述数据的标识信息从所述数据中获取所述目标数据;
在获得待检测应用存储的目标数据之前包括:
为所述待检测应用分配检测包;所述检测包嵌于所述待检测应用中;
由所述检测包对所述待检测应用存储的数据进行获取,并从所述数据中获得目标数据,对所述目标数据进行解析,并根据解析结果确定所述目标数据是否为期望数据。
2.根据权利要求1所述的方法,其特征在于,所述对获得的目标数据进行解析,包括:
判断对所述目标数据是否能解析出明文数据;
如果判断为能解析出明文数据的情况下,则将所述明文数据与匹配数据库进行匹配,得到所述解析结果;
如果判断为无法解析出明文数据的情况下,利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果。
3.根据权利要求2所述的方法,其特征在于,所述利用预设密码库对所述目标数据进行解密,确定解密结果为所述解析结果,包括:
判断利用预设密码库中设置的至少一个密码是否能够解析出所述目标数据的明文数据;
所述根据解析结果确定所述目标数据是否为期望数据,包括:
在判断为无法解析出所述明文数据的情况下,确定所述目标数据不为期望数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在判断为能够解析出所述明文数据的情况下,将所述明文数据与所述匹配数据库进行匹配,根据匹配结果确定所述目标数据是否为期望数据。
5.根据权利要求2或4所述的方法,其特征在于,所述将所述明文数据与匹配数据库进行匹配,包括:
判断所述明文数据在所述匹配数据库中是否出现;
所述根据解析结果确定所述目标数据是否为期望数据,包括:
如果判断为所述明文数据在所述匹配数据库中出现,则确定所述目标数据为期望数据;
如果判断为所述明文数据在所述匹配数据库中未出现,则确定所述目标数据不为期望数据。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法,包括:
在确定所述目标数据不为期望数据的情况下,确定所述软件工具包为合法或合理存储数据、或未存储数据;
在确定所述目标数据为期望数据的情况下,确定所述软件工具包为非法或非合理存储数据。
7.根据权利要求1所述的方法,其特征在于,所述从所述数据中获得目标数据,包括:
获得标识信息,所述标识信息表征为由软件工具包存储的数据的标识或所述待检测应用未安装所述软件工具包的情况下存储数据时所使用的标识;
根据所述标识信息从所述待检测应用存储的数据中提取出所述目标数据。
8.一种检测设备,其特征在于,包括:
第一获得单元,用于获得待检测应用存储的数据,其中所述待检测应用为包括有特定软件工具包的应用;其中,所述特定软件工具包来自第三方或来自开发待检测应用的公司;
第二获得单元,用于从所述数据中获得目标数据,所述目标数据表征为由所述软件工具包存储的数据;
解析单元,用于对获得的目标数据进行解析;
确定单元,用于根据解析结果确定所述目标数据是否为期望数据;
第三获得单元,用于根据所述目标数据是否为期望数据的结果,确定所述软件工具包存储所述目标数据是否合理或合法;
第二获得单元,用于根据所述数据的标识获取所述目标数据;
分配单元,用于为待检测应用分配检测包;
所述确定单元,还用于由检测包对待检测应用存储的数据进行获取,并从数据中获得目标数据,对目标数据进行解析,并根据解析结果确定目标数据是否为期望数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一所述方法的步骤。
10.一种检测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一所述方法的步骤。
CN201911333848.5A 2019-12-23 2019-12-23 检测方法、设备及存储介质 Active CN111159712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911333848.5A CN111159712B (zh) 2019-12-23 2019-12-23 检测方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911333848.5A CN111159712B (zh) 2019-12-23 2019-12-23 检测方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111159712A CN111159712A (zh) 2020-05-15
CN111159712B true CN111159712B (zh) 2022-01-11

Family

ID=70557755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911333848.5A Active CN111159712B (zh) 2019-12-23 2019-12-23 检测方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111159712B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182581B (zh) * 2020-09-24 2023-10-13 百度在线网络技术(北京)有限公司 应用测试方法、装置、应用测试设备和存储介质
CN112287343B (zh) * 2020-10-16 2024-06-25 深圳市和讯华谷信息技术有限公司 Sdk监控方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905423A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 一种基于动态行为分析的有害广告件检测方法及系统
CN105323261A (zh) * 2015-12-15 2016-02-10 北京奇虎科技有限公司 数据检测方法及装置
CN107844400A (zh) * 2017-10-16 2018-03-27 阿里巴巴集团控股有限公司 一种日志数据的校验方法及装置
CN110113325A (zh) * 2019-04-25 2019-08-09 成都卫士通信息产业股份有限公司 基于第三方sdk的网络数据监控方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905423A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 一种基于动态行为分析的有害广告件检测方法及系统
CN105323261A (zh) * 2015-12-15 2016-02-10 北京奇虎科技有限公司 数据检测方法及装置
CN107844400A (zh) * 2017-10-16 2018-03-27 阿里巴巴集团控股有限公司 一种日志数据的校验方法及装置
CN110113325A (zh) * 2019-04-25 2019-08-09 成都卫士通信息产业股份有限公司 基于第三方sdk的网络数据监控方法、装置及存储介质

Also Published As

Publication number Publication date
CN111159712A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN108985081B (zh) 一种水印加密方法、装置、介质和电子设备
CN106778103B (zh) 一种安卓应用程序防逆向破解的加固方法、系统及解密方法
CN108229112B (zh) 一种保护应用程序、应用程序的运行方法以及装置
KR101875866B1 (ko) 모바일 어플리케이션의 취약점 점검 방법 및 서버
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
US20140150096A1 (en) Method for assuring integrity of mobile applications and apparatus using the method
TWI541669B (zh) Detection systems and methods for static detection applications, and computer program products
CN103778367A (zh) 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
JP5126447B1 (ja) アプリケーションプログラムの実行方法
CN110333868B (zh) 用于生成子应用的安装包的方法和系统
EP2854070A1 (en) Method and apparatus of creating application package, method and apparatus of executing application package, and recording medium storing application package
CN109740309B (zh) 一种文件保护方法以及装置
CN104484607A (zh) Android应用程序安全性测试的通用方法及系统
JP2008146479A (ja) ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
CN112231702B (zh) 应用保护方法、装置、设备及介质
CN111159712B (zh) 检测方法、设备及存储介质
CN112417484A (zh) 资源文件保护方法、装置、计算机设备和存储介质
JP4295684B2 (ja) プログラム製作装置
KR20170089352A (ko) 가상화 시스템에서 수행하는 무결성 검증 방법
JP4664055B2 (ja) プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
CN106709281B (zh) 补丁发放和获取方法、装置
EP2873023B1 (en) Technique for determining a malign or non-malign behavior of an executable file
CN107766061A (zh) 一种安卓应用程序的安装方法和安装系统
CN109543433B (zh) 软件开发工具包加密方法、装置、计算机和存储介质
CN106648770B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant