社区
Java SE
帖子详情
如何有效的防止Java程序被反编译和破解?
shibai
2008-06-27 10:11:06
除了用混淆器处理一下,还有什么方法能有效的防止Java程序被反编译和破解?
...全文
1108
33
打赏
收藏
如何有效的防止Java程序被反编译和破解?
除了用混淆器处理一下,还有什么方法能有效的防止Java程序被反编译和破解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
apinglee
2008-07-12
打赏
举报
回复
肯定是运用加密技术噻
sunyuqian
2008-07-12
打赏
举报
回复
关注
oracle1
2008-07-12
打赏
举报
回复
学习了
AshEmissary
2008-07-07
打赏
举报
回复
关注
mxlmwl
2008-07-07
打赏
举报
回复
恐怕没什么办法。牛人太多了,已经混淆了,足够防新手了。高手你防不住的。真要搞,把你加密的关键点隐藏的越深越好,多点冗余垃圾代码,然后在代码中多处判断,并延迟校验时间。当然前提是如果你不介意这样搞的话。
自打泡上了看雪,没啥东西觉得解不开的。。。。。
cuilike
2008-07-07
打赏
举报
回复
[Quote=引用 26 楼 sagezk 的回复:]
引用 25 楼 yetaodiao 的回复:
加密
没有商业秘密还是开源好
没错,都什么年头了,开源一样能赚钱,看看 Mozilla。
[/Quote]
Sou2012
2008-07-07
打赏
举报
回复
[Quote=引用 2 楼 laorer 的回复:]
你自己写个加密器,写个classLoader
[/Quote]
网站推广优化yetaoaiueo
2008-07-06
打赏
举报
回复
加密
没有商业秘密还是开源好
sagezk
2008-07-06
打赏
举报
回复
[Quote=引用 19 楼 hmsuccess 的回复:]
引用“运用外壳工具先把调用您的java解释器来进行加密,也就是说如果要运用这个解释器就需要有一把特定的加密锁存在,然后再运用它提供的外壳加密工具中的数据加密,把您写好的java程序(Class或JAR包)当作一个文件来处理而对他进行加密,这个加密是采用的锁里自带加密引擎(额外的)进行加密,加密之后生成新的JAVA程序。这样您的软件就只能被您保护过的java解释器来进行解释,”
[/Quote]
只是增加了反编译难度,呵呵,还是老紫竹有商业头脑,“如果你的程序已经到了有人成批破解时,我想你不需要加密了!”到时候在家数钱就行了。
hemaily
2008-07-06
打赏
举报
回复
[Quote=引用 2 楼 laorer 的回复:]
你自己写个加密器,写个classLoader
[/Quote]
landyshouguo
2008-07-06
打赏
举报
回复
[Quote=引用 10 楼 ky000 的回复:]
呵呵,大家庭幽默的,混淆技术还是最基本的保护方法。
你看看这个:
http://www.blogjava.net/ioriqw/archive/2006/04/29/43947.html
http://bbs.tech.ccidnet.com/read.php?tid=177934
如果不能阻止被反编译的话,至少可以通过一些方法来增加它的困难性。例如: 在一个分步编译里,你可以打乱Class文件的数据以使其难读或者难以被反编译成正确的JAVA源文件,前者可以采用极端函数重载,后者用操作控制流建立控制…
[/Quote]
xuhaiyang
2008-07-06
打赏
举报
回复
jni
转native代码吧
palm_civet
2008-07-06
打赏
举报
回复
关注一下
hmsuccess
2008-07-06
打赏
举报
回复
引用
“运用外壳工具先把调用您的java解释器来进行加密,也就是说如果要运用这个解释器就需要有一把特定的加密锁存在,然后再运用它提供的外壳加密工具中的数据加密,把您写好的java程序(Class或JAR包)当作一个文件来处理而对他进行加密,这个加密是采用的锁里自带加密引擎(额外的)进行加密,加密之后生成新的JAVA程序。这样您的软件就只能被您保护过的java解释器来进行解释,”
hmsuccess
2008-07-06
打赏
举报
回复
http://www.cnjm.net/tech/article1525.html
老紫竹
2008-07-06
打赏
举报
回复
如果你的程序已经到了有人成批破解时,我想你不需要加密了!
sagezk
2008-07-06
打赏
举报
回复
[Quote=引用 25 楼 yetaodiao 的回复:]
加密
没有商业秘密还是开源好
[/Quote]
没错,都什么年头了,开源一样能赚钱,看看 Mozilla。
mengweilil
2008-07-05
打赏
举报
回复
apusic加密了
weblogic不加密
apusic照样没人用
aaronshai
2008-07-05
打赏
举报
回复
学习
KingNE
2008-07-05
打赏
举报
回复
[Quote=引用 12 楼 phoenix_dt 的回复:]
路过学习了
[/Quote]
加载更多回复(12)
防止
Java
程序
被
反编译
Java
语言的出现,使得
反编译
变得非常容易而
有效
。原因如下:1.由于跨平台的需求,
Java
的指令集比较简单而通用,较容易得出
程序
的语义信息;2.
Java
编译器将每一个类编译成一个单独的文件,这也简化了
反编译
的工作;3.
Java
的Class文件中,仍然保留所有的方法名称、变量名称,并且通过这些名称来访问变量和方法,这些符号往往带有许多语义信息。由于
Java
程序
自身的特点,对于不经过处理的
Java
程序
反编译
的效果非常好
java
代码保护,
防止
反编译
保护企业成果,
防止
反编译
,
有效
的保护知识产权。 欢迎下载
防止
java
反编译
的一些方法
防止
java
反编译
的一些方法
JAVA
加密 保护源代码
防止
反编译
的工具
众所周知,
java
开发语言提供了很方便的开发平台,而且开发出来的
程序
很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。
Java
有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的
程序
很容易被人
反编译
过来而据为己有,一般情况下,大多数的人都是用混编器(
java
obfuscator)来把开发出来的
程序
进行打乱以达到没有办法来
反编译
观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要
反编译
他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款
防止
反编译
工具其实都是改进了加载过程。但是加载到
JAVA
虚拟机后一样可以得到CLASS字节码的。 只要懂
JAVA
原理的人其实很用意
破解
的.
JAVA
COMPILE 这款工具就不一样了,
java
compile 它是修改了虚拟机内核, 用户目录里没有需要的
JAVA
字节码,而是当
JAVA
需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来
反编译
字节码。 真正意义上保护了
JAVA
知识产权。 个人版限制编译30个CLASS文件,文件打包方式下载。
jar包加密
防止
反编译
Java
加密Jar包和Class文件
防止
反编译
的方法,此为
防止
反编译
程序
,亲测可用。如果大神有啥
破解
方法,希望能与楼主分享下,谢谢。
Java SE
62,628
社区成员
307,261
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章