[发明专利]一种代码加密方法及系统有效
申请号: | 201710536502.X | 申请日: | 2017-07-04 |
公开(公告)号: | CN107506651B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 吕志辉 | 申请(专利权)人: | 环玺信息科技(上海)有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62 |
代理公司: | 上海宏京知识产权代理事务所(普通合伙) 31297 | 代理人: | 李倩倩 |
地址: | 200000 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 加密 方法 系统 | ||
本发明涉及计算机技术领域,尤其涉及一种代码加密方法及系统。包括:步骤S1,获取原始代码文件;所述原始代码文件基于原始类实现任务;步骤S2,对所述原始代码文件进行类混合处理得到类混合代码文件,所述类混合代码文件包括与所述任务对应的任务类并且基于所述任务类实现所述任务。经过类混合处理以后的类混合代码文件,在经过混淆处理、压缩处理以后,即使混淆处理的加密被反向破解了,但是核心代码的类都是以任务为单位进行封装的,将多个不相干的对象实体混合为一个虚拟特制对象(即任务类对象),通过预定的命名规则定义形式,形成难以理解和分割的以任务为单位的功能块,这样代码被窃取依然无从下手。
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码加密方法及系统。
背景技术
随着互联网技术的日益发展,软件的发展速度得以井喷似的壮大,随着开源技术的推广,虽然对软件的快速发展和强大带来了更大的变化,但是同时对于数据的保密,完整和安全性上带来了严重的考验。
例如Java应用软件,Java通过虚拟机方式运行,具有编程时无需考虑内存管理等优点,因此被广泛应用与各种应用软件。通常情况下,采用Java编写的应用软件源程序代码经过Java编译器编译后,生成Java字节码(.class 文件),Java字节码独立于计算机硬件及操作系统,在运行时由Java虚拟机的Java解释器负责解释并通过及时编译器生产机器代码而执行。然而,由于 Java字节码中包含大量的调试信息,例如:源文件名、行号、字段名、方法名、参数名和变量名等,这些调试信息很容易被反编译和通过逆向工程获得应用软件完整的源程序代码。
因此,人们开始投入大量的精力对于自己代码的安全维护成本上考虑,防止别人给自己的软件注入漏洞或者提取源代码获取加密信息。
代码混淆,是将计算机程序的代码转换成一种功能上的等价,但是难于阅读和理解的形式的行为。将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式,打乱代码的格式。
申请公布号CN 105404794 A,申请公布日2016年3月16日公开的发明专利申请公开了一种Java应用软件的保护方法和装置,通过获取Java应用软件的压缩包,该压缩包中包含至少一个类文件,根据其中的至少一个类文件中的指令访问权限,对至少一个类文件中的函数进行合并处理,从而将多个函数的指令合并到同一函数中,产生强混淆效果,同时减少了总函数数量,增加了通过反编译和通过逆向工程获的应用软件完整的远程代码的难度。
申请公布号CN 106326694A,申请公布日2017年1月11日的发明专利申请公布了一种基于C源代码的混淆的Andrid应用加固方法。采用NDK编程的方式,把重要代码保存在C动态链接库中,在对C源代码进行混淆,可以增强对软件的保护措施。同时,把重要代码写到so库中,还能增加代码的重用性,在其他应用中可以直接引入现成的so库,免去了二次开发的麻烦。
但是这些混淆技术并不全面,因为高级语言的程序结构体可以揭示软件的设计意图从而帮助他人理解,稍微懂一点技术的人就能很好的破解。
发明内容
本发明为了解决上述技术问题,提出一种代码加密方法,其特征在于,包括:步骤S1,获取原始代码文件;所述原始代码文件基于原始类实现任务;步骤S2,对所述原始代码文件进行类混合处理得到类混合代码文件,所述类混合代码文件包括与所述任务对应的任务类并且基于所述任务类实现所述任务。
作为优选,所述类混合处理是指按照所述原始代码文件执行的任务将所述原始代码文件中的多个原始类合并形成任务类。
作为优选,所述原始类包括原始变量和原始方法;所述任务类包括与所述原始类的与实现所述任务相关的所述原始变量一一对应的任务变量和与所述原始类的与实现所述任务相关的所述原始方法一一对应的任务方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于环玺信息科技(上海)有限公司,未经环玺信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710536502.X/2.html,转载请声明来源钻瓜专利网。