Ticket #4866: sibnet-partial-decode.js

File sibnet-partial-decode.js, 9.2 KB (added by Lain_13, on 02/06/2017 at 05:14:18 PM)

Partially deobfuscated sibnet.ru code

Line 
1function addBox(rndC) {
2    var elM = document.createElement("div");
3    elM.id = parseInt(Math.random() * 1e3) + "_div";
4    for (var b = 0; b <= rndC; b++) {
5        elM.id = elM.id + parseInt(Math.random() * 1e3);
6    }
7    return elM;
8}
9var arr = [];
10arr[0] = "sibAd_topline";
11arr[1] = "sibAd_240x400";
12for (var i = 0; i < arr.length; i++) {
13    var el = null;
14    el = document.getElementById(arr[i]);
15    if (el) {
16        var elP = el.parentNode;
17        var elN = addBox(rndC);
18        var rndC = parseInt(Math.random() * 1e1);
19        var rndA = parseInt(Math.random() * 1e1);
20        el.id = parseInt(Math.random() * 1e3) + "_div";
21        el.style.height = "0px";
22        for (var b = 0; b <= rndC; b++) {
23            el.id = el.id + parseInt(Math.random() * 1e3);
24        }
25        for (var p = 0; p <= rndA; p++) {
26            var elM = addBox(rndC);
27            if ((Math.random() * 1e1) >= 5) {
28                elP.insertBefore(elM, el);
29            } else {
30                el.parentNode.insertBefore(elM, el.nextSibling);
31            }
32        }
33        if ((Math.random() * 1e1) >= 5) {
34            elP.insertBefore(elN, el);
35        } else {
36            el.parentNode.insertBefore(elN, el.nextSibling);
37        }
38        if (i == 1) {
39            (function(i) {
40                var divID = "DIV_DA_" + i + "_" + (Math.random() * 1e3 | 0),
41                    _0x7203x13;
42                document.getElementById(elN.id).innerHTML = "<div id=" + divID + " class=\"" + "directadvert-block" + " " + "directadvert-block" + "-" + i + "\"></div>";
43                (_0x7203x13 = self.loaded_block_directadvert = self.loaded_block_directadvert || (setTimeout(daBlockVar = function() {
44                    var _0x7203x14 = _0x7203x13.shift(),
45                        divID = _0x7203x14.g,
46                        adScript = document.createElement("script"),
47                        repeater = setInterval(function() {
48                            document.getElementById(divID).innerHTML && _0x7203x13[0] && daBlockVar(clearInterval(repeater));
49                        }, 50);
50                    adScript.type = "text/javascript";
51                    adScript.async = !0;
52                    adScript.charset = "windows-1251";
53                    adScript.src = "//code." + "directadvert" + ".ru/data/" + _0x7203x14.i + ".js?async=1&div=" + divID + "&t=" + (Math.random() * 1e6 | 0);
54                    if (self.SharedWorker) {
55                        adScript.onerror = function() {
56                            var i = 0,
57                                daBlockVar = 0,
58                                sharedWorker = new self.SharedWorker(
59                                  URL.createObjectURL(
60                                    new Blob(["self.addEventListener(\"connect\",function(e){var p=e.ports[0];p.addEventListener(\"message\",function(m){var d=m.data,x=new XMLHttpRequest();"+
61                                    "x.open(\"GET\",d.u,1);d.t?x.withCredentials=!0:x.responseType=\"blob\";x.onload=function(){p.postMessage({t:d.t,u:d.u,s:x.status==200,r:x.response})};x.send()},!1);p.start()},!1)"]))).port;
62                            sharedWorker.addEventListener("message", function(evnt) {
63                                var getImgSRC = /<imgs+.*?srcs*=['"]?([^ '">]+)[ '"]?[^>]*>/gi,
64                                    imgSRC, msg = evnt.data || {},
65                                    setDivContent = function() {
66                                        document.getElementById(divID).innerHTML = _0x7203x14;
67                                    };
68                                if (msg.s) {
69                                    if (msg.t) {
70                                        repeater = setTimeout(setDivContent, 7e3);
71                                        while (imgSRC = getImgSRC.exec(_0x7203x14 = msg.r)) {
72                                            sharedWorker.postMessage({
73                                                u: imgSRC[1].trim(i++)
74                                            });
75                                        }
76                                    } else {
77                                        _0x7203x14 = _0x7203x14.replace(msg.u, URL.createObjectURL(new Blob([msg.r], {
78                                            type: "image/jpeg"
79                                        })));
80                                        if (++daBlockVar == i) {
81                                            setDivContent();
82                                            clearTimeout(repeater);
83                                        }
84                                    }
85                                }
86                            }, !1);
87                            sharedWorker.start();
88                            sharedWorker.postMessage({
89                                t: 1,
90                                u: adScript.src + "&raw=1&tag=daaa_374755"
91                            });
92                        };
93                    }
94                    (document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(adScript);
95                }), [])).push({
96                    i: i,
97                    g: divID
98                });
99            })(521629);
100        } else {
101            (function(i) {
102                var divID = "DIV_DA_" + i + "_" + (Math.random() * 1e3 | 0),
103                    _0x7203x13;
104                document.getElementById(elN.id).innerHTML = "<div id=" + divID + " class=\"" + "directadvert-block" + " " + "directadvert-block" + "-" + i + "\"></div>";
105                (_0x7203x13 = self.loaded_block_directadvert = self.loaded_block_directadvert || (setTimeout(daBlockVar = function() {
106                    var _0x7203x14 = _0x7203x13.shift(),
107                        divID = _0x7203x14.g,
108                        adScript = document.createElement("script"),
109                        repeater = setInterval(function() {
110                            document.getElementById(divID).innerHTML && _0x7203x13[0] && daBlockVar(clearInterval(repeater));
111                        }, 50);
112                    adScript.type = "text/javascript";
113                    adScript.async = !0;
114                    adScript.charset = "windows-1251";
115                    adScript.src = "//code." + "directadvert" + ".ru/data/" + _0x7203x14.i + ".js?async=1&div=" + divID + "&t=" + (Math.random() * 1e6 | 0);
116                    if (self.SharedWorker) {
117                        adScript.onerror = function() {
118                            var i = 0,
119                                daBlockVar = 0,
120                                sharedWorker = new self.SharedWorker(
121                                  URL.createObjectURL(
122                                    new Blob(["self.addEventListener(\"connect\",function(e){var p=e.ports[0];p.addEventListener(\"message\",function(m){var d=m.data,x=new XMLHttpRequest();"+
123                                    "x.open(\"GET\",d.u,1);d.t?x.withCredentials=!0:x.responseType=\"blob\";x.onload=function(){p.postMessage({t:d.t,u:d.u,s:x.status==200,r:x.response})};x.send()},!1);p.start()},!1)"]))).port;
124                            sharedWorker.addEventListener("message", function(evnt) {
125                                var getImgSRC = /<imgs+.*?srcs*=['"]?([^ '">]+)[ '"]?[^>]*>/gi,
126                                    imgSRC, msg = evnt.data || {},
127                                    setDivContent = function() {
128                                        document.getElementById(divID).innerHTML = _0x7203x14;
129                                    };
130                                if (msg.s) {
131                                    if (msg.t) {
132                                        repeater = setTimeout(setDivContent, 7e3);
133                                        while (imgSRC = getImgSRC.exec(_0x7203x14 = msg.r)) {
134                                            sharedWorker.postMessage({
135                                                u: imgSRC[1].trim(i++)
136                                            });
137                                        }
138                                    } else {
139                                        _0x7203x14 = _0x7203x14.replace(msg.u, URL.createObjectURL(new Blob([msg.r], {
140                                            type: "image/jpeg"
141                                        })));
142                                        if (++daBlockVar == i) {
143                                            setDivContent();
144                                            clearTimeout(repeater);
145                                        }
146                                    }
147                                }
148                            }, !1);
149                            sharedWorker.start();
150                            sharedWorker.postMessage({
151                                t: 1,
152                                u: adScript.src + "&raw=1&tag=daaa_374755"
153                            });
154                        };
155                    }
156                    (document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(adScript);
157                }), [])).push({
158                    i: i,
159                    g: divID
160                });
161            })(1835147);
162        }
163    }
164}