我想做一个JavaScript应用程序,不是开源的,因此我希望学习如何可以混淆我的JS代码?这可能吗?
当前回答
作为JavaScript/HTML/CSS混淆器/压缩器,你也可以尝试Patu Digua。
其他回答
解释型语言的问题在于,你要发送源代码才能让它们工作(除非你有一个字节码的编译器,但话说回来,反编译是相当简单的)。
因此,如果您不想牺牲性能,您只能对变量和函数名进行操作,例如。用a, b…aa、ab……或者a101 a102等等。当然,尽可能多地删除空间/换行符(这就是所谓的JS压缩器所做的)。 如果您必须实时加密和解密字符串,那么混淆字符串将会对性能造成影响。加上一个JS调试器可以显示最终值…
Dean Edward's Packer是一个很好的混淆器,尽管它主要是混淆代码,而不是代码中可能存在的任何字符串元素。
参见:在线Javascript压缩工具,并从下拉菜单中选择Packer (Dean Edwards)
非开源的基于javascript的应用程序是相当愚蠢的。Javascript是一种客户端解释语言。混淆不是什么保护…
JS混淆通常是为了减少脚本的大小,而不是“保护”它。如果你不希望你的代码是公开的,Javascript不是正确的语言。
市面上有很多工具,但大多数都有“压缩器”(或“迷你器”)的名字。
与大多数其他答案相反,我建议反对YUI压缩机;你应该使用谷歌闭包。
不是因为它压缩更多,但主要是因为它会捕捉javascript错误,如a = [1,2,3,];这让IE失去了控制。
我已经使用Jasob多年了,它无疑是最好的混淆器。 它有一个高级的用户界面,但仍然直观和易于使用。 它还可以处理HTML和CSS文件。
使用它的最好方法是给所有私有变量加上下划线之类的前缀,然后使用排序功能将它们组合在一起,并将它们作为混淆的目标进行检查。
用户仍然可以查看您的源代码,但是当您的私有变量从_sUserPreferredNickName转换为。
该引擎将自动统计目标变量的数量,并优先考虑它们以获得最大的压缩。
我不是为雅各布工作,我从推销他们中得不到任何东西,只是提供一些友好的建议。 缺点是它不是免费的,而且有点贵,但与其他选择相比还是值得的——“免费”选项甚至无法相提并论。