一种APK文件的安全检测方法及系统技术方案

技术编号:16153574 阅读:35 留言:0更新日期:2017-09-06 18:39
本发明专利技术涉及智能终端软件领域,尤其涉及一种APK文件的安全检测方法及系统,通过以下步骤实现了APK文件的检测:解压APK文件,得到可执行文件;获取可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据混淆总个数,得到混淆率;若所述混淆率不小于预设值,则所述APK文件是安全的。本发明专利技术通过获取到的混淆率,能够体现可执行文件代码的混淆程度,从而评估当前APK被黑客逆向分析的难易程度,以达到衡量Android软件APK文件的安全程度,上述方法能够让用户及时了解到APK文件安全程度,以便及时采取相应的安全措施,同时上述检测过程无需人工干预,提高了安全检测的效率,且简单易行。

【技术实现步骤摘要】
一种APK文件的安全检测方法及系统
本专利技术涉及智能终端软件领域,尤其涉及一种APK文件的安全检测方法及系统。
技术介绍
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,随着移动智能终端的发展,移动平台上的安全问题也日益突出。移动应用存在的安全隐患直接威胁到移动智能终端用户的信息安全,除了移动应用客户端存在的安全性,还包括移动应用客户端所连接的服务器端的安全性。移动应用服务器端的安全隐患严重时可直接导致数据泄露,造成经济损失。为避免移动应用服务器端存在安全隐患,通过漏洞扫描技术检测移动应用中服务端API安全漏洞,而扫描APK中服务端API的安全漏洞就需要涉及到服务端API信息的提取;而服务端API信息的提取,需要人工介入,检测效率较低。
技术实现思路
本专利技术所要解决的技术问题是:提供了一种APK文件的安全检测方法及系统,无需人工干预,提高了检测效率,且简单易行。为了解决上述技术问题,本专利技术提供了一种APK文件的安全检测方法,包括以下步骤:S1:解压APK文件,得到可执行文件;S2:获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据所述混淆总个数,得到混淆率;S3:若所述混淆率不小于预设值,则所述APK文件是安全的。本专利技术还提供了一种APK文件的安全检测系统,包括:解压模块,用于解压APK文件,得到可执行文件;第一获取模块,用于获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据所述混淆总个数,得到混淆率;判断模块,用于若所述混淆率不小于预设值,则所述APK文件是安全的。本专利技术的有益效果为:本专利技术通过解压APK文件,得到可执行文件,然后获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;获取类名的个数、方法名的个数和变量名的个数,得到它们的总个数,将所述混淆总个数除以总个数,得到混淆率;若所述混淆率不小于预设值,则所述APK文件是安全的;根据获取到的混淆率,能够体现可执行文件代码的混淆程度,从而评估当前APK被黑客逆向分析的难易程度,以达到衡量Android软件APK文件的安全程度;上述方法能够让用户及时了解到APK文件安全程度,以便及时采取相应的安全措施,同时上述检测过程无需人工干预,提高了安全检测的效率,且简单易行。附图说明图1为本专利技术实施例的一种APK文件的安全检测方法的主要步骤流程图;图2为本专利技术实施例一的一种APK文件的安全检测方法的步骤流程图;图3为本专利技术实施例的一种APK文件的安全检测系统的结构示意图;图4为本专利技术实施例的第一获取模块和判断模块的结构示意图;图5为本专利技术实施例的第二获取单元、第三获取单元和第四获取单元的结构示意图;标号说明:1、解压模块;2、第一获取模块;3、判断模块;4、第一获取单元;5、第二获取单元;6、第三获取单元;7、第四获取单元;8、第五获取单元;9、第二获取子单元;10、第二匹配子单元;11、第三获取子单元;12、第三匹配子单元;13、第四获取子单元;14、第四匹配子单元;15、第一判断单元;16、第二判断单元;17、第三判断单元;18、第四判断单元。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:通过获取可执行文件中类名、方法名和变量名中混淆的比例,得到混淆率,通过混淆率能够得到对应的安全检测结果,整个过程无需人工干预,提高了安全检测的效率。请参照图1至图2,本专利技术提供了一种APK文件的安全检测方法,包括以下步骤:S1:解压APK文件,得到可执行文件;S2:获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据所述混淆总个数,得到混淆率;S3:若所述混淆率不小于预设值,则所述APK文件是安全的。从上述描述可知,本专利技术通过解压APK文件,得到可执行文件,然后获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;获取类名的个数、方法名的个数和变量名的个数,得到它们的总个数,将所述混淆总个数除以总个数,得到混淆率;若所述混淆率不小于预设值,则所述APK文件是安全的;根据获取到的混淆率,能够体现可执行文件代码的混淆程度,从而评估当前APK被黑客逆向分析的难易程度,以达到衡量Android软件APK文件的安全程度;上述方法能够让用户及时了解到APK文件安全程度,以便及时采取相应的安全措施,同时上述检测过程无需人工干预,提高了安全检测的效率,且简单易行。进一步的,所述S2具体为:S21:获取所述可执行文件中类名的个数、方法名的个数和变量名的个数,得到总个数;S22:获取所述可执行文件中类名的混淆个数,得到类名混淆个数;S23:获取所述可执行文件中方法名的混淆个数,得到方法名混淆个数;S24:获取所述可执行文件中变量名的混淆个数,得到变量名混淆个数;S25:根据所述类名混淆个数、所述方法名混淆个数、所述变量名混淆个数和所述总个数,得到所述混淆率。从上述描述可知,Android代码混淆时是对可执行文件中类名、方法名和变量名进行混淆,通过上述方法能够准确计算出可执行文件的代码混淆率,从而得到APK文件的安全检测结果,方便快捷。进一步的,所述S22具体为:获取所述可执行文件中所有的类名,得到类名集合;依次将所述类名集合中的元素通过预设第一正则表达式与预设的类名数据库的类名逐一进行匹配,得到类名集合中匹配失败的第一个数,即为类名混淆个数。从上述描述可知,类名集合中的元素通过正则表达式与类名数据库的类名逐一进行匹配,所得到的结果安全可靠,且匹配效率高,能够快速得到类名混淆个数。进一步的,所述S23具体为:获取所述可执行文件中所有的方法名,得到方法名集合;依次将所述方法名集合的元素通过预设第二正则表达式与预设的方法名数据库的方法名逐一进行匹配,得到方法名集合中匹配失败的第二个数,即为方法名混淆个数。从上述描述可知,方法名集合的元素通过正则表达式与方法名数据库的方法名逐一进行匹配,所得到的结果安全可靠,且匹配效率高,能够快速得到方法名混淆个数。进一步的,所述S24具体为:获取所述可执行文件中所有的变量名,得到变量名集合;依次将所述变量名集合的元素通过预设第三正则表达式与预设的变量名数据库的变量名逐一进行匹配,得到变量名集合中匹配失败的第三个数,即为变量名混淆个数。从上述描述可知,变量名集合的元素通过正则表达式与变量名数据库的变量名进行匹配,所得到的结果安全可靠,且匹配效率高,能够快速得到变量名混淆个数。进一步的,所述S3具体为:若所述混淆率不小于0.6,则所述APK文件检测结果为安全的;否则,若所述混淆率不小于0.3,则所述APK文件检测结果为低风险的;否则,若所述混淆率不小于0.1,则所述APK文件检测结果为中风险的;否则,所述APK文件检测结果为高风险的,同时发出警报消息。从上述描述可知,通过混淆率能够获取对应的APK文件的安全等级,用户通过检测到的安全等级,能及时采取对应的措施,解决了用户由于APK文件的安全等级过低,而造成的损失过大的问题。请参照图3至图4,本专利技术还提供了一种AP本文档来自技高网
...
一种APK文件的安全检测方法及系统

【技术保护点】
一种APK文件的安全检测方法,其特征在于,包括以下步骤:S1:解压APK文件,得到可执行文件;S2:获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据所述混淆总个数,得到混淆率;S3:若所述混淆率不小于预设值,则所述APK文件检测结果是安全的。

【技术特征摘要】
1.一种APK文件的安全检测方法,其特征在于,包括以下步骤:S1:解压APK文件,得到可执行文件;S2:获取所述可执行文件中类名混淆个数、方法名混淆个数和变量名混淆的个数,得到混淆总个数;根据所述混淆总个数,得到混淆率;S3:若所述混淆率不小于预设值,则所述APK文件检测结果是安全的。2.根据权利要求1所述一种APK文件的安全检测方法,其特征在于,所述S2具体为:S21:获取所述可执行文件中类名的个数、方法名的个数和变量名的个数,得到总个数;S22:获取所述可执行文件中类名的混淆个数,得到类名混淆个数;S23:获取所述可执行文件中方法名的混淆个数,得到方法名混淆个数;S24:获取所述可执行文件中变量名的混淆个数,得到变量名混淆个数;S25:根据所述类名混淆个数、所述方法名混淆个数、所述变量名混淆个数和所述总个数,得到所述混淆率。3.根据权利要求2所述一种APK文件的安全检测方法,其特征在于,所述S22具体为:获取所述可执行文件中所有的类名,得到类名集合;依次将所述类名集合中的元素通过预设第一正则表达式与预设的类名数据库的类名逐一进行匹配,得到类名集合中匹配失败的第一个数,即为类名混淆个数。4.根据权利要求2所述一种APK文件的安全检测方法,其特征在于,所述S23具体为:获取所述可执行文件中所有的方法名,得到方法名集合;依次将所述方法名集合的元素通过预设第二正则表达式与预设的方法名数据库的方法名逐一进行匹配,得到方法名集合中匹配失败的第二个数,即为方法名混淆个数。5.根据权利要求2所述一种APK文件的安全检测方法,其特征在于,所述S24具体为:获取所述可执行文件中所有的变量名,得到变量名集合;依次将所述变量名集合的元素通过预设第三正则表达式与预设的变量名数据库的变量名逐一进行匹配,得到变量名集合中匹配失败的第三个数,即为变量名混淆个数。6.根据权利要求1所述一种APK文件的安全检测方法,其特征在于,所述S3具体为:若所述混淆率不小于0.6,则所述APK文件检测结果为安全的;否则,若所述混淆率不小于0.3,则所述APK文件检测结果为低风险的;否则,若所述混淆率不小于0.1,则所述APK文件检测结果为中风险的;否则,所述APK文件检测结果为高风险的,同时发出警报消息。7.一种APK文件的安全检测系统,其特征在于,包括:解压模块,用于解压APK文件,得到可执行文件;第一获取模块,用于获取所述可执行文件...

【专利技术属性】
技术研发人员:刘德建江文通周友禄曾捷
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1