.Net 组件用于 JavaScript 混淆?

Posted

技术标签:

【中文标题】.Net 组件用于 JavaScript 混淆?【英文标题】:.Net Component for JavaScript Obfuscation? 【发布时间】:2010-12-25 05:24:37 【问题描述】:

是否有任何用于混淆 javascript 的 .Net 组件?我正在动态生成 JavaScript 并通过 ClientScript.RegisterClientScriptBlock 发出。我想让其他人更难查看和修改该脚本。

注意事项:

是的,我知道 JavaScript 混淆只会给认真的开发人员带来不便。 我确实打算添加(非混淆)版权声明。 生成 JavaScript 的 C# 程序是我真正的增值。观众将无法使用该来源。不过,我想掩盖它创建的函数和数据。

谢谢!

【问题讨论】:

仍在寻找......我看到了会混淆的独立 GUI,以及压缩代码的库。有什么两者兼而有之??? 【参考方案1】:

您可以从 .NET 调用 Google 的 Closure Compiler,这是一个示例:

http://madskristensen.net/post/Use-Googles-Closure-Compiler-in-C.aspx

或者有一个 YUI Compressor 的 .NET 端口:

http://www.codeplex.com/YUICompressor

【讨论】:

【参考方案2】:

尝试使用 YUI Compressor for .Net。它不会混淆,但至少会压缩。您将其用作 dll。

http://yuicompressor.codeplex.com/

【讨论】:

【参考方案3】:

上面提到的 Darin Dimitrov 的 Ajax Minifier 已经更新,包括混淆和缩小功能。它还旨在与您的构建和发布过程一起使用。

【讨论】:

【参考方案4】:

也许你可以试试JS cruncher 或stunnix

【讨论】:

我没有看到可以从 .Net 程序以编程方式调用其中任何一个。这些是仅 GUI 的吗?【参考方案5】:

你可以看看微软最近发布的Ajax Minifier,它在内部使用。

【讨论】:

刚刚试了一下。与 .Net 很好地集成。然而,“紧缩”的输出与原始输出几乎没有什么不同。它看起来尽量减少空白字符,但甚至不会将变量和函数名称重命名为更短的名称。

以上是关于.Net 组件用于 JavaScript 混淆?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript回调混淆

ASP.NET身份DbContext混淆

JavaScript加密代码反调试

JavaScript加密代码反调试

混淆 C++ 中的 & 和 *

谁给推荐个c++代码混淆工具