关于防止class被反编译的问题

lzp729 2007-11-16 10:51:12
想请教下如何有效的防止java程序被反编译,主要是防止j2se的class被反编译,我遐想了一下,并做了相关的搜索,认为可能存在两种途径:
1 是从代码级别直接混淆java代码,使得即使反编译之后出来的代码也是不可读的,可以google search“java反编译器”找到相关资源
2 是将java程序转换成exe程序,使得该程序没有class文件,即使反编译,也只会得到汇编指令
我想请教的是:
1 有没有其他的途径来防止反编译?
2 以上我列举的两种防止反编译的方式有什么值得推荐的相关的工具,收费的也行,主要是考虑该工具的实现原理和使用效果
谢谢
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wunan320 2007-11-16
  • 打赏
  • 举报
回复
baidu search "CLASS文件加密工具"
wunan320 2007-11-16
  • 打赏
  • 举报
回复
baidu search "CLASS文件加密工具"
wunan320 2007-11-16
  • 打赏
  • 举报
回复
baidu search "CLASS文件加密工具"
lzp729 2007-11-16
  • 打赏
  • 举报
回复
不好意思 上面写错了
google search“java反编译器” ->> google search“java 混淆器”
众所周知,java开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。 Java有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人反编译过来而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要反编译他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款防止反编译工具其实都是改进了加载过程。但是加载到JAVA虚拟机后一样可以得到CLASS字节码的。 只要懂JAVA原理的人其实很用意破解的. JAVACOMPILE 这款工具就不一样了,javacompile 它是修改了虚拟机内核, 用户目录里没有需要的JAVA字节码,而是当JAVA需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来反编译字节码。 真正意义上保护了JAVA知识产权。 个人版限制编译30个CLASS文件,文件打包方式下载。

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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