使用开源工具进行混淆是否安全?

Is it safe obfuscating with opensource tools?

我目前正在混淆我的代码,我将使用免费工具来混淆我的代码。 代码在 java 中,我想确保代码安全,因为我将向客户提供 war 文件。

我的问题是,使用开源工具进行混淆是否安全,或者是否有任何其他方法来混淆代码或保护 war 文件。

我将使用的工具是:

yGuard

需要最佳解决方案来保护我的代码,请告诉我保护 war 文件的方法。

谢谢

混淆是通过模糊来保证安全;一种安全专家不赞成的保护方式。事实上,正如评论者所说,不运送代码并将其保存在网络服务后面是保持代码私密性的更好方法。我不同意切换到其他语言会有帮助:CPU 必须能够执行您的代码,因此通过人工努力您的代码可以被逆向工程。

混淆的源代码或中间代码可以阻止试图窃取您的代码的攻击者。

代码混淆器可以执行多种操作来混淆您的目标代码。对于其中的大多数,它们的模糊性不一定来自混淆器代码的模糊性。随机化是使目标代码变得模糊的更好方法。

开源代码混淆器的一个优点是您可以检查混淆器是否执行了它应该执行的操作。
假设您使用来自您不知道或不信任的来源(或据称可信赖的来源)的封闭源(当然是混淆的)混淆器。你怎么知道的:

  • 它不会在您的软件中安装后门并将其变成特洛伊木马?
  • 它编写正确并且没有引入细微的错误或无意中暴露您的来源?
  • 它本身不会窃取您未混淆的代码吗?

我知道在实践中,多眼原则并不像一些开源倡导者所相信的那样伟大。但它仍然比来自 dubius 供应商的专有混淆器更可取。