扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
防止Java开发出来的程序被别人反编译有很多种方法,下面给你介绍几种:
成都创新互联公司专注于达州网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供达州营销型网站建设,达州网站制作、达州网页设计、达州网站官网定制、成都微信小程序服务,打造达州网络公司原创品牌,更为您提供达州网站排名全网营销落地服务。
1、隔离Java程序
最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。例如,开发人员可以将关键的Java Class放在服务器端,客户端通过访问服务器的相关接口来获得服务,而不是直接访问Class文件。这样黑客就没有办法反编译Class文件。目前,通过接口提供服务的标准和协议也越来越多,例如 HTTP、Web Service、RPC等。但是有很多应用都不适合这种保护方式,例如对于单机运行的程序就无法隔离Java程序。
2、对Class文件进行加密
为了防止Class文件被直接反编译,许多开发人员将一些关键的Class文件进行加密,例如对注册码、序列号管理相关的类等。在使用这些被加密的类之前,程序首先需要对这些类进行解密,而后再将这些类装载到JVM当中。这些类的解密可以由硬件完成,也可以使用软件完成。
3、转换成本地代码
将程序转换成本地代码也是一种防止反编译的有效方法。因为本地代码往往难以被反编译。开发人员可以选择将整个应用程序转换成本地代码,也可以选择关键模块转换。如果仅仅转换关键部分模块,Java程序在使用这些模块时,需要使用JNI技术进行调用。
4、代码混淆
代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。但是混淆后的代码很难被反编译,即反编译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义。从理论上来说,黑客如果有足够的时间,被混淆的代码仍然可能被破解,甚至目前有些人正在研制反混淆的工具。但是从实际情况来看,由于混淆技术的多元化发展,混淆理论的成熟,经过混淆的Java代码还是能够很好地防止反编译。
不同保护技术比较希望能给大家带来参考:
选A,首先你对一个JAVA程序进行编译时,将编译成.class的字节码文件,然后运行他时,JVM会把.class转换成本地机器码进行运行!
这个就是JAVA程序的运行原理!
第一步,写代码并保存为“.java”格式文件。
第二步,确保环境变量设置好:在桌面电脑图标上点击右键,选着属性,调出系统,我的win7,路径-----控制面板\系统和安全\系统,左边中部高级系统设置,打开系统属性。xp系统也找系统属性,有个高级选项,里面有环境变量按钮。打开,中下有系统变量,找到path选项,编辑,记得先在最后加个分号“;”。然后找到jdk的安装目录,在地址栏里把包括\bin在内的路径复制到分号后就可以了,然后确定、确定。。。。。。
第三步,打开dos界面并编译:开始--运行--cmd或开始--附件--运行--cmd或windows键+R
--cmd,打开界面。编译键入:javac 路径\文件名.java,会出现一个同名class文件。对了\的方向挺重要,不行换个方向试试。
第四部,运行也说说吧,键入:java 路径\文件名,文件指的是class文件。
中间出错修改代码的话,要重新编译才能运行。
压缩,压缩,再压缩.
或者你可以理解为 加密,加密,再加密,
等你自己运行的时候,就逆向解析出来源码.
希望能帮到你!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流