请问大家,如果防止对class文件进行反编译!

esunshine 2008-01-28 03:05:00
我使用的是jdk1.5.能否用java本身写个程序什么的?谢谢各位!
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youbin_ 2008-01-30
  • 打赏
  • 举报
回复
一般用RetroGuard混淆下...
chenweionline 2008-01-30
  • 打赏
  • 举报
回复
用代码混淆工具比较有效率,可以自定义混淆强度。推荐一个收费的Zelix KlassMaster。
pangxie 2008-01-30
  • 打赏
  • 举报
回复
搜索代码混淆工具吧,这类工具不少
iwlk 2008-01-28
  • 打赏
  • 举报
回复
同意楼上的
老紫竹 2008-01-28
  • 打赏
  • 举报
回复
我做过类似工作
1 用混淆工具,读懂有问题,时间长,但还是能重构的,所以只能延长破解时间而已
2 ClassLoader java 版本, 虽然看上去很好,但可以自身就是java写的,所以一旦被找到Loader 的源头,则加密形同虚设
3 ClassLoader java版本+其它的dll加密工具。 网上有一个免费的class加密工具,免费版只能加密<2K的class文件。我是把最核心的还原算法写到了一个类里面,用其加密。 该方法一旦得到原始dll作者的支持,加密也没有保证
4 自己写dll的加密工具。 这个最强,但可惜我不会
5 改造 JVM 的 byte code 结构, 太强了,我水平达不到
6 我不知道了,也许改行用.net吧!
healer_kx 2008-01-28
  • 打赏
  • 举报
回复
不知道有没有代码混淆器啊,C#都有呢,Java肯定有,至于字节码恐怕是不能被加密的了。
因为它不太具备像ASM那样流的性质,所以不能被加壳。
众所周知,java开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。 Java有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人反编译过来而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要反编译他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款防止反编译工具其实都是改进了加载过程。但是加载到JAVA虚拟机后一样可以得到CLASS字节码的。 只要懂JAVA原理的人其实很用意破解的. JAVACOMPILE 这款工具就不一样了,javacompile 它是修改了虚拟机内核, 用户目录里没有需要的JAVA字节码,而是当JAVA需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来反编译字节码。 真正意义上保护了JAVA知识产权。 个人版限制编译30个CLASS文件文件打包方式下载。

62,623

社区成员

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

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