社区
Java
帖子详情
如何防止Java程序被反编译
GoldTiger
2005-08-05 07:59:40
如何防止Java 的Class类程序被反编译
...全文
1335
34
打赏
收藏
如何防止Java程序被反编译
如何防止Java 的Class类程序被反编译
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pshpan
2006-07-04
打赏
举报
回复
混淆器,再参杂点杂七杂八的代码
china2001ok
2006-06-24
打赏
举报
回复
干嘛要这样呢 不是提倡开源么
UnAgain
2006-06-03
打赏
举报
回复
到IBM developer搜索java源代码加密,有几篇好文章
Tony_OY
2006-05-26
打赏
举报
回复
频繁用exception机制很对运行效率可是大打折扣.
元气满满的码农
2006-05-15
打赏
举报
回复
哪位有jade给我发一个,qianjingfan@163.com谢谢
boxzang
2006-04-25
打赏
举报
回复
给个混淆器的例子呢
Preamble
2006-04-23
打赏
举报
回复
shine333(enihs) ( ) 信誉:125
还有就是在关键代码处改变写作风格
比如,
if ("a".equals(x)) {
y++;
} else if ("b".equals(x)) {
y--;
} else {
y+=10;
}
可以改为下面代码,看了反编译的代码之后一定惨不忍睹
try {
if ("a".equals(x)) {
Object o = null;
o.toString();
} else if ("b".equals(x)) {
char c = x.charAt(2);
} else {
throw new Exception(); // 需要显示throw来破坏try-catch为break-label操作
}
} catch (NullPointerException ex) {
y++
} catch (IndexOutOfBoundsException ex) {
y--;
} catch (Exception ex) {
y+=10;
}
看来zuihao些垃圾代码·!不用混都没人看
强人!
xueyi0108
2006-04-05
打赏
举报
回复
mark
boydream
2006-04-04
打赏
举报
回复
关注~~~
gzshenlong
2006-03-30
打赏
举报
回复
java开发的程序的保护
众所周知,java开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。
Java有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人复制而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要反编译他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢?
以色列阿拉丁公司提供的HASP HL加密锁提供的外壳加密工具中有一个叫做数据加密的功能,这个功能能更好的防止去除api的调用,各位都知道:硬件加密锁的保护原理就是要您被加密过的软件和加密锁的硬件要紧紧地结合在一起,而且不容易被轻易的剔出原来的调用,这样才能更好的保证您的软件不被盗版,同时这种方式也很容易被程序员掌握,要对一个软件实现保护,只需要几分钟的时间就可以了,下面简单介绍一下他的原理:
运用阿拉丁公司提供的外壳工具先把调用您的java解释器来进行加密,那么就是说如果要运用这个解释器就需要有一把特定的加密锁存在,然后我们再运用它提供的外壳加密工具中的数据加密功能,把您写好的java程序代码class文件进行数据加密产生新的文件来代替(加密过后的class文件是乱码,这时采用任何反编译工具都编译不出),然后再用加密过后的java解释器来调用,这个加密是采用的AES128位的算法的,这样这个加密过的数据文件——您的软件就只能被您保护过的java解释器来进行解释,但是在没有加密锁的情况下就不能够运行您的软件,或者是在有锁的情况下也看不到软件代码从而达到真正保护您的软件的目的。
我们作为以色列aladdin加密锁的代理商,很愿意和您分享这样的保护方式,如果您对我们的产品感兴趣,我们公司将提供产品测试!
联系人 龙令军 13538771708
邮件 :long@hzbhasp.com.cn
英文网址:http://www.ealaddin.com
中文网址:http://www.ealaddin.com.cn
QQ 501623419
iwlk
2006-03-09
打赏
举报
回复
还有就是在关键代码处改变写作风格
比如,
if ("a".equals(x)) {
y++;
} else if ("b".equals(x)) {
y--;
} else {
y+=10;
}
可以改为下面代码,看了反编译的代码之后一定惨不忍睹
try {
if ("a".equals(x)) {
Object o = null;
o.toString();
} else if ("b".equals(x)) {
char c = x.charAt(2);
} else {
throw new Exception(); // 需要显示throw来破坏try-catch为break-label操作
}
} catch (NullPointerException ex) {
y++
} catch (IndexOutOfBoundsException ex) {
y--;
} catch (Exception ex) {
y+=10;
}
强人, 但是有个问题, 速度应该会下降吧,
Student02370236
2006-03-08
打赏
举报
回复
连自己都不知道在写什么是“最高境界”
Saro
2006-03-05
打赏
举报
回复
shine333真强。
笑得在地上打滚。
楼主明白了吧,把程序写得谁也看不懂就是最好的方式了哩。
prentice1001
2006-02-28
打赏
举报
回复
强人shine333(enihs) ( )
panzi667
2006-02-28
打赏
举报
回复
楼上是强人
creating_myth
2006-02-28
打赏
举报
回复
不行的呀,我试过了,用jad反编译出来很完整的。
shine333
2006-02-17
打赏
举报
回复
还有就是在关键代码处改变写作风格
比如,
if ("a".equals(x)) {
y++;
} else if ("b".equals(x)) {
y--;
} else {
y+=10;
}
可以改为下面代码,看了反编译的代码之后一定惨不忍睹
try {
if ("a".equals(x)) {
Object o = null;
o.toString();
} else if ("b".equals(x)) {
char c = x.charAt(2);
} else {
throw new Exception(); // 需要显示throw来破坏try-catch为break-label操作
}
} catch (NullPointerException ex) {
y++
} catch (IndexOutOfBoundsException ex) {
y--;
} catch (Exception ex) {
y+=10;
}
gushansanren
2006-02-15
打赏
举报
回复
可以自己把类文件加密或做什么运算。在调用的时候,自己写一个加载类的继承类,重载classload()方法,自己再变会来就行了。绝对比混淆器好用。
hcmsxy
2006-02-02
打赏
举报
回复
自己使用任何一种方法将class加密,使用运行时解密加载。
提供一个思路。
jxdn_yang
2006-01-23
打赏
举报
回复
还是不要混淆的好,不然好代码可以研究下了
加载更多回复(12)
Android
反编译
工具
Android
反编译
工具,博客请见:Android APK
反编译
详解(附图) http://blog.csdn.net/sunboy_2050/article/details/6727581
最全的Android
反编译
工具包_Androidfby+apk2
java
一键
反编译
最全的Android
反编译
工具包_Androidfby+apk2
java
一键
反编译
,让你直接看到别人的布局文件,和jar源码,帮助你快速熟悉Android app开发内幕
MyEclipse
反编译
Class文件工具
很使用的
反编译
Class文件的工具,
反编译
之后就可以查看class的源代码
jd-gui.exe
反编译
查看工具包官方绿色版
jd-gui.exe 工具类 用于查看
反编译
的jar包
mac下apk
反编译
工具,包括apktool、dex2jar、jd-gui
mac下apk
反编译
工具,包括apktool、dex2jar、jd-gui
Java
51,396
社区成员
85,837
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章