Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно переписать скрипт (https://javascript.ru/forum/misc/65487-nuzhno-perepisat-skript.html)

Zer0 21.10.2016 19:51

Нужно переписать скрипт
 
Доброго времени суток! Имеется некоторый скрипт, который на выходе дает 2 куки: n_js_d и n_js_t. Вторым является время в UNIX, первый имеет столько же цифр, но непонятно как генерируется(по крайней мере для меня). Мне нужно переписать функцию генерации под Delphi, но увы в JavaScript я, мягко сказать, не силен. Поэтому был бы очень благодарен, если бы кто нибудь расписал алгоритм генерации.
Собственно сам скрипт:
Код:

if (typeof(n_js_once_lock) == 'undefined') {
    (function() {
        var d = document;
        var g = 0;
        var a = d.createElement('canvas');
        if (a) {
            var x = a.getContext('2d');
            var t = +[] + +[+[+!+[] + !+[] + !+[] + !+[] + !+[]] + [+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[]] + [+!+[] + !+[]] + [+!+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[]]] + +[+[+!+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+[]] + [+!+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]]] + +[+[+!+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]]] + +[+[+!+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]]] + +[+[+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[]] + [+!+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[] + !+[]]];
            var e = function(stdlib) {
                'use asm';
                var s = stdlib.Math.sqrt;
                var i = 0;
                var t = 0;
                var g = 0;

                function h() {
                    return g | 0;
                }

                function a(n) {
                    n = +n;
                    t = ~~s(n);
                    for (i = 3;
                        (i | 0) < (t | 0); i = (i | 0) + 2 | 0) {
                        g = (g | 0) + 1 | 0;
                        if (n % +~~i == 0.0) {
                            t = ~~(n / +~~i + +~~i);
                            break;
                        }
                    }
                    return t | 0;
                }
                return {
                    a: a,
                    h: h
                };
            }(window);
            var t1 = Date.now();
            t = e.a(t);
            g = e.h();
            t1 = Date.now() - t1;
            if (x) {
                var m = new Image();
                m.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAABCAIAAAAw6DswAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAASAAAAEgARslrPgAAACRJREFUCNd1i7ENACAMgOD/o3FwaWxkgwRZVIBaqbc8yp+5AAefXxICaUKU0QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0xMC0yMVQxOTozODoxOSswMzowMMyTGJcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMTAtMjFUMTk6Mzg6MTkrMDM6MDC9zqArAAAAAElFTkSuQmCC';
                m.onload = function() {
                    x.drawImage(m, 0, 0);
                    var h = 0;
                    for (var i = 31; 0 <= i; i--) {
                        var c = x.getImageData(i, 0, 1, 1).data;
                        h = h * 2;
                        0 < c[0] && h++;
                    }
                    h ^= t;
                    0 > h && (h += 4294967296);
                    d.cookie = 'n_js_t=1477067899;path=/;secure';
                    d.cookie = 'n_js_d=' + h + ';path=/;secure';
                    var m1 = new Image();
                    m1.src = '/n.gif?' + t1 + ',' + g;
                };
            } else {
                d.cookie = 'n_js_t=1;path=/;secure';
                var m1 = new Image();
                m1.src = '/n.gif?no2d';
            }
        } else {
            d.cookie = 'n_js_t=2;path=/;secure';
            var m1 = new Image();
            m1.src = '/n.gif?nocanvas';
        }
    })();
    var n_js_once_lock = true;
}



Часовой пояс GMT +3, время: 13:29.