面向Android智能手机终端应用程序的代码混淆算法研究与实现

被引量 : 13次 | 上传用户:ljb2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着社会经济的发展,全球应用程序商店的数量有所增长,其规模保大幅度扩张,移动应用程序的数量呈爆发式增长的同时也面临着许多挑战,其中一方面就是知识产权的保护[¨。随着网络的发展,移动应用程序传播的范围变得更加开放,移动应用程序传播的速度变得更加便捷,这在促进移动应用程序交流的同时,也为移动应用程序知识产权窃取提供了良好的温床。相比于iOS等其他平台的移动应用程序,Android应用程序由于Java语言编译后产生的中间代码会保留大量信息的原因,反编译后得到的代码具有很高的质量,基本上可以根据获取的应用程序信息重构程序,导致Java应用程序在代码保护上的保密性较低,使得Android应用程序的知识产权保护面临着很大的安全风险。在众多软件保护技术中,代码混淆是一种比较有效的保护技术,其基本思想是通过各种混淆技术对软件代码或数据进行保留语义的变换,使得对混淆后的代码进行分析的难度加大,进而达到保护软件代码安全的目的。代码混淆技术通过对程序的代码进行重新组织或处理,在确保混淆后的代码与混淆前的代码能够实现相同功能的前提下,使得混淆后的代码更难被分析,更难被反编译,即使反编译成功也难以得到程序的真正语义。相较于水印、防篡改等其他保护技术,代码混淆保护的是程序的代码,它并不改变程序实现的功能,即使是合法用户也无法从代码中获取程序的重要信息。本文重点研究面向Android智能终端应用程序的控制流混淆,设计并实现了控制流混淆方案,给出了相关算法的基本描述。本文在结合不透明谓词技术与插入分支代码的基础上,通过扁平化部分控制结构的方式,进一步破坏程序原控制流结构,在不过分增加开销的情况下,增加重构应用程序控制流图的难度,加强对应用程序的保护。本文主要工作如下:首先,结合Android智能终端应用程序的特点,研究了当前代码混淆技术及不透明谓词技术,对常见的混淆技术做了详细的介绍,并针对应用程序的保护需求及使用场景需求提出了基于控制流保护的混淆方案。其次,基于混淆工具理论模型以及本文的混淆方案,完成了混淆工具架构的设计,以及混淆工具的开发,实现控制流混淆方案。并逐步优化混淆方案及工具,提高混淆的灵活性和混淆效果。最后,结合混淆的评估标准,根据Android应用程序的特点及应用场景的需求,从代码长度、性能开销、语义复杂度等维度分析了实验结果,并与Proguard的混淆结果进行对比。
其他文献
学校点多面广、学生基数大、控辍保学任务重,是广西博白县教育的现状。为了打赢脱贫攻坚战,确保全县无建档立卡贫困户家庭适龄儿童少年辍学,博白县大力落实控辍保学“1234+”工
报纸
建州女真李满住部与朝鲜王朝的关系,是彼时中朝关系史的重要组成部分。李满住部活动于辽东地区,与朝鲜国境毗邻,于是因地理之便与朝鲜开展贸易,但由此也与朝鲜产生了诸多摩擦
随着社会主义市场经济的迅速发展,会计信息披露制度也在逐步完善之中,但已有研究表明,上市会计信息披露还是存在不少问题,阻碍着证券市场的进一步发展。基于公司治理角度,首
生物技术产业作为我国的一个新兴产业,目前正在不断研发和探索生态环保项目,并取得了一定的效果,起到了示范和带头作用。正是由于外在生态环境破坏的驱使和内在经济转型的推动,越
湖南卫视和网络上热播的连续剧《夫妻那些事》,表面上借由“丁克”这个话题展现现代家庭中的冲突与矛盾,实际上导演汪俊通过三个家庭不同的命运走向向观众展现了中国现代社会中
本文以苹果、梨为研究对象,以敌百虫农药作为检测对象,应用拉曼光谱检测技术对苹果和梨表面残留敌百虫农药进行试验研究,主要完成内容如下:1.利用LabRAM HR800拉曼仪器,确定了采集
推动农村土地流转,发展现代农业,实现规模经营,解决土地细碎化问题成为破解"三农"问题的关键。目前我国农村土地流转实践主要有农村土地互换、农村土地出租、农村土地股份合
随着网络购物的兴起,国内以往营销领域基于对单一线索的影响作用的研究路径的局限性越来越明显。然而在网络环境下,信息的丰富程度大大增加,消费者的行为通常是多种信息线索
叙述了反坦克导弹的发展与分类 ,以采用电视测角、激光传输指令的导弹为例 ,论述了反坦克导弹的主要性能指标及结构特点 ,阐明了的反坦克导弹验收及使用培训的特殊性