Dea*_*lze 9 obfuscation reverse-engineering java-ee
我们有几个JavaEE 6应用程序(.war文件),我们需要防止逆向工程,但似乎没有很多选项可用.
我喜欢JarCrypt/JInstaller产品中使用的加密.jar文件(SJAR)的想法,但目前尚不清楚JarCrypt/JInstaller是否可以在JavaEE 6应用程序中运行.像Glassfish3.1这样的服务器.加密的SJAR文件必须使用自定义类加载器由本机库解密,因此显然我必须向Glassfish添加自定义类加载器.
有没有人使用过JInstaller/JarCrypt技术?它们是否在Application Server中工作?
我也看过混淆,但对于JavaEE应用程序,存在很多问题.我将不得不单独留下所有Web服务和JNDI查找.使用像abcMyClass.class这样的东西(即创建log4j Loggers)是有问题的.读取日志文件变得困难.对于所有这些问题,混淆确实几乎没有什么可以保护我们的代码.
我试过Proguard,但显然它无法处理JavaEE 6库.
还有其他替代方案或者这些是关于我的所有选择吗?
谢谢.
您是否会将这些应用程序交付给将在其基础设施上运行的第三方?那么加密对你根本没有帮助,因为 JVM 无法执行加密的字节码,并且从正在运行的应用程序检索加载的类文件是微不足道的。
看一下GuardIT for Java - 迄今为止我还没有使用它的经验,但至少供应商声称它是专门为保护 Java Web 应用程序而设计的。
如果您的应用程序在 Tomcat 上运行,您可以将它们编译为本机代码。或者他们是否需要完整的 Java EE 应用服务器?