一种基于Proguard软件的移动互联网App代码混淆测评方法技术

技术编号:16129357 阅读:41 留言:0更新日期:2017-09-01 21:07
本发明专利技术公开了一种基于Proguard软件的移动互联网App代码混淆测评方法:为了防止恶意主机对移动App有目的的篡改,使用代码混淆软件对移动App的源代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对移动App的篡改。按照本发明专利技术公开的测评方法可以开展相关混淆工作分析,有效地评估经过Proguard软件混淆后的代码安全防护效果。

A method of App code confusion evaluation based on Proguard software for mobile Internet

The invention discloses a confusion assessment method of Proguard software of mobile Internet based on App Code: in order to prevent malicious hosts to tamper with the mobile App, using code obfuscation software for mobile App source code obfuscation, the difficulty of analysis after the code obfuscation is increased, thereby preventing tampering in the mobile App extent. According to the evaluation method disclosed by the invention, the related confusion work analysis can be carried out, and the security effect of the code after the obfuscation of the Proguard software can be effectively evaluated.

【技术实现步骤摘要】
一种基于Proguard软件的移动互联网App代码混淆测评方法
本专利技术涉及移动互联网App代码混淆测评领域,特别是涉及一种基于Proguard软件的移动互联网App代码混淆测评方法。
技术介绍
随着移动互联网和移动智能终端的普及和快速发展,移动应用程序的数量呈爆发式增长,其中Android平台智能终端及其应用占据市场主导地位。然而,面对日益增长的应用市场,App被盗版后加入恶意代码的情况越来越严重,部分破坏者利用这些恶意程序收集用户隐私、篡改数据,给用户带来巨大的经济利益损失及安全威胁。对开发者来说,盗版App不仅影响正版App的下载量,破坏其口碑,还会带来一定的经济损失。针对移动应用程序的代码保护及知识产权保护亟待加强。根据国家互联网应急中心(简称CNCERT)发布的《2015年我国互联网网络安全态势综述》报告显示,目前我国移动互联网环境有所恶化,2015年捕获的新增移动互联网恶意程序样本近148万个,较2014年增长了55.3%,主要针对安卓平台。从威胁类型来说,排名前三位的恶意行为分别是恶意扣费类、流氓行为和远程控制类,占比分别为23.6%、22.2%和15.1%。同时,经过连续三年的整治,国内主流应用商店积极落实安全责任,不断完善安全监督、安全审核、社会监督举报、恶意程序下架等制度,使安全情况有所好转,大量移动恶意程序的传播渠道转移到网盘或广告平台等网站。Android应用程序的开发语言是Java。由于Java源代码经编译后生成的是一种中间代码,它保留了程序大量的信息,反编译后得到的代码基本可以重构程序,使得Android应用程序在知识产权保护上面临极大的风险。代码保护技术可以防止应用程序被盗版,保护其知识产权,因此针对Android智能终端应用程序的代码保护技术研究就显得更加紧迫和重要。一般来说,移动智能终端应用程序面对的主要是程序分析及恶意篡改两种窃取知识产权的方式。程序分析,是指对程序进行分析并从中获取重要信息,包括程序的主要算法和数据结构等。这种方式通过恶意的程序分析方法来得到正版程序中的重要信息,并将其应用到相应的产品中,以实现相同的功能。恶意篡改是指对应用程序的重要信息进行篡改,侵害用户或开发者的经济利益或声誉,常见的方式有对程序中的加密或付费模块进行恶意篡改。从本质上来说,这种侵犯应用程序知识产权的方式与程序分析的方式是一样的,它们都是以对程序的深度分析作为基础。为了防止恶意主机对移动应用有目的的篡改,代码混淆技术被提出,其基本做法是使用代码混淆技术对软件的代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对软件的篡改。代码混淆技术实际上是一种用于对移动代码保护和软件知识产权进行保护的安全技术。在实际应用中,对软件提供绝对的安全保护是不可能,也是没有必要的,只要能使攻击者的攻击付出较高的代价,就可以认为混淆技术达到了安全保护的作用。因此,代码混淆技术就成为容易实现的保护安卓APP有效保护技术。
技术实现思路
为了解决上述存在的问题,本专利技术提供一种基于Proguard软件的移动互联网App代码混淆测评方法,可以防止恶意主机对移动App有目的的篡改,使用代码混淆软件对移动App的源代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对移动App的篡改。按照本专利技术公开的测评方法可以开展相关混淆工作分析,有效地评估经过Proguard软件混淆后的代码安全防护效果,为达此目的,本专利技术提供一种基于Proguard软件的移动互联网App代码混淆测评方法,具体测评方法步骤如下:1)在集成了ProGuard的Android的编译环境中,启用ProGuard让它跟随Ant或Eclipse编译时一起运行,在<project_root>/default.properties文件中设置ProGuard.config属性,路径可以是绝对路径或是工程根目录的相对路径,若把proguard.cfg文件放在默认的位置即工程的根目录,可以这样指定它的位置:proguard.config=proguard.cfg;或者把该文件移到任何位置,然后指定绝对路径:proguard.config=/path/to/proguard.cfg;2)当在release模式下编译程序时,不管是用antrelease还是用Eclipse的导出向导,编译系统都会自动检查proguard.config属性是否设置,若已经设置,ProGuard就会在打包成.apk文件之前,自动处理应用程序的字节码;3)ProGuard开始对源代码文件文件中的Java代码进行压缩、优化、混淆、预检;4)ProGuard运行结束后,会生成一个名为proguard的文件夹,其中有以下文件:dump.txt描述.apk文件中所有类文件间的内部结构;mapping.txt列出了原始的类,方法和字段名与混淆后代码间的映射,当从release版本中收到一个bug报告时,可以用它来翻译被混淆的代码;seeds.txt列出了未被混淆的类和成员;usage.txt列出了从apk文件中删除的代码;5)分别挑选其中合适的方法来统计各项属性指标值,分析各项属性指标值及其变化,对Proguard的代码混淆工作进行评价;6)基于各项属性指标值统计无法对混淆工具整体混淆效果做出合理评价的结论,还需从混淆工具的功能点出发对代码混淆工具的工作有效性进行评价。作为本专利技术进一步改进,步骤五各项属性指标值包括指令执行率、控制流复杂度、指令序列相似度、控制流图相似度。作为本专利技术进一步改进,步骤六混淆工具的功能包括标识符重命名、类再封装、过度重载。本专利技术公开了一种基于Proguard软件的移动互联网App代码混淆测评方法:为了防止恶意主机对移动App有目的的篡改,使用代码混淆软件对移动App的源代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对移动App的篡改。按照本专利技术公开的测评方法可以开展相关混淆工作分析,有效地评估经过Proguard软件混淆后的代码安全防护效果,其有益效果如下:1)本专利技术方法可以开展对经过ProGuard软件混淆过的移动App代码开展有效性评价;2)本专利技术方法可以结合各项属性指标值统计,以及混淆工具的功能点出发对代码混淆工具的工作进行全面评估。附图说明图1为Hello.apk类结构图;图2为Hello_ProGuard.apk类结构图;图3为Hello.apk与Hello_ProGuard.apk类结构对比图;、图4为ProGuard过度重载效果图。具体实施方式下面结合附图与具体实施方式对本专利技术作进一步详细描述:本专利技术提供一种基于Proguard软件的移动互联网App代码混淆测评方法,可以防止恶意主机对移动App有目的的篡改,使用代码混淆软件对移动App的源代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对移动App的篡改。按照本专利技术公开的测评方法可以开展相关混淆工作分析,有效地评估经过Proguard软件混淆后的代码安全防护效果。作为本专利技术一种具体实施例,本专利技术提供一种基于Proguard软件的移动互联网App代码混淆测评方法,以源代码文件Hello.apk以及经过本文档来自技高网
...
一种基于Proguard软件的移动互联网App代码混淆测评方法

【技术保护点】
一种基于Proguard软件的移动互联网App代码混淆测评方法,具体测评方法步骤如下,其特征在于:1) 在集成了ProGuard的Android的编译环境中,启用ProGuard让它跟随Ant或Eclipse编译时一起运行,在<project_root>/default.properties文件中设置ProGuard.config属性,路径可以是绝对路径或是工程根目录的相对路径,若把proguard.cfg文件放在默认的位置即工程的根目录,可以这样指定它的位置: proguard.config=proguard.cfg;或者把该文件移到任何位置,然后指定绝对路径:proguard.config=/path/to/proguard.cfg;2) 当在release模式下编译程序时,不管是用ant release还是用Eclipse的导出向导,编译系统都会自动检查proguard.config属性是否设置,若已经设置,ProGuard就会在打包成.apk文件之前,自动处理应用程序的字节码;3) ProGuard开始对源代码文件文件中的Java代码进行压缩、优化、混淆、预检;4) ProGuard运行结束后,会生成一个名为proguard的文件夹,其中有以下文件:dump.txt 描述.apk文件中所有类文件间的内部结构;mapping.txt 列出了原始的类,方法和字段名与混淆后代码间的映射,当从release版本中收到一个bug报告时,可以用它来翻译被混淆的代码;seeds.txt列出了未被混淆的类和成员;usage.txt列出了从apk文件中删除的代码;5) 分别挑选其中合适的方法来统计各项属性指标值,分析各项属性指标值及其变化,对Proguard的代码混淆工作进行评价;6) 基于各项属性指标值统计无法对混淆工具整体混淆效果做出合理评价的结论,还需从混淆工具的功能点出发对代码混淆工具的工作有效性进行评价。...

【技术特征摘要】
1.一种基于Proguard软件的移动互联网App代码混淆测评方法,具体测评方法步骤如下,其特征在于:1)在集成了ProGuard的Android的编译环境中,启用ProGuard让它跟随Ant或Eclipse编译时一起运行,在<project_root>/default.properties文件中设置ProGuard.config属性,路径可以是绝对路径或是工程根目录的相对路径,若把proguard.cfg文件放在默认的位置即工程的根目录,可以这样指定它的位置:proguard.config=proguard.cfg;或者把该文件移到任何位置,然后指定绝对路径:proguard.config=/path/to/proguard.cfg;2)当在release模式下编译程序时,不管是用antrelease还是用Eclipse的导出向导,编译系统都会自动检查proguard.config属性是否设置,若已经设置,ProGuard就会在打包成.apk文件之前,自动处理应用程序的字节码;3)ProGuard开始对源代码文件文件中的Java代码进行压缩、优化、混淆、...

【专利技术属性】
技术研发人员:王庆燕刘旭明鞠全勇吴洪兵
申请(专利权)人:金陵科技学院
类型:发明
国别省市:江苏,32

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

1