我的 Chrome 扩展中有一些敏感的 Javascript,我不想让客户看到。是否可以通过混淆来保护此代码。我不打算“设置一些障碍”,我正在寻找 100% 完全的安全性,无论使用 Chrome 扩展程序的人都无法理解 Javascript。
因为如果不是这样,只需要一个人来解密代码,我就会遇到一场灾难。那么,这可能吗?
我的 Chrome 扩展中有一些敏感的 Javascript,我不想让客户看到。是否可以通过混淆来保护此代码。我不打算“设置一些障碍”,我正在寻找 100% 完全的安全性,无论使用 Chrome 扩展程序的人都无法理解 Javascript。
因为如果不是这样,只需要一个人来解密代码,我就会遇到一场灾难。那么,这可能吗?
不,这是不可能的!
在机器上运行的每一段代码都可以不混淆,即使是 *.exe 文件!由于使用了 JavaScript,这要简单得多。
您应该将应用程序的敏感部分移至外部资源(例如服务器)。永远不要把敏感的逻辑放在客户端!
即使是用类似Assembly编写的程序也没有"100% complete security"
. 使用 NPAPI,您可以更本地化以使其更难,但没有办法获得 100% 的安全性。
因为如果不是这样,只需要一个人来解密代码,我就会遇到一场灾难。
然后寻找另一个解决方案。混淆没有 100% 完全的安全性。混淆可以减缓逆向工程,但不能阻止它。如果您的代码对于浏览器的 javascript 引擎来说是可以理解的,那么对于一个足够坚定的人来说也是可以理解的。
当您描述您想要隐藏的内容、为什么需要它以及为什么需要隐藏它时,我们可能会想出一个更好的解决方案。
不,您永远无法保护客户端 javascript。对于坚定的黑客来说,混淆只是一个小障碍。它不是任何形式的安全性,它甚至不接近您要求的“100% 完全安全性”。您根本无法使用基于客户端的代码获得这种类型的安全性,尤其是基于客户端的 javascript 代码。
如果您希望您的算法或实现安全,因此无法看到代码,那么您必须在服务器上实现该部分代码,以便您可以保护和控制对代码的访问。然后,您在客户端上的扩展程序可以要求服务器使用安全代码为其执行任务。