2011-11-01 57 views
2

我想使用混淆器(例如ProGuard)来保护我的Web应用程序中的IP。我知道混淆字节码的局限性,并且可以反编译它。但是,如果我知道网络服务器上存在混淆的战争文件,我感觉会好一点... 使用ProGuard进行第一次测试后,我怀疑他们使用“入口点”的方法对使用SpringMVC的Web应用程序是否有用。 ..和春天。如果我必须“保留”所有的@Repository,@Service,@Controller和@Component注释类,并为此将它们排除在混淆之外,那么这样一个工具的主要问题就不会实现。我读过,我应该使用基于Java的Spring配置,而对于Spring 3.1,这方面有很多改进,但是值得使用它?任何工具真的可以混淆Spring Beans吗?是值得尝试的Spring应用程序的混淆吗?

Dominik

+0

如果这是一个未在客户机上部署的Web应用程序,那么它肯定不值得。如果是,它*可能*,但我通常会持怀疑态度。 –

回答

7

模糊服务器端代码没有意义。

如果攻击者能够在您的服务器的文件系统,该文件.war将是你最问题

6

我会跟Bozho同意,这是只安装自己控制的服务器上的条件,但也有病例在那里你可以发送给客户,你想要的东西像简单的DRM,然后你想混淆为增加保护。

我从来没有用过Spring,但是你面临的问题听起来像是一个常见的混淆问题,你不能保护入口点,因为在某些时候某些不知道混淆的东西需要调用它。

如果可能的话,我建议重构,让入口点类变为哑壳,通过调用包含实现的混淆类。

一个额外的音符,它总是有用使用反编译器在你混淆的JAR,你会看到很快你混淆的努力有多成功了&什么重要的代码是未进行模糊处理,那么你就可以调整配置&改善混淆。

0

我希望这个问题还没有回答。

我有@Dominik表达的同样的问题。

如果我们继续@Repository,@Service,@Controller,@Component,@Entities,@Transactional & @Cachable完好,它没有意义在所有混淆。如果我错了,请纠正我。 任何人尝试任何不同的方法来混淆Spring MVC代码?