200分在线等 java web项目代码混淆

buqitianxie 2012-04-17 07:40:53
有一个java web项目,最后是生成war文件发布的,有做过代码混淆的吗?我用proguard试了很久都不能生存可以正常运行的war文件,解压看好像里面的class文件都没有了,可能是配置错误,有知道的吗,解决马上结贴,分不够再开帖子!
...全文
3164 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andyzty 2014-12-01
  • 打赏
  • 举报
回复
楼主 你混好了 没 分享一下经验
骇客2003 2014-07-09
  • 打赏
  • 举报
回复
6楼是SB,你不会可以不说。
骇客2003 2014-07-09
  • 打赏
  • 举报
回复
6楼是SB。
senner_ 2014-07-09
  • 打赏
  • 举报
回复
我也要对war包混淆或者 加密 .楼主 成功了吗?说下教程啊.
buqitianxie 2012-04-19
  • 打赏
  • 举报
回复
多谢大家的意见,确实是如11楼所说情况,防不胜防,哈哈,这年头做点事还真不容易。
良才2015 2012-04-18
  • 打赏
  • 举报
回复
这样做。
其实你只能对java文件进行混淆,jsp是不可以的。
你不要导出war后进行混淆,你在导出前将所有的java文件导出为jar包,然后对该jar包使用proguard进行混淆(具体混淆规则自己定)。然后将该jar导入到项目中(放到lib下),将原java文件删除(你需要先备份),然后导出到war,直接放到tomcat下发布。
tommore 2012-04-18
  • 打赏
  • 举报
回复
人关注物的是jsp文件还是java 文件啊。
zn85600301 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Web 项目都是放在服务端运行,你认为有必要进行混淆么?
[/Quote]

大牛 真人头像 ?

混淆代码的工具 大部分是收费的

如果你不是商用 或者不想买收费的

用jbuild自带的代码混淆器

话说你是想防止别人反编译吧 如果只是安全方面还是考虑服务器的安全隔离
tommore 2012-04-18
  • 打赏
  • 举报
回复
写成servlet, 再利用诸如Marvin Obfuscator 和 JADE之类的混淆器就可以达到效果了.
  • 打赏
  • 举报
回复
Web 项目都是放在服务端运行,你认为有必要进行混淆么?
java_caoxing 2012-04-18
  • 打赏
  • 举报
回复
坐等高手解答
TommyWu01 2012-04-18
  • 打赏
  • 举报
回复
使用tomcat部署war文件,然后通过反编译器,编译所有的class文件
  • 打赏
  • 举报
回复
楼主是高手啊 小弟学习了
shine333 2012-04-18
  • 打赏
  • 举报
回复
一旦检查有问题,直接System.exit
shine333 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Web 项目都是放在服务端运行,你认为有必要进行混淆么?
[/Quote]
lz可能是部署在客户那里,而客户可能还没给钱之类的。

这个呢,你部署到人家那里,如果人家真的很懂技术,就真的很难防了。

你可以想办法

1 jni 检查 机器码(CPU/MAC等)防止部署多台
2 在各种恶心,且很难会想到的地方,检查license,比如偷换别人一般不会认为有问题的类,比如我经常偷换给客户的log4j还有mysql的jdbc驱动代码
3 在隐秘地点记录最后使用时间,并和这次启动时间比较,以免通过修改时间达到延长试用期的目的
4 在最关键的代码,做手工混淆,比如
a 非接口方法、变量,手工重构成类似的名称
b 用复杂但永远成立的公式,替代一些原本很简单的代码,比如,以下两行代码,只要i是非负数,都等价于i++

i-= (i += (~i + ~i) >> 1);
i += "Hello World".charAt((-(i + ~i) << 2) - (i + ~i)) >> (-(i + ~i) << 2) - (i + ~i);

c 用try(try里面根据情况throw不同异常)-catch-catch-finally来代替正常的if-elseif-elseif-else
buqitianxie 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

使用tomcat部署war文件,然后通过反编译器,编译所有的class文件,祝你好运。
[/Quote]
你的意思是自己直接对class文件加密,然后在tomcat加载时界面?
ylovep 2012-04-17
  • 打赏
  • 举报
回复
楼主所说的是 类似于代码编译加密?
苏星禾 2012-04-17
  • 打赏
  • 举报
回复
使用tomcat部署war文件,然后通过反编译器,编译所有的class文件,祝你好运。

81,122

社区成员

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

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