基于防逆向篡改的安卓应用软件保护系统的研究和实现

来源 :中北大学 | 被引量 : 0次 | 上传用户:pan07631014
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
安卓系统平台的成功基于它的开源和Linux内核的可移植性,安卓的开源为它的成功提供了助力,也导致安卓成为移动终端系统中最容易被攻击的操作系统。攻击者可以利用一系列攻击手段对安卓应用程序进行分析和篡改。随着篡改和病毒数量的增加,安卓平台应用软件的保护受到越来越多的关注。近年来无论是研究机构还是科技公司,都投入了一定的资源致力于安卓平台软件保护的研究。本文在分析现有软件保护技术的基础上结合自己所学知识,设计和实现了一套基于防逆向篡改技术的安卓应用软件保护系统。本文的主要工作有以下内容:(1)dex文件的保护本文通过分析dex文件的结构和加载方式,结合常用的软件保护方法,实现了一种通过代码集替换之后再进行加密的dex文件保护解决方案。该方案可以有效抵抗反编译和静态分析,程序不运行就不恢复原始的dex文件,即使攻击者解压或者反编译apk都获取不到原始文件,能够很好地保护dex文件。(2)SO文件的保护当程序员把关键逻辑代码编写到SO库文件,攻击也随之转移到了SO文件。本文在分析安卓调用jni代码执行的流程之后发现,SO文件加载过程中真正将文件载入内存之前可以进行预处理,开发者可以在预处理函数中加入自定义逻辑。运用这一发现实现了对SO文件头字段进行替换再加密SO库文件的保护方案,该方案可以有效杜绝攻击者对SO文件的静态分析。(3)远程保护关键信息现有保护方案都将密钥信息经过加密或者变形存放于本地文件中,这种方法的缺陷是密钥信息无论是编写在SO文件中还是加密或变形之后单独存放于apk文件的其它位置,都有被破解和找到的可能。本文将Axis2提供远程服务的功能加入到保护系统中,通过这个方法可以实现密钥信息和其他需要保护的关键信息和程序完全解耦,能进一步提高软件的安全性。(4)防止动态调试防动态分析与防静态分析是相辅相成的,一个安卓软件保护系统既要考虑防静态分析的保护,还需要加入抵抗动态调试的功能。本文在分析动态调试运行机制之后,发现调试器调试安卓设备必须与android_server连接才能进行,并且二者是利用面向连接的TCP协议进行连接的。根据这两个特点,实现了一个基于android_server连接资源占用的反动态调试解决方案,该方案通过被保护应用软件与android_server进行TCP连接阻止调试器的连接,进而阻止动态调试的进行,该方案比目前使用的反调试解决方案更高效且状态更持久。
其他文献
<正>每一个行业都会经历从快速发展到平稳到衰退的过程。中国的商业发展很快,顾客的购买能力和要求也在一直提高,行业到了平稳发展期,增长乏力、微利成了新常态。不思考新模
期刊
<正>消毒是贯彻“预防为主”的一项重要措施,消毒的目的是消灭被传染源散播于外界环境中的病原体,以切断传播途径,阻止疫病继续蔓延。从而也是促进畜牧业发展和保护人体健康
江西宜春钽铌伴生锂云母矿是我国最大的钽铌锂原料基地。氯盐压煮法锂云母提锂是目前国内锂云母提锂成本最低的工艺方法,但其大量产生的压浸滤渣(以下简称“锂渣”)的处置和综合
本届世界杯的竞争明显比以往残酷、激烈了彳艮多,一则,各队之间的竞技水平相差不多,强弱分明的比赛总共也没几场,基本都是五五开,场场都需要拼得血光四溅、玩了老命才能分出胜负;二
几年前,农资经销商都在高唱不再赊,但是现在有多少是不赊销的?到年底,算算总账,不少经销商收获的有一箱子的欠条。资金回笼难,明年怎么从上游拿货?还怎么开辰其他的增值性服务?行业里
从多角度阐述了异域的佛教纹饰与中国传统图形在造型、寓意、审美、文化等方面的融合性衍变,针对典型的"莲纹"到"宝相花"、"忍冬纹"到"卷草纹"的造型转变,以及我国祥云纹样对佛教纹饰
《认知语言学读本》集合了认知语言学各个研究领域自肇始至今的代表性理论和观点、研究方法和理论应用。作为基础性文献,《认知语言学读本》是一本相当好的基础性教材,对认知
在民族地区城镇化过程中,除了工矿业开发等兴起的城镇外,一般城镇都受到传统产业结构状况的影响,特别是受到资金、技术、劳动者素质、市场等方面的约束,培育能够全面支撑新型
植被退化是我国北方森林生态系统面临的一个广泛地问题,它严重制约了生态系统保持水源、涵养土地等生态功能的实现,生物多样性也因此而受到严重的威胁。大兴安岭林区的山地草
随着学前教育人才需求标准的变化,高素质应用型人才成为各企业的用人需求。职业学校要培养适应企业需要的人才类型,必须与企业合作,提高学前教育质量,促进高素质、高技能人才