
正文
java代码混淆和加密 jar包代码混淆
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何有效的防止Java程序被反编译和破解
1、无法防止。.class文件java代码混淆和加密的标准是公开java代码混淆和加密的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
2、针对反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
3、隔离java程序到服务端特点:把java程序放到服务端,让用户不能访问到class文件和相关配套文件,客户端只通过接口访问。这种方式在客户/服务模式的应用中能较好地保护java代码。
4、java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
5、1 和19都是常量池中的有效索引,值就是右边中的值,再往下跟踪java代码混淆和加密我就不多说了,有兴趣的朋友可以去JAVA虚拟机规范。这里我简单介绍一下parseImage(Ljava/lang/String;)[S 的意思。
6、很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
相关问答
Q1: 如何对java的class类进行加密
加密不java代码混淆和加密了。Java类是字节码实现java代码混淆和加密的。怎么也是加密不了java代码混淆和加密的。需要加密的话java代码混淆和加密,也最多是代码混淆,写得让人家看不懂。确实需要加密借用C/C++语言实现加密算法,然后调用该实现来加密。
只给编译后的.jar文件,不给.java文件 不过要说明的是,java因为是字节码,所以没有办法防止被反编译。
隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。
图1隔离Java程序示意图 对Class文件进行加密 为了防止Class文件被直接反编译,许多开发人员将一些要害的Class文件进行加密,例如对注册码、序列号治理相关的类等。
Q2: 如何用java程序实现加密的序列号
1、如果可以随便儿用什么加密方式的话java代码混淆和加密,直接用DES加密就可以。如果非要自己设计一个加密算法java代码混淆和加密,你可以随便指定一个规则,是加减乘除,移位啊取余啊都随便你,最后能按原路算回来就行。
2、加密性,肯定是经过加密或者混乱的,防止大家自己生成序列号。解密性,软件自身肯定可以解密,否则无法验证合法性。可读性,序列号一般都比较标准,方便书写和记忆,所以一般都为数字和字母。
3、最简单的,用异或运算。你也可以自己写个加密方法啊。比如说:利用unicode字符加密啊。
4、java代码混淆和加密我以前上密码学课写过一个DES加解密的程序,是自己实现的,不是通过调用java库函数,代码有点长,带有用户界面。
5、Oracle的话,用SEQUENCE,如果是JAVA的话,用一个变量来保存就好。
6、添加前进页面的时候就把数据库中最大的那个序列号拿出来,加上1在页面显示,然后传道后台保存,修改的话到数据库验证下序列号,存在的话就不给保存。
java代码混淆和加密的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jar包代码混淆、java代码混淆和加密的信息别忘了在本站进行查找喔。







