发布网友 发布时间:2022-04-21 22:14
共3个回答
热心网友 时间:2023-07-22 11:08
java本就是开源的,你加密感觉怪怪的。
想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。用解压缩软件打开这个jar,以文本方式找到那个类的class,然后将那个方法名的一个字母删掉,然后更新入压缩文件中。用jd-gui反编译提示错误。这种方式不能用于android中。
还有种方法就是混淆代码,加密class和高级加密class,方式比较复杂,可以自行百度。
热心网友 时间:2023-07-22 11:09
很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
热心网友 时间:2023-07-22 11:09
Virbox Protector对Java代码混淆有两种方式:一种是对War包加密,一种是对Jar包加密。Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的java.exe,并且可以实现项目源码绑定制定设备,防止部署到客户服务器的项目被整体拷贝。
两种加密方式
1、War包加密
当你的项目在没有完成竣工的时候,不适合使用 war 文件,因为你的类会由于调试之类的经常改,这样来回删除、创建 war 文件很不爽,最好是你的项目已经完成了,不改了,那么就打个 war 包吧,这个时候一个 war 文件就相当于一个 web应用程序;而 jar 文件就是把类和一些相关的资源封装到一个包中,便于程序中引用。
2、Jar包加密
在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。Jar包有已知的jar包及自己导出的jar包。
Java代码加密流程
我们如何对已知的jar 或者自己导出jar包做加密并给别人使用呢?下面是对简单的加密流程介绍。
War包加密流程
1.打包War包
2.解压War包
3.对java.exe加壳
4.对class文件加密
Jar包加密流程
1.对java.exe加壳
2.对Jar文件进行加密
加密安全技术:
1、虚拟机外壳:精锐5的外壳保护工具,创新性的引入了预分析和自动优化引擎,有效的解决了虚拟化保护代码时的安全性和性能平衡问题。
2、碎片代码执行:利用自身成熟的外壳中的代码提取技术,抽取大量、大段代码,加密混淆后在安全环境中执行,最大程度上减少加密锁底层技术和功能的依赖,同时大量大段地移植又保证了更高的安全性。
3、Virbox加密编译引擎:集编译、混淆等安全功能于一身,由于在编译阶段介入,可优化空间是普遍虚拟化技术无法比拟的,对代码、变量的混淆程度也有了根本的提升。
4、反黑引擎:内置R0级核心态反黑引擎,基于行为特征的(反黑数据库)反制手段。精准打击调试、注入、内存修改等行为,由被动挨打到主动防护。