admin管理员组文章数量:1130349
发布给用户的是一个java工程
里面有一个包,包里有多个不能让用户查看的class文件(不能让用户轻易反编译获取源码)
现在想通过加密/混淆技术进行处理,但是,如果把这些class文件加密后,这个工程在调用这个包时想必是会出问题的。不知道有方法解决呢???
这个是不行的,java的运行jvm是需要明确的class文件的,除非你开发自己的运行环境,就可以在运行class之前进行预解析,否则很难实现。
并且,如果混淆了jar包里的class不光运行有问题,开发也会出现问题,原本明确的开放端口由于混淆了,所以会导致项目其他部分的类无法去正常调用。
有专门的class混淆器 大部分是收费的
jbuilder自带混淆器
proguard混淆效果还行
加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可
1、将代码使用混淆器混淆一下,但是如果仅仅只是混淆的话,高手还是能够看得懂的,所以还需要做下面的
2、自己开发一个类加载器,对二进制码进行一下加密,加密部分使用c之类的语言开发,通过jni进行调用,这样class是没有办法反编译的。
这样两种方法并用的话,想反编译那是非常难的。
发布给用户的是一个java工程
里面有一个包,包里有多个不能让用户查看的class文件(不能让用户轻易反编译获取源码)
现在想通过加密/混淆技术进行处理,但是,如果把这些class文件加密后,这个工程在调用这个包时想必是会出问题的。不知道有方法解决呢???
这个是不行的,java的运行jvm是需要明确的class文件的,除非你开发自己的运行环境,就可以在运行class之前进行预解析,否则很难实现。
并且,如果混淆了jar包里的class不光运行有问题,开发也会出现问题,原本明确的开放端口由于混淆了,所以会导致项目其他部分的类无法去正常调用。
有专门的class混淆器 大部分是收费的
jbuilder自带混淆器
proguard混淆效果还行
加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可
1、将代码使用混淆器混淆一下,但是如果仅仅只是混淆的话,高手还是能够看得懂的,所以还需要做下面的
2、自己开发一个类加载器,对二进制码进行一下加密,加密部分使用c之类的语言开发,通过jni进行调用,这样class是没有办法反编译的。
这样两种方法并用的话,想反编译那是非常难的。
版权声明:本文标题:java class 加密_如何给class文件加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763992010a2977606.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论