class文件的加密

CHZiroy 2013-02-27 02:07:23
我的需求是这样
发布给用户的是一个java工程
里面有一个包,包里有多个不能让用户查看的class文件(不能让用户轻易反编译获取源码)
现在想通过加密/混淆技术进行处理,但是,如果把这些class文件加密后,这个工程在调用这个包时想必是会出问题的。不知道有方法解决呢???
...全文
428 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
喜欢送 2014-08-15
  • 打赏
  • 举报
回复
有人成功过吗
CHZiroy 2013-03-07
  • 打赏
  • 举报
回复
引用 7 楼 Inhibitory 的回复:
自己实现ClassLoader加载你加密过的Class就可以了.
我的想法是这样 先写一个加密程序把要加密的.class文件加密 然后重写一个classLoader(继承系统自带的类加载器),然后在这个类中解密上述已经加密的.class文件 好,这样我就写好一个新的classLoader类了,然后到jdk下用这个类替换原本的类加载器类????
wapigzhu 2013-03-04
  • 打赏
  • 举报
回复
proguard +1 我们公司就用的这个,可以跟ant结合的, 自己在脚本里面配置哪些类名字不混淆或者哪些类的field不混淆之类的, 分的很细 下载了里面有个说明的我记得,自己查查呗
Inhibitory 2013-03-04
  • 打赏
  • 举报
回复
自己实现ClassLoader加载你加密过的Class就可以了.
CHZiroy 2013-03-03
  • 打赏
  • 举报
回复
引用 3 楼 ticmy 的回复:
proguard混淆效果还行 加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可
请问有没有proguard的用法,可以指点一下吗?给点用法
rumlee 2013-02-27
  • 打赏
  • 举报
回复
1、将代码使用混淆器混淆一下,但是如果仅仅只是混淆的话,高手还是能够看得懂的,所以还需要做下面的 2、自己开发一个类加载器,对二进制码进行一下加密,加密部分使用c之类的语言开发,通过jni进行调用,这样class是没有办法反编译的。 这样两种方法并用的话,想反编译那是非常难的。
龙四 2013-02-27
  • 打赏
  • 举报
回复
proguard混淆效果还行 加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可
zn85600301 2013-02-27
  • 打赏
  • 举报
回复
有专门的class混淆器 大部分是收费的 jbuilder自带混淆器
GoldenDragon 2013-02-27
  • 打赏
  • 举报
回复
说实话,这个是不行的,java的运行jvm是需要明确的class文件的,除非你开发自己的运行环境,就可以在运行class之前进行预解析,否则很难实现。 并且,如果混淆了jar包里的class不光运行有问题,开发也会出现问题,原本明确的开放端口由于混淆了,所以会导致项目其他部分的类无法去正常调用。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧