加密jQuery JavaScript文件

4

我有一整套jQuery代码,如何防止用户看到实际代码,或者如何加密.js文件。

请建议开源方案。

谢谢 Jean

[编辑] 我不想让用户知道我是如何编写代码或复制我的代码的。

[编辑] 一旦使用了base62编码,它能被反向工程吗?


不完全正确。我学习几乎所有的编程知识都不是通过学校,而是出于渴望学习的心态。我正在寻找像你这样的人,去搜索、提取他们,起诉那些窃取我的代码或侵入我的代码的人,并找出完成某些事情的方法。我并没有提供一个开源应用程序来公开给出代码。请注意,我在这里只是要求解决我的问题,而不是阅读五行哲学文章。 - X10nD
1
这并不是我的目的给你一个解决方案(这就是为什么我进行了评论而不是回答)。 我只是想通过我的经验,给你一些发人深省的思路。记住你想要实现的任务是不可能的,找到最适合你和你的代码的甜蜜点。 - Stefano Borini
7个回答

5

请查看Dean Edwards的packer工具,它可以对你的JS进行编码。你需要让你的JS文件可读,否则浏览器将无法下载它。


3
使用base62编码是一个很好的方式来让您的脚本被反病毒工具封锁,同时也会让您的网页看起来像受到了感染。因为大多数使用这种编码的脚本都是浏览器攻击,所以反病毒工具对这种技术的误报非常敏感。 - bobince
@bobince 我尝试了base62,AV似乎没有问题,你能否提供任何有问题的AV给我。谢谢,这将非常有帮助。 - X10nD
您可以提交到像virustotal.com这样的服务,以获取有关脚本的杀毒软件的概述。它将高度依赖于脚本中的内容是否触发FP,并且随着时间的推移可能会发生变化。 - bobince

4
你无法防止用户查看Javascript文件的源代码:它是由用户的浏览器执行的,这意味着必须在客户端可读。最好的做法是压缩/混淆它;例如,可以参考YUI Compressor,它用于压缩JS文件(使其更小,传输速度更快),但也具有一些混淆功能。这将使您的Javascript代码更难阅读/理解——但是真正有动机的人仍然能够阅读它;嗯,这需要一些时间和一点工作,但仍然是可能的。

2
你可以使用谷歌闭包编译器。闭包编译器将JavaScript编译成紧凑的代码,同时混淆代码,虽然仍然可读,但难以追踪并需要更长的时间。 http://code.google.com/closure/

1

我下载了PHP打包器,你能帮我使用它吗? - X10nD

1

加密你的js文件其实没有太大意义,因为每个人都知道可以查看任何网站的源代码。我相信有一些针对javascript的加密器,但用户必须下载解密模块才能解密它。而且由于浏览器需要解释代码,所以很可能不难规避。

你可以混淆代码,但我建议使用缩小技术来做这件事,更多是出于性能原因而非隐藏代码,有些混淆器比其他混淆器更具侵入性,但同样,代码可以重新格式化,尽管原始变量名将无法恢复。


由于解密JS所需的加密密钥(和算法)将可被最终客户端访问,任何足够聪明的用户都有可能自己找出如何解密它。 - saret

0

你无法加密在客户端运行的 JavaScript。浏览器需要未加密的代码才能执行它!


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接