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

时间:2019-01-23 12:06:52

标签: java war obfuscation deobfuscation

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

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

我将使用的工具是:

yGuard

需要保护我的代码的最佳解决方案,请让我知道保护war文件的方法。

谢谢

1 个答案:

答案 0 :(得分:2)

迷惑是默默无闻的安全;安全专家不赞成的一种保护方法。实际上,正如评论者所说,不交付代码并将其保留在Web服务之后是将代码私有化的更好方法。我不同意切换到另一种语言会有所帮助:CPU必须能够执行您的代码,因此,通过人工可以对您的代码进行逆向工程。

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

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

开源代码混淆器的一个优点是,您可以检查混淆器是否执行了应做的工作。
假设您使用了一个不明来源(当然也被混淆)来自一个您不知道或不信任的来源(或来自一个值得信赖的来源)的混淆器。您怎么知道的:

  • 它不会在您的软件中安装后门并将其转变为木马吗?
  • 它编写正确,不会引入细微的错误或无意间泄露您的源代码吗?
  • 它本身不会窃取您未混淆的代码吗?

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