谷歌中的javascript - 它在做什么?它是否正在尝试加密其工作

cha*_*cko 8 javascript

谷歌中的第一个javascript <script> </ script>看起来像这样:(注意我已经使用了jsbeautifier.org来很好地渲染它)

window.google = {
kEI: "Eqx4TailJIez8QOhrtAxSw",
kEXPI: "17259,17291,28460,21559,28595,28605,29014,29135,29249,29254,29265,29279",
kCSI: {
    e: "17159,17291,21460,28559,28595,28605,29014,29135,29249,29254,29265,29279",
    ei: "Ex4TailJIez8QOhrtGwBA",
    expi: "17159,17291,28460,28559,28595,28605,29014,29135,29249,29254,29265,29279"
},
ml: function () {},
pageState: "#",
kHL: "en",
time: function () {
    return (new Date).getTime()
},
log: function (c, d, b) {
    var a = new Image,
        e = google,
        g = e.lc,
        f = e.li;
    a.onerror = (a.onload = (a.onabort = function () {
        delete g[f]
    }));
    g[f] = a;
    b = b || "/gen_204?atyp=i&ct=" + c + "&cad=" + d + "&zx=" + google.time();
    a.src = b;
    e.li = f + 1
},
lc: [],
li: 0,
j: {
    en: 1,
    l: function () {
        google.fl = true
    },
    e: function () {
        google.fl = true
    },
    b: location.hash && location.hash != "#",
    bv: 5,
    pl: [],
    mc: 0,
    sc: 0.5,
    u: ""
},
Toolbelt: {} };
Run Code Online (Sandbox Code Playgroud)

有人可以说明它的作用吗?它是否捕获有关我的信息?或者他们只是试图加密他们的JavaScript来保护他们的代码?

非常感谢,

Ste*_*ung 10

它能做什么:

显然,这段代码定义了顶级全局google对象,它具有一个主要功能google.log.

google.log似乎从网址抓取一个图像:www.google.com/gen_204?atyp=...带有时间戳以避免缓存.加载此图像后,它会自行删除.

google.log 然后似乎使用一些跟踪机制(类似于Google Analytics)来跟踪对页面的访问.


奇怪混淆的解释:

所有Google代码均由Closure Compiler在高级模式下编译,该模式会自动模糊整个网站.

Dojo库是唯一可以与Closure Compiler的高级模式一起使用的常见JavaScript库(在Closure库之外).

编译代码与纯文本代码具有完全相同的行为,除了它更小(平均25%以上),运行速度更快(特别是在移动设备上),并且几乎不可能进行逆向工程,即使经过了美化,因为整个代码库(包括库)是混淆的.

只有"缩小"的代码(例如YUI压缩器,Uglify)可以在通过美化器后轻松进行逆向工程.

您以前只阅读过"缩小"的JavaScript.Closure Compiler比这更进一步.

  • 斯蒂芬,通过'封闭编译器'编译的代码仍然是javascript.它可能很难逆向工程,但它仍然是javascript.因此,我们应该能够知道它的作用. (2认同)

Pet*_*ter 8

看起来这段代码正在收集有关您的DNA的所有信息.然后他们验证它是否具有优质.

我只能猜测他们会用这种方法将它与其他人的优秀DNA结合起来,创造出最终的人类.

- - 要么 - -

它可能只是无聊的混淆javascript,这与请求的url如何建立有关.

我希望这是第一次!