spring 项目如何做代码混淆或者加密
2013-05-01 14:07
363 查看
发表于: 2011-03-09 16:41:33
spring 项目里涉及到了 反转回调 等关键技术,而很多关键内容全都写在了xml配置文件中,如果单独对代码进行 混淆,spring项目就会因为无法认出xml里的关键字段值 而无法正常使用了。请有相关经历者予以指导,谢谢。
-------------------------------
你可以将这些重要信息加密后 写在XML
然后重写spring的一些加载时的方法 在加载时解密
--------------------------------------------
重要信息进行加密后写在xml里,但项目在进行代码混淆加密时,class文件如果被修改了名称或也被加密了。项目在运行时,是否还能识别出来?
我想说的再清楚些,比如一个事务类 Abusiness.java,在spring framework里是需要在xml进行登记的,便于项目允许时对javabean进行IOC调用。
<bean id="A01" class="com.bag.business.A01Business">
<property name="a01Business" ref="a01Business"></property>
</bean>
但一般的代码混淆后, com.bag.business.A01Business.java文件会被改名,这样项目运行时,spring就无法按照xml里的配置进行实例化javabean了。
目前,没有找到专门为WEB项目进行整体混淆加密的方案。只有对class文件进行混淆的工具,例如:jocky与proguard两种方式, jocky比较好用,可以集成到myeclipse里,使用也很方便。但要保留XML里的IOC类名,就要加上相应的混淆注释等等。需要对代码进行修改。 proguard虽然不用修改代码,但要编写一定的混淆配置文件,需要保留的类名或类方法就要进行相应的设置。 混淆效果来看,本人认为,jocky混淆的更出色,反编译难度更高。
jocky只支持到1.5,用了calssloader来解密class是可以,但是spring他通过asm、bcel自己加载class文件,怎么办呢
spring 项目里涉及到了 反转回调 等关键技术,而很多关键内容全都写在了xml配置文件中,如果单独对代码进行 混淆,spring项目就会因为无法认出xml里的关键字段值 而无法正常使用了。请有相关经历者予以指导,谢谢。
-------------------------------
你可以将这些重要信息加密后 写在XML
然后重写spring的一些加载时的方法 在加载时解密
--------------------------------------------
重要信息进行加密后写在xml里,但项目在进行代码混淆加密时,class文件如果被修改了名称或也被加密了。项目在运行时,是否还能识别出来?
我想说的再清楚些,比如一个事务类 Abusiness.java,在spring framework里是需要在xml进行登记的,便于项目允许时对javabean进行IOC调用。
<bean id="A01" class="com.bag.business.A01Business">
<property name="a01Business" ref="a01Business"></property>
</bean>
但一般的代码混淆后, com.bag.business.A01Business.java文件会被改名,这样项目运行时,spring就无法按照xml里的配置进行实例化javabean了。
目前,没有找到专门为WEB项目进行整体混淆加密的方案。只有对class文件进行混淆的工具,例如:jocky与proguard两种方式, jocky比较好用,可以集成到myeclipse里,使用也很方便。但要保留XML里的IOC类名,就要加上相应的混淆注释等等。需要对代码进行修改。 proguard虽然不用修改代码,但要编写一定的混淆配置文件,需要保留的类名或类方法就要进行相应的设置。 混淆效果来看,本人认为,jocky混淆的更出色,反编译难度更高。
jocky只支持到1.5,用了calssloader来解密class是可以,但是spring他通过asm、bcel自己加载class文件,怎么办呢
相关文章推荐
- 对加密系统下的项目代码如何进行解密
- java源代码加密+使用proguard混淆java web项目代码+自定义Classloader
- 使用Allatori对Spring Boot项目进行代码混淆
- 最近做了项目写的混淆加密代码,保留下来,下次备用
- 如何混淆Android项目代码(ProGuard)
- Cordova Android项目如何做代码混淆
- 主要通过你的行为看你的编程能力,除了让你做算法题外,更重要的是你实际写过的代码和项目,效率如何?有没有考虑过异常处理?实际的访问性能如何?有没有开过自己的 github 项目,或者是给知名项目贡献过源
- spring&maven项目代码混淆的经验分享
- Cordova Android项目如何做代码混淆
- 如何混淆Android项目代码(ProGuard),防止反编译
- 如何混淆Android项目代码(ProGuard)
- java源代码加密+使用proguard混淆java web项目代码+自定义Classloader
- Android项目代码混淆(加密),添加混淆配置文件
- springboot项目代码如何使用Disconf
- 如何混淆Android项目代码(ProGuard),防止反编译
- Android 项目如何添加代码混淆
- SpringBoot项目如何访问jsp页面的示例代码
- Android项目代码混淆(加密),添加混淆配置文件
- 如何在java代码中调用一个web项目jsp或者servlet
- 如何混淆Android项目代码(ProGuard)防止反编译