求教Java web项目一般怎样做代码混淆或加密

Python020

求教Java web项目一般怎样做代码混淆或加密,第1张

一、java web项目混淆

proguard4.8工具,说是支持war的,可混淆过后少了classes目录了,自然成功不了。网上搜的过程不详说了,最后找着--“J2EE-web工程ProGuard代码混淆07_28”,网址:http://wenku.baidu.com/link?url=CxToEqg5QWbz2_SYIxqJkpnsjOLf9K6BzJcCfVfmBB3TEvaRzFb4CRPKkZDz1K35s0XH2u6bdIJ2WfrE791v--cVqaImGKnLLLTO45u6uD_

根据提示一步步完成。

把web项目打成jar包后用proguard进行混淆,然后把混淆过后的class目录替换发布包war中的对应目录,启动运行是正常的。

主要注意利用proguard生成xxx.pro文件,然后手动加工-keep class WebRoot.WEB-INFO.lib.* 等项目中不需要混淆的包和类。

二、java web项目打成.exe

没找到免费的,这搜到个收费的--Jinstall,试了下功能挺好,

可以加密、集成jdk、tomcat,如果数据库是mysql也集成,其他数据库的话要设置数据库的url.

混淆代码 是为了防止class文件被反编译用的 但是程序的功能还是正常的 和你正常运行一样

如果连变量名都混淆了,就是说所有有具体意义的英文变量名都用a,b,c,x,y等等来表示,那这是不可能还原的,因为电脑也不可能知道你这个a实际上代表了你的年龄而那个c代表了你老婆的胸围!

但如果只是个事混淆,那网上倒有不少工具可以格式化源代码!自己搜一搜吧!推荐一款编辑器,IntelliJ,很不错,值得一提的是,我用过的众多编辑器中,这款编辑器的代码格式化功能最强大!

不需要对源代码混淆。class有这种功能的,在J2ME中混淆是必须的,结果跟你说的一样,不过原理不是你那么走的,混淆以后的class反编译也会让人看不懂,全部变成了a,b,c,d这样的名字。