我想使用混淆器(例如ProGuard)来保护我的Web应用程序中的IP。我知道混淆字节码的局限性,并且可以反编译它。但是如果我知道网络服务器上有一个混淆的war文件,我感觉好一点...... 在使用ProGuard进行首次测试之后,我想知道他们的“入口点”方法是否对使用SpringMVC和Spring的Web应用程序有用。如果我必须“保留”我的所有@Repository,@ Service,@ Controller和@Component注释类,并因此将它们排除在混淆之外,则不会满足此类工具的主要问题。我读过,我应该使用基于Java的Spring配置,而在Spring 3.1中,这方面有很多改进,但值得使用它吗?任何工具都可以真正混淆Spring Beans吗?
多米尼克
答案 0 :(得分:7)
模糊服务器端代码毫无意义。
如果攻击者进入您的服务器文件系统,.war
文件将是您最不容易的问题
答案 1 :(得分:6)
我同意Bozho,条件是它只安装在您控制的服务器上,但是有些情况下您可以发送到您想要简单DRM之类的东西的客户端然后您想要混淆了小添加的保护。
我从来没有使用过Spring,但是你的面孔听起来像是一个常见的混淆问题,你无法保护入口点,因为在某些时候不知道混淆需要调用它。
如果有可能我会建议重构,这样你的入口点类就变成了愚蠢的shell,它们会调用包含实现的混淆类。
另外需要注意的是,在混淆的Jar上使用反编译器总是很有用,你很快就能看到你的混淆工作取得了多大的成功。什么重要的代码没有被混淆,你可以调整配置&改善混淆。
答案 2 :(得分:0)
我希望这个问题尚未得到解答。
我有同样的问题@Dominik所表达的。
如果我们保留@ Repository,@ Service,@ Controller,@ Component,@ Entities,@ Transactal& @Cachable完好无损,根本没有混淆。如果我错了,请纠正我。 有人试过任何不同的方法来混淆Spring MVC代码吗?