社区
Java SE
帖子详情
Java防止反编译
guohua414
2014-12-12 06:01:11
Java中发布到客户机的Jar如何做到防止反编译而保护程序。
现在一般的做法:
1.代码混淆:尝试下来,有的工具好一点混淆程度高,有的工具差一点效果也就打点折扣,但反射的类需要排除在外,工作量挺大
2.classloader加密:没尝试
3.生成本地代码:破坏了跨平台,也担心性能
4.远程调用:实际业务不可远程防止,不考虑
看见别人有一种方式,可以禁止打开jar,加载进来也看不到源码,不知道什么方法。
有经验的朋友解答下,不胜感激。
...全文
172
2
打赏
收藏
Java防止反编译
Java中发布到客户机的Jar如何做到防止反编译而保护程序。 现在一般的做法: 1.代码混淆:尝试下来,有的工具好一点混淆程度高,有的工具差一点效果也就打点折扣,但反射的类需要排除在外,工作量挺大 2.classloader加密:没尝试 3.生成本地代码:破坏了跨平台,也担心性能 4.远程调用:实际业务不可远程防止,不考虑 看见别人有一种方式,可以禁止打开jar,加载进来也看不到源码,不知道什么方法。 有经验的朋友解答下,不胜感激。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
humanity
2014-12-13
打赏
举报
回复
JKD 6 Instrument agent,挂载上去后每个类加载都可以通过它来先处理一次,比如我们用 dll 来解密类的内容。当然你的 dll 还是有可能被人家破解的。这个时候 jar 文件中每个 class 文件的内容本身是错误的,加密的,不是 class 原始格式,因为无法反编译。要不咱来个 SSL 连接到服务器解密类,服务器给客户端发一张客户端 SSL 证书来访问服务器,这时候服务器才愿意帮它解码它发送过来的加了密的 class 文件内容。这样加密解密都只有服务器知道,SSL 证书也是服务器发的,其它人没法用。 不过无论如何,理论上没有不能被破解的程序,混淆只是让反编译出来的代码难以理解,肯定是有人能理解的。只是理解它花去的时间成本因人而异。
rumlee
2014-12-12
打赏
举报
回复
自定义classloader结合本地代码启动,这样应该安全性还是比较高的。
防止
JAVA
代码被
反编译
的方法
防止
JAVA
代码被
反编译
的方法 代码编写避免被
反编译
的方法
java
class
防止
反编译
,最大限度的保护自己的代码
java
以其跨平台、免费、安全等特点,被越来越多的应用到大型的系统中。正是由于其代码的跨平台性,是解析型语言才使得它很容易被
反编译
成源码,从而造成公司代码的泄露,设置时运用框架的泄露。本文从各个方面介绍了
防止
class被
反编译
。从而保护自己的知识产权不受侵害。 包括混淆技术,加密技术等。
java
防
反编译
jar
java
jar包防
反编译
工具,混淆代码,可以对类名,String,变量,数字等进行混淆,
java
代码保护,
防止
反编译
保护企业成果,
防止
反编译
,有效的保护知识产权。 欢迎下载
JAVA
加密 保护源代码
防止
反编译
的工具
众所周知,
java
开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。
Java
有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人
反编译
过来而据为己有,一般情况下,大多数的人都是用混编器(
java
obfuscator)来把开发出来的程序进行打乱以达到没有办法来
反编译
观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要
反编译
他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款
防止
反编译
工具其实都是改进了加载过程。但是加载到
JAVA
虚拟机后一样可以得到CLASS字节码的。 只要懂
JAVA
原理的人其实很用意破解的.
JAVA
COMPILE 这款工具就不一样了,
java
compile 它是修改了虚拟机内核, 用户目录里没有需要的
JAVA
字节码,而是当
JAVA
需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来
反编译
字节码。 真正意义上保护了
JAVA
知识产权。 个人版限制编译30个CLASS文件,文件打包方式下载。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章