我将混淆器与springmvc应用程序和maven一起使用。我的pom.xml的构建部分如下所示:myappcom.pyx4meproguard-maven-pluginpackageproguardtrue-->-keeppublicclass-->-->${project.build.finalName}${project.build.finalName}com.myapp.*我也试过:${project.build.finalName}.war当我运行时:mvncleaninstall构建失败信息:[proguard]Readingprogramwar[/Users/me/dev
我正在使用ProGuard混淆我的.jar程序。一切正常,除了ProGuard不会混淆方法主体中的局部变量。这是一个例子:原始:混淆:以黄色突出显示的变量名称应该被混淆,但不是。我如何也对它们进行混淆(将它们重命名为a,b,c等?)这是我的ProGuard配置:http://pastebin.com/sb3DMRcC(以上方法不是来自排除的类之一)。 最佳答案 Whyproguarddoesnotobfuscatemethodbody?因为它不能。方法参数和局部变量的名称在编译时根本不会存储。您看到的名称是由反编译器生成的。对于已编
可以轻松提取.jar文件并查看源代码。我想保护源代码不被看到。一种可能的答案是像我们对zip文件所做的那样使用密码保护文件。但是,如果知道密码,则可以轻松查看源代码。有什么方法可以隐藏源代码并且仍然可以运行吗?类似于.exe在Windows中的作用。这应该在Windows和Linux环境中运行。 最佳答案 看看ProGuard,它是一个流行的java混淆器。至于将您的java程序打包为windows可执行文件,这篇文章可能会对您有所帮助:HowcanIconvertmyJavaprogramtoan.exefile?
数组.jsp://...varx=processExternalArrays();//...我想缩小/混淆包含在大型JSP文件中的JavaScript,其中许多JSP/JSTL变量混合到JavaScript代码中,例如上面的代码片段。代码依赖于使用服务器端逻辑填充的变量,然后传递给客户端代码,如上所述。我已经在使用YUI压缩器缩小我的JS文件,但我不知道如何处理我的JSP中的JavaScript代码。鉴于此代码是动态创建的,是否可以缩小/混淆此代码? 最佳答案 对您来说最好的解决方案可能是使用GranuleJSP标记。您可以在htt
这个问题在这里已经有了答案:HowdoIsecurelystoreencryptionkeysinjava?[closed](4个答案)关闭7年前。我正在从事一个软件项目,应用程序最终将在不受信任的环境中运行。我需要执行一些辅助加密签名(这意味着这不是保护数据的主要方式),但不希望将key留在普通View中:privatestaticfinalStringprivateKey="00AABBCC....0123456789";我可以使用什么方法来合理地保护它?我知道没有什么是完整的证据,但这会在安全墙中增加一个额外的层。澄清一下:我得到了本质上是一个字符串的东西,我不希望在调试器中或通
混淆Java程序会影响其性能(不包括重命名)吗? 最佳答案 绝对是的:除了在最简单的情况下,只有标识符名称被打乱,这只是影响性能的问题。更多详细信息,例如here,有关混淆技术的一般信息可在Obfuscatedcode中找到。维基百科文章。 关于java-混淆会影响性能吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2454502/
我正在编写一种检查客户序列号是否与我的硬编码号码匹配的方法。有没有办法让它尽可能难以阅读,以防不受欢迎的人接触到代码?我在java工作。例如(伪代码)if(x!=y)跳出代码并返回错误干杯,如果这有点奇怪,我们深表歉意 最佳答案 通过默默无闻来确保安全始终不是一个好主意。你不需要回避它,但你不应该完全相信它。要么使用您在服务启动时键入的key加密您的序列号,要么只将序列号指定为十六进制或base64,而不是ASCII。 关于java-使一行代码难以阅读,我们在StackOverflow上
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我过去使用过java混淆器,有些很容易进行逆向工程。我想也许它还不够混淆。应用两阶段混淆是错误的还是有问题的?混淆ProGuard用商业产品结束它ZelixKlassmaster--或者这是一个糟糕的方法?是否应该只使用一个混淆器?
我有一个需要多个密码才能工作的Akka项目:访问数据存储、分布式文件系统连接字符串...这些值没有硬编码在配置文件中,而是在应用程序启动期间在运行时从keystore中提取,然后存储在类型安全配置对象的内存中,因为第三方使用此配置获取密码并打开连接。我只是想知道这是否有风险,因为我猜这些字符串在内存中是清晰的。有没有办法透明地混淆/加密这些值?或者我是否需要在我这边实现它,并更新第三方以便他们在实际打开连接之前转换字符串。 最佳答案 在我看来,几乎在每个应用程序中,您都不应该担心安全风险。由于Scala在JVM上运行,请参阅:Sen
启动我的应用程序时记录了两个错误,但仅在混淆之后。没有混淆就没有错误。除非我被误导,否则错误如下:classPropertydeclaresmultipleJSONfieldsnameda类PropertyDefinition也是如此。05/1803:33:19.465java.lang.IllegalArgumentException:classPropertyDefinitiondeclaresmultipleJSONfieldsnameda:com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFie