• XSS.stack #1 – первый литературный журнал от юзеров форума

Помощь с деобфускацией js

top

(L3) cache
Пользователь
Регистрация
03.02.2020
Сообщения
252
Реакции
342
при заходе на один из соседних 3х буквенных форумов вылез кривой js с редиректом
в теле
Код:
<!DOCTYPE html><html><head><script type="text/javascript">var a=['c8Knw6cvLw3DmxDDmQ==','w6Mhw6I=','TsK9w7B9RQ==','wpVswonCmcKT','WkbCggvCrw==','CcK1aUc5dw==','wrbCk2/CuSzCsA==','QcKnAMK6Zw==','GcKybkskZgkVAcOmYhp8','wqdrwrLCpcKq','LMO/WsONHw==','MCQDw7M=','wqEVwpHCjcOawpFUw5PDiW4CIMKiw67CksKWw64Zw54meQLDlsOr','wrnCpXTCnnRKw4tww5tgE3fDhE1Kwr40KcKYAMOM','V8KTw5RZb8OFw6M=','w5hCwoFKw74=','PsK4w7obaw==','dMOlwqvDh0k=','w4LDi1bChVI=','bMKQQMKJw7sxWcOQXsOMw4rCu8KNwo3CssOoagDDsxs=','w6QGRsOtw7c=','bMKQQMKJw7sxWcOQXsOMw7vCgMK9wr0=','Bx4+w60m','fHVXYxk=','woXDtlfCkAo=','K2VuBsKQ','aCLDmsOcw4s=','dcOtw4Iacw==','AMOAcMO/QwUHQ0fDg8On','I8ODwq/DusK4','VMO7QABg','w4XCvCLDlSI=','ccOfw5wU','RMOTwqfDtw7DusK9bxlPGcOew5JPWg==','Z8KdSn7Cuw==','w4fCvTNwwrg='];(function(b,c){var d=function(f){while(--f){b['push'](b['shift']());}};var e=function(){var f={'data':{'key':'cookie','value':'timeout'},'setCookie':function(l,m,n,o){o=o||{};var p=m+'='+n;var q=0x0;for(var r=0x0,s=l['length'];r<s;r++){var t=l[r];p+=';\x20'+t;var u=l[t];l['push'](u);s=l['length'];if(u!==!![]){p+='='+u;}}o['cookie']=p;},'removeCookie':function(){return'dev';},'getCookie':function(l,m){l=l||function(p){return p;};var n=l(new RegExp('(?:^|;\x20)'+m['replace'](/([.$?*|{}()[]\/+^])/g,'$1')+'=([^;]*)'));var o=function(p,q){p(++q);};o(d,c);return n?decodeURIComponent(n[0x1]):undefined;}};var g=function(){var l=new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');return l['test'](f['removeCookie']['toString']());};f['updateCookie']=g;var h='';var k=f['updateCookie']();if(!k){f['setCookie'](['*'],'counter',0x1);}else if(k){h=f['getCookie'](null,'counter');}else{f['removeCookie']();}};e();}(a,0xa1));var b=function(c,d){c=c-0x0;var e=a[c];if(b['mTboBj']===undefined){(function(){var h=function(){var k;try{k=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(l){k=window;}return k;};var i=h();var j='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';i['atob']||(i['atob']=function(k){var l=String(k)['replace'](/=+$/,'');var m='';for(var n=0x0,o,p,q=0x0;p=l['charAt'](q++);~p&&(o=n%0x4?o*0x40+p:p,n++%0x4)?m+=String['fromCharCode'](0xff&o>>(-0x2*n&0x6)):0x0){p=j['indexOf'](p);}return m;});}());var g=function(h,l){var m=[],n=0x0,o,p='',q='';h=atob(h);for(var t=0x0,u=h['length'];t<u;t++){q+='%'+('00'+h['charCodeAt'](t)['toString'](0x10))['slice'](-0x2);}h=decodeURIComponent(q);var r;for(r=0x0;r<0x100;r++){m[r]=r;}for(r=0x0;r<0x100;r++){n=(n+m[r]+l['charCodeAt'](r%l['length']))%0x100;o=m[r];m[r]=m[n];m[n]=o;}r=0x0;n=0x0;for(var v=0x0;v<h['length'];v++){r=(r+0x1)%0x100;n=(n+m[r])%0x100;o=m[r];m[r]=m[n];m[n]=o;p+=String['fromCharCode'](h['charCodeAt'](v)^m[(m[r]+m[n])%0x100]);}return p;};b['tdwSju']=g;b['TahitG']={};b['mTboBj']=!![];}var f=b['TahitG'][c];if(f===undefined){if(b['rMHJhi']===undefined){var h=function(i){this['bFkfJz']=i;this['WgrkyW']=[0x1,0x0,0x0];this['vpkZSz']=function(){return'newState';};this['WRTZaF']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*';this['riFWZu']='[\x27|\x22].+[\x27|\x22];?\x20*}';};h['prototype']['HuUyYX']=function(){var i=new RegExp(this['WRTZaF']+this['riFWZu']);var j=i['test'](this['vpkZSz']['toString']())?--this['WgrkyW'][0x1]:--this['WgrkyW'][0x0];return this['yMxgRy'](j);};h['prototype']['yMxgRy']=function(i){if(!Boolean(~i)){return i;}return this['eRgUoW'](this['bFkfJz']);};h['prototype']['eRgUoW']=function(j){for(var k=0x0,l=this['WgrkyW']['length'];k<l;k++){this['WgrkyW']['push'](Math['round'](Math['random']()));l=this['WgrkyW']['length'];}return j(this['WgrkyW'][0x0]);};new h(b)['HuUyYX']();b['rMHJhi']=!![];}e=b['tdwSju'](e,d);b['TahitG'][c]=e;}else{e=f;}return e;};var e=function(){var i={};i[b('0xc','P^(q')]=function(l,m){return l!==m;};i[b('0x6','ZM4i')]=b('0x15','P&^d');var j=i;var k=!![];return function(l,m){var n={};n[b('0x9',']Ter')]=function(q,r){return j[b('0x1a','qA]z')](q,r);};n[b('0x0','(zYI')]=j[b('0x8','XYY#')];var o=n;var p=k?function(){if(m){if(o[b('0x7','k92f')](o[b('0x3','KQ0C')],o['DStDh'])){var s=m[b('0xd','*gNx')](l,arguments);m=null;return s;}else{var q=m[b('0x23','acMW')](l,arguments);m=null;return q;}}}:function(){};k=![];return p;};}();var f=e(this,function(){var i={};i[b('0xe','S]5I')]=b('0x20','bL%D');i['YLnFP']=b('0x1f','CQ6w');var j=i;var k=function(){var l=k['constructor'](j[b('0x5','0VAU')])()[b('0x21','P&^d')](j[b('0x11','B3cI')]);return!l['test'](f);};return k();});f();var g=function(i){return document[b('0x4','V7b[')](i);},h=function(i){var j={};j[b('0x1c','CQ6w')]=function(l,m){return l(m);};j[b('0xa','8b89')]=function(l,m){return l(m);};var k=j;k[b('0x12','*#yw')](g,'a')['value']=i;k[b('0x1d','BJCw')](g,'c')[b('0x18','KRnS')]();};window[b('0x19','OSaY')]=function(){var i={};i['NLCpZ']='script';i[b('0x1','e@mV')]=b('0x10','(zYI');i[b('0x22','u^wM')]=b('0x1e','0VAU');var j=i;var k=document[b('0x1b','KRnS')](j[b('0x17','Uf&Y')]);k[b('0xf','8b89')]=j[b('0x16','Rx!9')];k[b('0x14','Op(n')]=b('0x13','bMy&');document[b('0x2','V7b[')](j['ZqRVV'])[0x0][b('0xb','S09G')](k);};</script> </head></html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
помогите деобфусцировать js в оригинальный читаемый вид
во-первых, я напрягся, что меня протроянили
во-вторых, интересно )
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Плохой скрипт, внутри манипуляции с DOM, подмена ссылок, несколько функций работы с куками (get, set, remove). Закручен хорошо, с ходу не разобраться с тел.
 
внешне похоже на lua openresty NGINX антиддос, но работает очень подозрительно
он что-то анализирует в браузере, далее идет редирект на /verify?r=2dc145ecf007d2bef93781bef4997640
в теле
Код:
<!DOCTYPE html><html><meta http-equiv="refresh" content="0; url=/"></html>
ну и сам редирект
все бы ничего, но он очень глубоко лезет в браузер, делает глубокие манипуляции
меня насторожило
 
Пожалуйста, обратите внимание, что пользователь заблокирован
внешне похоже на lua openresty NGINX
Ну как это похоже, если OpenResty использует Lua на бэке, в составе с NGINX? Причём тут JS на фронте? Какая связь?
 
Код:
var a = ["c8Knw6cvLw3DmxDDmQ==", "w6Mhw6I=", "TsK9w7B9RQ==", "wpVswonCmcKT", "WkbCggvCrw==", "CcK1aUc5dw==", "wrbCk2/CuSzCsA==", "QcKnAMK6Zw==", "GcKybkskZgkVAcOmYhp8", "wqdrwrLCpcKq", "LMO/WsONHw==", "MCQDw7M=", "wqEVwpHCjcOawpFUw5PDiW4CIMKiw67CksKWw64Zw54meQLDlsOr", "wrnCpXTCnnRKw4tww5tgE3fDhE1Kwr40KcKYAMOM", "V8KTw5RZb8OFw6M=", "w5hCwoFKw74=", "PsK4w7obaw==", "dMOlwqvDh0k=", "w4LDi1bChVI=", "bMKQQMKJw7sxWcOQXsOMw4rCu8KNwo3CssOoagDDsxs=", "w6QGRsOtw7c=", "bMKQQMKJw7sxWcOQXsOMw7vCgMK9wr0=", "Bx4+w60m", "fHVXYxk=", "woXDtlfCkAo=", "K2VuBsKQ", "aCLDmsOcw4s=", "dcOtw4Iacw==", "AMOAcMO/QwUHQ0fDg8On", "I8ODwq/DusK4", "VMO7QABg", "w4XCvCLDlSI=", "ccOfw5wU", "RMOTwqfDtw7DusK9bxlPGcOew5JPWg==", "Z8KdSn7Cuw==", "w4fCvTNwwrg="];
(function (b, c) {
  var d = function (f) {
    while (--f) {
      b.push(b.shift());
    }
  };
  var e = function () {
    var f = {data: {key: "cookie", value: "timeout"}, setCookie: function (l, m, n, o) {
      o = o || {};
      var p = m + "=" + n;
      var q = 0;
      for (var r = 0, s = l.length; r < s; r++) {
        var t = l[r];
        p += "; " + t;
        var u = l[t];
        l.push(u);
        s = l.length;
        if (u !== true) {
          p += "=" + u;
        }
      }
      o.cookie = p;
    }, removeCookie: function () {
      return "dev";
    }, getCookie: function (l, m) {
      l = l || function (p) {
        return p;
      };
      var n = l(new RegExp("(?:^|; )" + m.replace(/([.$?*|{}()[]\/+^])/g, "$1") + "=([^;]*)"));
      var o = function (p, q) {
        p(++q);
      };
      o(d, c);
      return n ? decodeURIComponent(n[1]) : undefined;
    }};
    var g = function () {
      var l = new RegExp("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}");
      return l.test(f.removeCookie.toString());
    };
    f.updateCookie = g;
    var h = "";
    var k = f.updateCookie();
    if (!k) {
      f.setCookie(["*"], "counter", 1);
    } else if (k) {
      h = f.getCookie(null, "counter");
    } else {
      f.removeCookie();
    }
  };
  e();
}(a, 161));
var b = function (c, d) {
  c = c - 0;
  var e = a[c];
  if (b.mTboBj === undefined) {
    (function () {
      var h = function () {
        var k;
        try {
          k = Function('return (function() {}.constructor("return this")( ));')();
        } catch (l) {
          k = window;
        }
        return k;
      };
      var i = h();
      var j = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
      i.atob || (i.atob = function (k) {
        var l = String(k).replace(/=+$/, "");
        var m = "";
        for (var n = 0, o, p, q = 0; p = l.charAt(q++); ~p && (o = n % 4 ? o * 64 + p : p, n++ % 4) ? m += String.fromCharCode(255 & o >> (-2 * n & 6)) : 0) {
          p = j.indexOf(p);
        }
        return m;
      });
    }());
    var g = function (h, l) {
      var m = [], n = 0, o, p = "", q = "";
      h = atob(h);
      for (var t = 0, u = h.length; t < u; t++) {
        q += "%" + ("00" + h.charCodeAt(t).toString(16)).slice(-2);
      }
      h = decodeURIComponent(q);
      var r;
      for (r = 0; r < 256; r++) {
        m[r] = r;
      }
      for (r = 0; r < 256; r++) {
        n = (n + m[r] + l.charCodeAt(r % l.length)) % 256;
        o = m[r];
        m[r] = m[n];
        m[n] = o;
      }
      r = 0;
      n = 0;
      for (var v = 0; v < h.length; v++) {
        r = (r + 1) % 256;
        n = (n + m[r]) % 256;
        o = m[r];
        m[r] = m[n];
        m[n] = o;
        p += String.fromCharCode(h.charCodeAt(v) ^ m[(m[r] + m[n]) % 256]);
      }
      return p;
    };
    b.tdwSju = g;
    b.TahitG = {};
    b.mTboBj = true;
  }
  var f = b.TahitG[c];
  if (f === undefined) {
    if (b.rMHJhi === undefined) {
      var h = function (i) {
        this.bFkfJz = i;
        this.WgrkyW = [1, 0, 0];
        this.vpkZSz = function () {
          return "newState";
        };
        this.WRTZaF = "\\w+ *\\(\\) *{\\w+ *";
        this.riFWZu = "['|\"].+['|\"];? *}";
      };
      h.prototype.HuUyYX = function () {
        var i = new RegExp(this.WRTZaF + this.riFWZu);
        var j = i.test(this.vpkZSz.toString()) ? --this.WgrkyW[1] : --this.WgrkyW[0];
        return this.yMxgRy(j);
      };
      h.prototype.yMxgRy = function (i) {
        if (!Boolean(~i)) {
          return i;
        }
        return this.eRgUoW(this.bFkfJz);
      };
      h.prototype.eRgUoW = function (j) {
        for (var k = 0, l = this.WgrkyW.length; k < l; k++) {
          this.WgrkyW.push(Math.round(Math.random()));
          l = this.WgrkyW.length;
        }
        return j(this.WgrkyW[0]);
      };
      new h(b).HuUyYX();
      b.rMHJhi = true;
    }
    e = b.tdwSju(e, d);
    b.TahitG[c] = e;
  } else {
    e = f;
  }
  return e;
};
var e = function () {
  var i = {};
  i[b("0xc", "P^(q")] = function (l, m) {
    return l !== m;
  };
  i[b("0x6", "ZM4i")] = b("0x15", "P&^d");
  var j = i;
  var k = true;
  return function (l, m) {
    var n = {};
    n[b("0x9", "]Ter")] = function (q, r) {
      return j[b("0x1a", "qA]z")](q, r);
    };
    n[b("0x0", "(zYI")] = j[b("0x8", "XYY#")];
    var o = n;
    var p = k ? function () {
      if (m) {
        if (o[b("0x7", "k92f")](o[b("0x3", "KQ0C")], o.DStDh)) {
          var s = m[b("0xd", "*gNx")](l, arguments);
          m = null;
          return s;
        } else {
          var q = m[b("0x23", "acMW")](l, arguments);
          m = null;
          return q;
        }
      }
    } : function () {};
    k = false;
    return p;
  };
}();
var f = e(this, function () {
  var i = {};
  i[b("0xe", "S]5I")] = b("0x20", "bL%D");
  i.YLnFP = b("0x1f", "CQ6w");
  var j = i;
  var k = function () {
    var l = k.constructor(j[b("0x5", "0VAU")])()[b("0x21", "P&^d")](j[b("0x11", "B3cI")]);
    return !l.test(f);
  };
  return k();
});
f();
var h = function (i) {
  var j = {};
  j[b("0x1c", "CQ6w")] = function (l, m) {
    return l(m);
  };
  j[b("0xa", "8b89")] = function (l, m) {
    return l(m);
  };
  var k = j;
  k[b("0x12", "*#yw")](g, "a").value = i;
  k[b("0x1d", "BJCw")](g, "c")[b("0x18", "KRnS")]();
};
window[b("0x19", "OSaY")] = function () {
  var i = {};
  i.NLCpZ = "script";
  i[b("0x1", "e@mV")] = b("0x10", "(zYI");
  i[b("0x22", "u^wM")] = b("0x1e", "0VAU");
  var j = i;
  var k = document[b("0x1b", "KRnS")](j[b("0x17", "Uf&Y")]);
  k[b("0xf", "8b89")] = j[b("0x16", "Rx!9")];
  k[b("0x14", "Op(n")] = b("0x13", "bMy&");
  document[b("0x2", "V7b[")](j.ZqRVV)[0][b("0xb", "S09G")](k);
};
 
Последнее редактирование модератором:
Пожалуйста, обратите внимание, что пользователь заблокирован
Похоже на лоадер

var k = document.createElement('script'); k.type = 'text/javascript'; k.src = [The source of the new script]; document.getElementsByTagName('head')[0].appendChild(k);
 
bhf, если зайти с tor или с чистого браузера без кукисов
Как это протроянили?
Через JS у нас сплоиты можно запускать?

уже пропало)
Куки почисти, появится в исходном коде снова
 
внешне похоже на lua openresty NGINX антиддос, но работает очень подозрительно
он что-то анализирует в браузере, далее идет редирект на /verify?r=2dc145ecf007d2bef93781bef4997640
в теле
Код:
<!DOCTYPE html><html><meta http-equiv="refresh" content="0; url=/"></html>
ну и сам редирект
все бы ничего, но он очень глубоко лезет в браузер, делает глубокие манипуляции
меня насторожило
антидудос и есть. если бы код был простой, то его бы дудосеры всякими phantomjs и duktape обходили, поэтому надо сильно грузить браузер, чтобы пропускать только реальных юзеров.
 
А чем раскодировал, вручную или инструмент какой-то есть?
c помощью deobfuscate io, большая часть обфускаторов имеют одни и те же методы, не вскрывается, только obfuscator io на максимальных настройках, но у него есть свой апи для деобфускации
 
c помощью deobfuscate io, большая часть обфускаторов имеют одни и те же методы, не вскрывается, только obfuscator io на максимальных настройках, но у него есть свой апи для деобфускации
Этот скрипт можешь деобфусцировать?
kraken2tmnn7h7ls7nipz4oiexmadywio5lfpcjlckc3por6rycedoad.onion/js/connect.min.js?1

я пробовал obfuscator-io-deobfuscator, но он съедает всю память и дохнет.

В итоге расколол этот блоб с помощью synchrony
Есть еще отличный инструмент webcrack
 
Can you deobfuscate this script?
kraken2tmnn7h7ls7nipz4oiexmadywio5lfpcjlckc3por6rycedoad.onion/js/connect.min.js?1
JavaScript:
var MD5 = function onload(d) {
    return M(V(Y(X(d), 8 * d.length))).toLowerCase();
};

function M(b) {
    var a;
    var s = "0123456789ABCDEF";
    var lineString = "";
    where i = 0;
    for (; i < b.length; i++) {
        a = b.charCodeAt(i);
        lineString = lineString + (s.charAt(a >>> 4 & 15) + s.charAt(15 & a));
    }
    return lineString;
}

function X(input) {
    var a = Array(input.length >> 2);
    where i = 0;
    for (; i < a.length; i++) {
        a[i] = 0;
    }
    i = 0;
    for (; i < 8 * input.length; i = i + 8) {
        a[i >> 5] |= (255 & input.charCodeAt(i / 8)) << i % 32;
    }
    return a;
}

function V(bin) {
    var c = "";
    where i = 0;
    for (; i < 32 * bin.length; i = i + 8) {
        c = c + String.fromCharCode(bin[i >> 5] >>> i % 32 & 255);
    }
    return c;
}

function Y(x, len) {
    x[len >> 5] |= 128 << len % 32;
    x[14 + (len + 64 >>> 9 << 4)] = len;
    var a = 1732584193;
    var b = -271733879;
    var c = -1732584194;
    var d = 271733878;
    var i = 0;
    for (; i < x.length; i = i + 16) {
        var olda = a;
        var oldb = b;
        var oldc = c;
        var oldd = d;
        b = md5_ii(b = md5_ii(b = md5_ii(b = md5_ii(b = md5_hh(b = md5_hh(b = md5_hh(b = md5_hh(b = md5_gg(b = md5_gg(b = md5_gg(b = md5_gg(b = md5_ff(b = md5_ff(b = md5_ff(b = md5_ff(b, c = md5_ff(c, d = md5_ff(d, a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936), b, c, x[i + 1], 12, -389564586), a, b, x[i + 2], 17, 606105819), d, a, x[i + 3], 22, -1044525330), c = md5_ff(c, d = md5_ff(d, a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897), b, c, x[i + 5], 12, 1200080426), a, b, x[i + 6], 17, -1473231341),
                d, a, x[i + 7], 22, -45705983), c = md5_ff(c, d = md5_ff(d, a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416), b, c, x[i + 9], 12, -1958414417), a, b, x[i + 10], 17, -42063), d, a, x[i + 11], 22, -1990404162), c = md5_ff(c, d = md5_ff(d, a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682), b, c, x[i + 13], 12, -40341101), a, b, x[i + 14], 17, -1502002290), d, a, x[i + 15], 22, 1236535329), c = md5_gg(c, d = md5_gg(d, a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510), b, c, x[i + 6], 9, -1069501632),
                a, b, x[i + 11], 14, 643717713), d, a, x[i + 0], 20, -373897302), c = md5_gg(c, d = md5_gg(d, a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691), b, c, x[i + 10], 9, 38016083), a, b, x[i + 15], 14, -660478335), d, a, x[i + 4], 20, -405537848), c = md5_gg(c, d = md5_gg(d, a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438), b, c, x[i + 14], 9, -1019803690), a, b, x[i + 3], 14, -187363961), d, a, x[i + 8], 20, 1163531501), c = md5_gg(c, d = md5_gg(d, a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467), b,
                c, x[i + 2], 9, -51403784), a, b, x[i + 7], 14, 1735328473), d, a, x[i + 12], 20, -1926607734), c = md5_hh(c, d = md5_hh(d, a = md5_hh(a, b, c, d, x[i + 5], 4, -378558), b, c, x[i + 8], 11, -2022574463), a, b, x[i + 11], 16, 1839030562), d, a, x[i + 14], 23, -35309556), c = md5_hh(c, d = md5_hh(d, a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060), b, c, x[i + 4], 11, 1272893353), a, b, x[i + 7], 16, -155497632), d, a, x[i + 10], 23, -1094730640), c = md5_hh(c, d = md5_hh(d, a = md5_hh(a, b, c,
                d, x[i + 13], 4, 681279174), b, c, x[i + 0], 11, -358537222), a, b, x[i + 3], 16, -722521979), d, a, x[i + 6], 23, 76029189), c = md5_hh(c, d = md5_hh(d, a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487), b, c, x[i + 12], 11, -421815835), a, b, x[i + 15], 16, 530742520), d, a, x[i + 2], 23, -995338651), c = md5_ii(c, d = md5_ii(d, a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844), b, c, x[i + 7], 10, 1126891415), a, b, x[i + 14], 15, -1416354905), d, a, x[i + 5], 21, -57434055), c = md5_ii(c, d =
                md5_ii(d, a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571), b, c, x[i + 3], 10, -1894986606), a, b, x[i + 10], 15, -1051523), d, a, x[i + 1], 21, -2054922799), c = md5_ii(c, d = md5_ii(d, a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359), b, c, x[i + 15], 10, -30611744), a, b, x[i + 6], 15, -1560198380), d, a, x[i + 13], 21, 1309151649), c = md5_ii(c, d = md5_ii(d, a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070), b, c, x[i + 11], 10, -1120210379), a, b, x[i + 2], 15, 718787259), d, a, x[i + 9],
            21, -343485551);
        a = safe_add(a, olda);
        b = safe_add(b, oldb);
        c = safe_add(c, oldc);
        d = safe_add(d, oldd);
    }
    return Array(a, b, c, d);
}

function md5_cmn(q, a, b, x, s, t) {
    return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
}

function md5_ff(a, b, c, d, x, s, t) {
    return md5_cmn(b & c | ~b & d, a, b, x, s, t);
}

function md5_gg(a, b, c, d, x, s, t) {
    return md5_cmn(b & d | c & ~d, a, b, x, s, t);
}

function md5_hh(a, b, c, d, x, s, t) {
    return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}

function md5_ii(a, b, c, d, x, s, t) {
    return md5_cmn(c ^ (b | ~d), a, b, x, s, t);
}

function safe_add(x, y) {
    var _0x2439e4 = (65535 & x) + (65535 & y);
    return (x >> 16) + (y >> 16) + (_0x2439e4 >> 16) << 16 | 65535 & _0x2439e4;
}

function bit_rol(num, cnt) {
    return num << cnt | num >>> 32 - cnt;
}
var date = new Date(Date.now() + 31536000000);

function takeOnionServer(canCreateDiscussions) {
    httpGetAsync("/modules/onion_servers/take_server.php", function () {
        if (!canCreateDiscussions) {
            window.location.href = window.location.href;
        }
    }, function () {
        if (!canCreateDiscussions) {
            window.location.href = window.location.href;
        }
    });
}

function httpGetAsync(callback, success, failure) {
    var xhr = new XMLHttpRequest;
    xhr.onreadystatechange = function () {
        if (4 == xhr.readyState) {
            if (200 == xhr.status) {
                if (success) {
                    success(xhr.responseText);
                }
            } else {
                if (failure) {
                    failure();
                }
            }
        }
    };
    xhr.open("GET", callback, true);
    xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    xhr.send();
}

function connectingStrHandler(l, n) {
    return l.replace("|||", "|||" + n);
}
if ("undefined" != typeof connecting_hash) {
    document.cookie = "connecting_hash=" + MD5(connectingStrHandler(location.host + "|".replace("|", "||").replace("||", "|||"), connecting_hash)) + "; path=/; expires=" + date.toUTCString();
};
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх