【问题标题】:How is Javascript (js) encrypted and decrypted?Javascript(js)如何加密和解密?
【发布时间】:2014-03-27 10:54:53
【问题描述】:

我正在通过研究许多文件 .js 来学习 javascript,但我什么都不懂。其中许多开头是:

(function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}function Pc(a,b){return a.href=b}...

我认为这是对代码进行加密保护的一种方法。我对吗?如果是真的,我该怎么办?如果我想解密它,请告诉我该怎么做。 谢谢。 p/s: 我是新手

【问题讨论】:

  • 这些是缩小的 javascript。你可以谷歌缩小 js 了解更多信息
  • 我们的目标只是拥有更小的文件(一些压缩器也可以让它们的执行速度稍微快一些)。
  • 能掩盖javascript的东西很少,一种是缩小,另一种是混淆。在第一种情况下(小型化),您始终可以使用某种 javascript 格式化程序来获得更清晰的 JS 版本(例如 jsbeautifier.org ),但是通过混淆,更难理解代码,因为它使用技巧使代码不可读(它仍然可以更改/修改甚至提取)。
  • 将代码粘贴到jsbeautifier.org - 它会更易读。您仍然有可怕的短变量名称和其他优化,这将使其难以阅读。
  • 粘贴到这里:jsbeautifier.org

标签: javascript encryption encode


【解决方案1】:

您无法真正加密 javascript。您可以混淆哪些使其更难阅读和缩小(可能也更难阅读,但更重要的是占用空间更小)

缩小

http://jscompress.com/ 就是这样一种缩小器。

如果您希望混淆您的代码(从而使其更难阅读,但不会使其更小(实际上通常您最终会得到 更多 个字节),您可以查看以下内容:

混淆

http://javascriptobfuscator.com/

美化

就像这里的 cmets 所说的,要“解密”这段代码,您可以转到 http://jsbeautifier.org/。虽然当它被混淆时,它不会对你有多大好处。

【讨论】:

  • 谢谢。你知道如何让它变得像 (function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}函数 Pc(a,b){return a.href=b}
【解决方案2】:

你提供的代码:

(function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}function Pc(a,b){return a.href=b}...

是JavaScript缩小。可以使用jscompress等工具进行缩小

加密,混淆用于JavaScript,用于保护您的代码,使其更难阅读和理解。也有用于混淆的工具。查看javascriptobfuscator

【讨论】:

  • 谢谢。当我阅读一段 js 代码时,我发现自己是个傻瓜,其中充满了包含 a、bc、Ig、c>0、a-1... 的函数 :( 比如 {var gc=function(a,b){var c =n.min(R(a,dc),100);if(!(La(P(a,Q))%100>=c)&&(c={},Ec(c)|..}
【解决方案3】:

这意味着 file.js 是一个压缩版本的压缩 Javascript 文件

你将不得不努力将缩小版本转换为普通的 js 文件,但我们有一些工具见下文..

http://jsbeautifier.org/

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2015-02-24
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 2014-07-12
    相关资源
    最近更新 更多