CN112099840A - 应用程序包中的特征提取方法及设备 - Google Patents
应用程序包中的特征提取方法及设备 Download PDFInfo
- Publication number
- CN112099840A CN112099840A CN202010884949.8A CN202010884949A CN112099840A CN 112099840 A CN112099840 A CN 112099840A CN 202010884949 A CN202010884949 A CN 202010884949A CN 112099840 A CN112099840 A CN 112099840A
- Authority
- CN
- China
- Prior art keywords
- preset
- subfile
- analysis
- extracting
- detection
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004458 analytical method Methods 0.000 claims abstract description 73
- 238000001514 detection method Methods 0.000 claims abstract description 53
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims description 21
- 238000012882 sequential analysis Methods 0.000 claims description 3
- 230000006837 decompression Effects 0.000 abstract description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 15
- 230000005291 magnetic effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000005441 aurora Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 241000411851 herbal medicine Species 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明的目的是提供一种应用程序包中的特征提取方法及设备,包括:获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;将提取得到每个应用程序包对应的预设的特征写入特征数据库。本发明可以自动化批量分析APK,对比手动单个APK分析,提高效率。当用户定义了新的预设的特征后,对于相同的APK文件,不需要再次进行APK文件解压处理,可根据之前解压的结果直接进行特征数据提取分析,大大地提升了效率。通过自定义的预设的特征,能满足各种各样的特征提取的定制需求,提高灵活性,解决传统的方案的速度慢、成本高的问题。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种应用程序包中的特征提取方法及设备。
背景技术
基于APK文件的特征提取和分析,均需要对APK文件进行拆包解析。Google官方提供了分析APK文件的工具,但是只能针对单个APK进行手动拆包和人工提取及分析相关特征。
发明内容
本发明的一个目的是提供一种应用程序包中的特征提取方法及设备。
根据本发明的一个方面,提供了一种应用程序包中的特征提取方法,该方法包括:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
进一步的,上述方法中,获取应用程序包,包括:
获取应用程序包的包名列表,基于所述包名列表下载对应的应用程序包并进行存储及记录对应的存储的文件路径;
将下载到的应用程序包的存储的文件路径存入到应用程序包的数据库中;
从所述应用程序包的数据库中获取所述文件路径,基于所述文件路径获取对应的应用程序包。
进一步的,上述方法中,所述预设的子文件包括:
DEX子文件、SO子文件、AndroidManifest.xml子文件和/或resource.arsc子文件。
进一步的,上述方法中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过DEX子文件解析程序,从DEX子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
WebView漏洞特征、字符串安全特征和SDK特征包名。
进一步的,上述方法中,,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过SO子文件解析程序,从SO子文件中提取用于检测和分析的预设特征包括:系统API调用。
进一步的,上述方法中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过AndroidManifest.xml子文件解析程序,从AndroidManifest.xml子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
权限列表、硬件特性列表和对外的服务列表。
进一步的,上述方法中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过resource.arsc子文件解析程序,从resource.arsc子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
应用名称、应用图标、应用支持的语言列表。
进一步的,上述方法中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
依次按照dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件的先后解析顺序,依次分别通过dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件对应的解析程序从各个预设的子文件中分别提取对应的用于检测和分析的预设的特征,其中,基于先解析的子文件提取到的对应的用于检测和分析的预设的特征,从后解析的子文件中提取对应的用于检测和分析的预设的特征。
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
与现有技术相比,本发明可以自动化批量分析APK,对比手动单个APK分析,提高效率。当用户定义了新的预设的特征后,对于相同的APK文件,不需要再次进行APK文件解压处理,可根据之前解压的结果直接进行特征数据提取分析,大大地提升了效率。通过自定义的预设的特征,能满足各种各样的特征提取的定制需求,提高灵活性,解决传统的方案的速度慢、成本高的问题。本发明可实现自动化批量解析和提取并分析自定义特征,同时能加快解析速度,减少批量解析成本,提高产出效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出本发明一实施例的应用程序包中的特征提取方法及设备的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本发明提供一种应用程序包中的特征提取方法,所述方法包括:
步骤S1,获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
在此,可以根据APK(Android application package,Android应用程序包)的文件结构,对APK文件进行拆包,这里的拆包包括:对APK文件进行解压、以及根据解压后的不同类型的子文件的结构进行解析处理,还原成可识别的字符串特征;
步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
在此,所述预设的特征是用来做检测和分析的特征:如调查APK存在哪些漏洞和安全问题、APK都集成了哪些SDK等;
可以根据APK压缩文件中不同类型的文件及其数据结构进行关键的预设的特征提取;
所述预设的特征可以是APK属性相关的字符串,比如地理位置权限、获取手机号的API调用等;
比如,在做市面上APP主要使用了哪些SDK的调查,可以先通过各SDK的集成文档找到他们的特征字符串,然后就可以通过本方案直接提取相关字符串特征,进行特征比对,来判断APP中是否有集成相关SDK;另外,通过权限清单的特征的比对,可以知道该APP申请了哪些权限等。
步骤S3,将提取得到每个应用程序包对应的预设的特征写入特征数据库。
在此,APK包解压后,会有很多子文件,比如xml、dex、arsc、so等类型的子文件,可以针对解压得到预设的子文件的结构,根据预设的特征进行选择性对比对;期间可根据不同的子文件的结构特征进行分类别处理,阶段性地提取对应的预设特征并存储入数据库,从而提高应用程序包批量处理的效率,进而完成自动化批量解析、提取和分析应用程序包的预设的特征。
本发明可以自动化批量分析APK,对比手动单个APK分析,提高效率。当用户定义了新的预设的特征后,对于相同的APK文件,不需要再次进行APK文件解压处理,可根据之前解压的结果直接进行特征数据提取分析,大大地提升了效率。通过自定义的预设的特征,能满足各种各样的特征提取的定制需求,提高灵活性,解决传统的方案的速度慢、成本高的问题。通过本发明,可实现自动化批量分析和提取自定义特征,同时加快解析速度并提高效率。
本发明可以用于app安全漏洞检测、权限检测、敏感API调用检测、请求域名和集成的SDK等APP信息提取和比对分析的场景;以及批量分析市面上app使用了哪些sdk、权限申请情况、各安全漏洞占比等等。
本发明只需要提交自定义的特征描述,以及APK目录路径或者APK包名表格,即可完成批量解析和特征提取,并自动产生结果excel表格,可对各APK多个特征纬度一览无余,还可以进行特征筛选对比,非常直观。
所述预设的特征,比如:权限字符串、敏感API字符串、已过时的API字符串、集成的SDK特征字符串、请求的网络链接字符串等。
具体如,android.permission.ACCESS_FINE_LOCATION这个字符串表示该APP有申请地理位置权限;com.mob.sdk这个字符串表示该APP集成了MobSDK等。
本方面的应用程序包中的特征提取方法一实施例中,步骤S1,获取应用程序包,包括:
步骤S11,获取应用程序包的包名列表,基于所述包名列表下载对应的应用程序包并进行存储及记录对应的存储的文件路径;
步骤S12,将下载到的应用程序包的存储的文件路径存入到应用程序包的数据库中;
步骤S13,从所述应用程序包的数据库中获取所述文件路径,基于所述文件路径获取对应的应用程序包。
具体的,可以通过用户提供的APK包名列表去各大应用市场下载相关APK文件,将APK文件名、包名、文件MD5值和存储的文件路径存入到应用程序包的数据库中,可以实现从数据库中批量获取应用程序包。
本方面的应用程序包中的特征提取方法一实施例中,所述预设的子文件包括:
DEX子文件、SO子文件、AndroidManifest.xml子文件和/或resource.arsc子文件。
在此,dex子文件包含的是实现APP功能的代码类;
so子文件是使用的一些本地库文件;
AndroidManifest.xml子文件是APP配置文件,里面配置了APP启动类、申请的权限列表、名称图标等APP信息;
Resource.arsc子文件是存放APP资源信息的,包括具体的图标、APP名称、APP里面使用的图片等资源。
比如,android.permission.ACCESS_FINE_LOCATION这个预设的特征的字符串是可以通过解析AndroidManifest.xml子文件进行提取比对;com.mob.sdk这个预设的特征可以通过解析dex子文件进行提取比对,com.mob.sdk代表的是该APP集成了MobSDK。
对所述应用程序包进行解压并提取得到各个预设的子文件的步骤中,如图1所示,可以开启APK文件解析线程,从APK信息数据库中获取APK文件路径进行拆解,并创建以文件MD5值为名的目录,解压APK文件,将预设子文件如类型为dex、so、AndroidManifest.xml、resource.arsc的子文件保存下来,并修改APK信息数据库中的拆包状态,同时根据不同的子文件的类型往任务消息队列中写入对应类型的解析任务,具体的,任务消息队列中线程个数可以根据APK文件个数、CPU个数以及后面的解析任务线程个数进行设置。
对于md5相同的文件,不用做多次拆包处理;但是同一包名不同md5的文件仍然需要处理,不同版本的APP特征表现会不一样。
本方面的应用程序包中的特征提取方法一实施例中,步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过DEX子文件解析程序,从DEX子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:WebView漏洞特征、字符串安全特征和SDK特征包名。
在此,如图1所示,DEX子文件解析程序从任务消息队列中获取DEX解析任务,并根据DEX子文件的数据结构提取预设的特征数据,如WebView漏洞特征、字符串安全特征、SDK特征包名等,并将提取到的预设的特征写入到特征数据库中;
具体的,根据WebView已存在的一些漏洞特性API,对解析APK中的dex子文件,获取其使用WebView的代码API,与WebView存在的漏洞特性API的预设的特征进行比对,如果APK里面有调用该API,即可分析出有该漏洞。
由于DEX子文件较大比较占用内存,设置的线程数需要根据内存情况来进行设置。
本方面的应用程序包中的特征提取方法一实施例中,步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过SO子文件解析程序,从SO子文件中提取用于检测和分析的预设特征包括:系统API调用。
在此,如图1所示,SO子文件解析程序可以从任务消息队列中获取SO解析任务,并根据SO子文件的数据结构提取关键的系统API调用的预设的特征数据,如百度地图、极光推送等,并将提取到的预设的特征写入到特征数据库中;
具体如,通过百度地图官方集成文档,可以知道APK需要调用百度的哪些系统API调用,然后拿到这些系统API调用的字符串与APK本身是否含有这些系统API调用的字符串进行比对;极光推送同理。
具体的,本步骤解析较快,设置的线程数可相对较少。
本方面的应用程序包中的特征提取方法一实施例中,步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过AndroidManifest.xml子文件解析程序,从AndroidManifest.xml子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:权限列表、硬件特性列表和对外的服务列表。
具体的,如图1所示,AndroidManifest.xml子文件解析程序可以从任务消息队列中获取AndroidManifest.xml解析任务,并根据AndroidManifest.xml文件数据结构提取预设的特征数据,如权限列表、硬件特性列表、对外的服务列表等,并将提取到的预设的特征写入到特征数据库中;
在此,此步骤解析较快,设置的线程数可相对较少。
本方面的应用程序包中的特征提取方法一实施例中,步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过resource.arsc子文件解析程序,从resource.arsc子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:应用名称、应用图标、应用支持的语言列表。
在此,如图1所示,resource.arsc子文件解析程序从任务消息队列中获取resrouces.arsc解析任务,并根据resource.arsc文件数据结构提取定义好的特征数据,如应用名称、应用图标、应用支持的语言列表等,并将提取到的预设的特征写入到特征数据库中;
具体的,此步骤也相对较快,保持与AndroidManifest.xml一致。
本方面的应用程序包中的特征提取方法一实施例中,步骤S2,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
依次按照dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件的先后解析顺序,依次分别通过dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件对应的解析程序从各个预设的子文件中分别提取对应的用于检测和分析的预设的特征,其中,基于先解析的子文件提取到的对应的用于检测和分析的预设的特征,从后解析的子文件中提取对应的用于检测和分析的预设的特征。
在此,如图1所示,从子文件中提取对应的预设的特征的先后顺序依次是:dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件,先解析的子文件提取到的对应的预设的特征可以传递至下一级的子文件,供后解析的子文件进一步提取对应的预设的特征,以保证信息一致性。
各文件解析程序都是按照先后顺序进行解析的,当全部任务都执行完毕,则触发数据导出任务,将特征数据库中的特征数据查询并导出到excel表格中。
例如,提取预设特征的过程中,会有从多个子文件分别提取对应的预设的特征的情况,如应用名称、应用图标的预设特征需要结合AndroidManifest.xml子文件和resource.arsc子文件才能获取;因此AndroidManifest.xml子文件的解析要优先于resource.arsc子文件,先从AndroidManifest.xml子文件中获取android:label和android:name的属性id(其中android:label对应的是应用的图标id,android:name对应的是应用名称id),然后再去resource.arsc子文件中根据id从resource.arsc子文件中获取应用图标文件的名称和路径,以及应用名称的字符串名称,最后根据图标文件名称和路径可从APK文件中读取图标,应用名称则直接从resource.arsc子文件对应res/values/strings文件中读取即可(可根据国家语言进行分别获取)。
具体的,上面各解析任务步骤线程数的设定标准如下,以12核64G内存的单机处理1万个APK文件为例:
APK解压程序线程数:24个;
Dex子文件解析程序线程数:12个;
So子文件解析程序线程数:3个;
AndroidManifest.xml子文件解析程序线程数:6个;
Resource.arsc子文件解析程序线程数:6个。
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种应用程序包中的特征提取方法,其中,该方法包括:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
2.根据权利要求1所述的方法,其中,获取应用程序包,包括:
获取应用程序包的包名列表,基于所述包名列表下载对应的应用程序包并进行存储及记录对应的存储的文件路径;
将下载到的应用程序包的存储的文件路径存入到应用程序包的数据库中;
从所述应用程序包的数据库中获取所述文件路径,基于所述文件路径获取对应的应用程序包。
3.根据权利要求1所述的方法,其中,所述预设的子文件包括:
DEX子文件、SO子文件、AndroidManifest.xml子文件和/或resource.arsc子文件。
4.根据权利要求3所述的方法,其中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过DEX子文件解析程序,从DEX子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
WebView漏洞特征、字符串安全特征和SDK特征包名。
5.根据权利要求3所述的方法,其中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过SO子文件解析程序,从SO子文件中提取用于检测和分析的预设特征包括:系统API调用。
6.根据权利要求3所述的方法,其中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过AndroidManifest.xml子文件解析程序,从AndroidManifest.xml子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
权限列表、硬件特性列表和对外的服务列表。
7.根据权利要求3所述的方法,其中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
通过resource.arsc子文件解析程序,从resource.arsc子文件中提取包括如下一种或任意组合的用于检测和分析的预设特征:
应用名称、应用图标、应用支持的语言列表。
8.根据权利要求1所述的方法,其中,通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征,包括:
依次按照dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件的先后解析顺序,依次分别通过dex子文件、so子文件、AndroidManifest.xml子文件、resource.arsc子文件对应的解析程序从各个预设的子文件中分别提取对应的用于检测和分析的预设的特征,其中,基于先解析的子文件提取到的对应的用于检测和分析的预设的特征,从后解析的子文件中提取对应的用于检测和分析的预设的特征。
9.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
获取应用程序包,对所述应用程序包进行解压并提取得到各个预设的子文件;
通过各个预设的子文件对应的解析程序,从各个预设的子文件中提取用于检测和分析的预设的特征;
将提取得到每个应用程序包对应的预设的特征写入特征数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884949.8A CN112099840A (zh) | 2020-08-28 | 2020-08-28 | 应用程序包中的特征提取方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884949.8A CN112099840A (zh) | 2020-08-28 | 2020-08-28 | 应用程序包中的特征提取方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112099840A true CN112099840A (zh) | 2020-12-18 |
Family
ID=73758261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884949.8A Pending CN112099840A (zh) | 2020-08-28 | 2020-08-28 | 应用程序包中的特征提取方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099840A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780952A (zh) * | 2022-03-09 | 2022-07-22 | 浙江吉利控股集团有限公司 | 敏感应用调用场景的检测方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715196A (zh) * | 2015-03-27 | 2015-06-17 | 北京奇虎科技有限公司 | 智能手机应用程序的静态分析方法及系统 |
CN106357670A (zh) * | 2016-10-17 | 2017-01-25 | 成都知道创宇信息技术有限公司 | 基于模拟器的安卓应用服务端Web漏洞检测方法 |
CN107085684A (zh) * | 2016-02-16 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 程序特征的检测方法和装置 |
CN107133519A (zh) * | 2017-05-15 | 2017-09-05 | 华中科技大学 | 一种安卓应用网络通信中隐私泄漏检测方法及系统 |
CN109495271A (zh) * | 2018-10-19 | 2019-03-19 | 北京梆梆安全科技有限公司 | 比较apk文件方法、装置、服务器及其存储介质 |
CN110427757A (zh) * | 2019-08-06 | 2019-11-08 | 南方电网科学研究院有限责任公司 | 一种Android漏洞检测方法、系统及相关装置 |
-
2020
- 2020-08-28 CN CN202010884949.8A patent/CN112099840A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715196A (zh) * | 2015-03-27 | 2015-06-17 | 北京奇虎科技有限公司 | 智能手机应用程序的静态分析方法及系统 |
CN107085684A (zh) * | 2016-02-16 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 程序特征的检测方法和装置 |
CN106357670A (zh) * | 2016-10-17 | 2017-01-25 | 成都知道创宇信息技术有限公司 | 基于模拟器的安卓应用服务端Web漏洞检测方法 |
CN107133519A (zh) * | 2017-05-15 | 2017-09-05 | 华中科技大学 | 一种安卓应用网络通信中隐私泄漏检测方法及系统 |
CN109495271A (zh) * | 2018-10-19 | 2019-03-19 | 北京梆梆安全科技有限公司 | 比较apk文件方法、装置、服务器及其存储介质 |
CN110427757A (zh) * | 2019-08-06 | 2019-11-08 | 南方电网科学研究院有限责任公司 | 一种Android漏洞检测方法、系统及相关装置 |
Non-Patent Citations (1)
Title |
---|
蒋永成: "基于动静态检测技术的安卓应用批量化检测方案设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 2017, pages 138 - 3501 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780952A (zh) * | 2022-03-09 | 2022-07-22 | 浙江吉利控股集团有限公司 | 敏感应用调用场景的检测方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102306B2 (en) | Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions | |
US20150012924A1 (en) | Method and Device for Loading a Plug-In | |
US7539854B2 (en) | System and method to seamlessly enable enhanced management and scripting of a computer system and its add-in devices | |
CN106897607B (zh) | 一种应用程序监控方法及装置 | |
CN103778373A (zh) | 病毒检测方法及装置 | |
CN110321504B (zh) | 一种页面处理方法及装置 | |
Immanuel et al. | Android cache taxonomy and forensic process | |
CN112733158A (zh) | Android系统漏洞检测方法、电子设备及存储介质 | |
CN113449310A (zh) | 一种应用程序漏洞检测方法、装置及设备 | |
CN105760761A (zh) | 软件行为分析方法和装置 | |
CN110727469A (zh) | 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质 | |
CN105447349A (zh) | 对so文件中的导出符号进行保护的方法及装置 | |
CN112099840A (zh) | 应用程序包中的特征提取方法及设备 | |
CN114816816A (zh) | 崩溃堆栈信息处理方法、装置、设备及存储介质 | |
US10353700B1 (en) | Code base sharing between standalone and web-based versions of an application via an emulated network communication channel | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN113051231A (zh) | 文件解析方法、装置、计算机设备和存储介质 | |
CN111444144B (zh) | 文件特征提取方法及装置 | |
CN110083576B (zh) | 一种缓存目录的识别方法及装置 | |
CN112286974A (zh) | Apk压缩存储、还原和检索方法及相关设备 | |
CN113032045A (zh) | 应用程序的启动方法以及相关装置、设备 | |
CN107103242B (zh) | 数据的获取方法及装置 | |
CN115421785B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN115454827B (zh) | 兼容性检测方法、系统、设备和介质 | |
WO2021233042A1 (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 |