[发明专利]一种防止java程序被反编译的系统有效
申请号: | 202110382600.9 | 申请日: | 2021-04-09 |
公开(公告)号: | CN113094665B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 刘宇;方毅;叶新江;董霖;俞锋锋;陈文容;徐啟东 | 申请(专利权)人: | 每日互动股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 丁慧玲 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 java 程序 反编译 系统 | ||
本发明涉及一种防止java程序被反编译的系统,包括预设的加密函数、加密密钥、解密密钥和解密函数,处理器和存储有计算机程序的存储器,当所述计算机程序被处理器执行时,实现以下步骤:步骤C1、监测编译器是否将待处理的java源代码全部编译成对应的第一java字节码,若编译完成,则执行步骤C2;步骤C2、扫描所述第一java字节码,若扫描到常量字符串,则调用所述加密函数和加密密钥将扫描到的常量字符串进行加密,得到对应的加密字符串;步骤C3、将扫描到的常量字符串替换为所述解密函数的调用,并将所述解密函数对应的调用参数设置为该常量字符串对应的加密字符串。本发明能够防止java程序被反编译,提高了java程序的安全性。
技术领域
本发明涉及计算机技术领域,尤其涉及一种防止java程序被反编译的系统。
背景技术
随着安卓技术的快速发展,开发了大量的安卓应用程序,安卓应用程序通常基于Java语言编写。Java是一种跨平台的、解释型语言,Java编译工具将Java源代码编译成为Java字节码文件,由Java虚拟机负责对Java字节码文件进行解释执行。Java字节码文件中保留了方法名称、变量名称,并且通过这些名称来访问变量和方法,这些符号往往带有许多语义信息。因此,对于基于java编写的应用程序很容易被反编译,得到java源代码。因此为了提高java程序的安全性,避免java程序被反编译,如何提供一种防止java程序被反编译的技术,提高java程序的安全性成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种防止java程序被反编译的系统,能够防止java程序被反编译,提高了java程序的安全性。
根据本发明第一方面,提供了一种防止java程序被反编译系统,包括预设的加密函数、加密密钥、解密密钥和解密函数,处理器和存储有计算机程序的存储器,当所述计算机程序被处理器执行时,实现以下步骤:
步骤C1、监测编译器是否将待处理的java源代码全部编译成对应的第一java字节码,若编译完成,则执行步骤C2;
步骤C2、扫描所述第一java字节码,若扫描到常量字符串,则调用所述加密函数和加密密钥将扫描到的常量字符串进行加密,得到对应的加密字符串;
步骤C3、将扫描到的常量字符串替换为所述解密函数的调用,并将所述解密函数对应的调用参数设置为该常量字符串对应的加密字符串。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种名称可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明能够增加java程序被反编译的难度,有效防止java程序被反编译,提升了java程序的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例一的防止java程序被反编译流程示意图;
图2为本发明实施例二的防止java程序被反编译流程示意图;
图3为本发明实施例三的防止java程序被反编译流程示意图;
图4为本发明实施例四的防止java程序被反编译流程示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种名称的具体实施方式及其功效,详细说明如后。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于每日互动股份有限公司,未经每日互动股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110382600.9/2.html,转载请声明来源钻瓜专利网。