[发明专利]一种移动平台应用软件的加固方法有效
申请号: | 201310509932.4 | 申请日: | 2013-10-25 |
公开(公告)号: | CN103544415A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 汪德嘉;宋超 | 申请(专利权)人: | 苏州通付盾信息技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 陈忠辉 |
地址: | 215125 江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 平台 应用软件 加固 方法 | ||
技术领域
本发明设计一种定制非法指令和类加载器的软件加固方法,综合利用软件编程技术、程序分析技术、网络服务技术加密解密技术及移动通讯技术实现,可用于对抗移动平台逆向工程分析、防止程序被反编译等黑客手段攻击,保护程序版权、保护用户应用安全。
背景技术
在计算机技术中,“指令”是由指令集架构定义的单个CPU操作。在更广泛的意义上,“指令”可以是任何可执行程序的元素的表述,例如字节码。在传统的构架上,指令包括一个操作码(opcode),它指定了要进行什么样的操作。例如“将存储器中的内容与寄存器中的内容相加”,和零个或者更多的操作数(operand)。操作数可能还包括寻址方式,它确定了操作数的含义。在超长指令字(VLIW)构架中(包括很多微指令(microcode)构架)多个并发的操作和操作数在一条单独的指令中被指定。指令的长度相差悬殊,从一些微控制器(microcontroller)中的4位(bit)到一些超长指令字系统中的几百位。大部分现代的个人计算机、大型计算机、超大型计算机中的处理器的指令尺寸在16到64位之间。在一些构架中,特别是RISC构架中,指令长度是固定的,通常与其构架的字长一致。在其它的构架中,指令有不同的长度,但通常是字节或者半个字的整数倍。构成程序的指令很少以它在机器内部的数值形式而直接的被使用;它们可以被程序员通过汇编语言加以表示,或者,更常见的,被编译器生成。
不同的运行环境都会有各自不同的指令集,例如常见的ARM指令集、X86指令集等。而非法指令就是当前运行环境下,指令集中不包含的指令。计算机执行到这里时将出现错误。
JVM本身包含了一个类加载器称为Bootstrap类加载器,和JVM一样,Bootstrap类加载器是用本地代码实现的,它负责加载核心JavaClass(即所有java.*开头的类)。另外JVM还会提供两个类加载器,它们都是用Java语言编写的,由Bootstrap类加载器加载;其中Extension类加载器负责加载扩展的Javaclass(例如所有javax.*开头的类和存放在JRE的ext目录下的类),Application类加载器负责加载应用程序自身的类。当运行一个程序的时候,JVM启动,运行Bootstrap类加载器,该类加载器加载java核心API(Ext类加载器和App类加载器也在此时被加载),然后调用Ext类加载器加载扩展API,最后App类加载器加载CLASSPATH目录下定义的类,这就是一个程序最基本的加载流程。
似乎JVM自身的类加载器已经足够了,但创建自定义的类加载器依然尤为必要。因为JVM自带的类加载器只是懂得从本地文件系统加载标准的java class文件,如果编写自定义的类加载器,可以实现:1)在执行非置信代码之前,自动验证数字签名;2)动态地创建符合用户特定需要的定制化构建类;3)从特定的场所取得java class,例如数据库中。
现有移动平台上的应用软件数以十万计,除大量的游戏外,还有各种能提高人类生活品质、效率的功能化应用,更有于财务相关的电子支付应用等。迫于经济利益的诱惑,黑客对该些应用软件产生了巨大的兴趣,通过各种反编译工具,黑客能轻松掌握该些应用软件的设计思路进行破解或植入木马程序,无形中将使用该应用软件的用户的资金转移、造成经济损失,这也极大地有碍社会的和谐发展。为此如何防范该些应用软件被破解、提高其安全保障性能,是当前软件设计方面需要解决的重要问题。而上述关于类加载器的说明,便给本发明技术方案的产生提供了技术背景。
发明内容
本发明针对现有技术的窘境,提出了一种移动平台应用软件的加固方法,彻底杜绝应用软件被反编译破解,提高软件应用实施的安全性。
本发明的上述目的得以实现的技术解决方案是,一种移动平台应用软件的加固方法,面向包括智能手机、平板电脑的移动平台的应用软件做加固处理,其特征在于:所述加固方法包括应用软件改造、类加载器定制和应用软件还原运行三部分,其中所述应用软件改造为采用二进制级别的代码注入方法将会引起软件逆向工程工具崩溃或中止运行的非法代码插入应用软件的可执行功能代码中;所述类加载器定制为制作面向应用软件并对应用软件改造中所插入的非法代码滤除的类加载器,且所述类加载器存云端服务器;所述应用软件还原运行为移动平台先从云端服务器将所定制的类加载器载入内存中,并滤除可执行功能代码中被插入的非法代码后再正常运行应用软件。
进一步地,所述非法代码至少为会引起软件逆向工程工具崩溃或中止运行的非法指令、代码或程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州通付盾信息技术有限公司,未经苏州通付盾信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310509932.4/2.html,转载请声明来源钻瓜专利网。