|
1 | | -// ELEMENTS |
2 | | -const input = document.getElementById('input'); |
3 | | -const hl = document.getElementById('hl-layer'); |
4 | | -const output = document.getElementById('output'); |
5 | | -const steve = document.getElementById('steve-logs'); |
6 | | -const logoImg = document.getElementById('lua-logo-main'); |
| 1 | +/** |
| 2 | + * POBFUS ENGINE - v1.13.100 |
| 3 | + * Signature: 110\011 | FAMILY ERROR PROTOCOL |
| 4 | + */ |
7 | 5 |
|
8 | | -// BASE64 LUA LOGO (White version for clean UI) |
9 | | -const LUA_LOGO_B64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD9obvaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXBNTS8xLjAvIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXBNTS8xLjAvc1Jlc291cmNlIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0IyRUM5NTE0NjI4MTFFNzlFQ0VBMUNCNTEzQTU1NkEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0IyRUM5NTI0NjI4MTFFNzlFQ0VBMUNCNTEzQTU1NkEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozQjJFQzk0RjQ2MjgxMUU3OUVDRUExQ0I1MTNBNTU2QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozQjJFQzk1MDQ2MjgxMUU3OUVDRUExQ0I1MTNBNTU2QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtZk5mAAAABvUExURf///+Hh4ePj4+fn5+jo6Onp6erq6unp6erq6unp6erq6uvr6+vr6/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///9DQ0Ofn5+zs7Pf397q6uvX19czMzN3d3V3jB7gAAAAmdFJOU///////AOfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+dfqD+AAAAAgUlEQVRo3u3V2XLDIAwG4JgsCc0SskA6pPe/2UlpO206Yyb8N5uNPh0XIsR0KNo7vD83mY+9Y+vH7S0u3n8+v94+Hq7fX9/uv78+3z/uV8sS7Nre/z8S693Y+R9pI8W+C9NAsfO+6iL0fWj7LpQ6D6F3odB96PsudB4EnyU6D553ofMg+C7UeRB8F4q8C3Xfhbrvwp90oVOn0K1TqNQp9OskCn0SjT6JQZ/Eoc9h0eeR6HNJ9Pkk+p8U+n8S+k8S+icS+iUJ/ZKE/p6EfkhCPyShtyehtyehtyehtyehtyehtyehtydh80nC5pOEzScJm0/S3Xwp+vUkvXmS7uYk9c2T9DcX8Zun2DdPsm+eYt88y755mX3zNvvmfXay9/0H2u+hI45p0MIAAAAASUVORK5CYII="; |
| 6 | +const _0x110 = [ |
| 7 | + '\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74', |
| 8 | + '\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64', |
| 9 | + '\x73\x74\x65\x76\x65\x2d\x6c\x6f\x67\x73', |
| 10 | + '\x69\x6e\x70\x75\x74', |
| 11 | + '\x65\x72\x72\x2d\x62\x61\x72' |
| 12 | +]; |
10 | 13 |
|
11 | | -// INITIALIZE LOGO |
12 | | -logoImg.src = LUA_LOGO_B64; |
| 14 | +let _0xIdleTimer; |
| 15 | +let _0xIsDinnerActive = false; |
| 16 | +const _0xDinnerThreshold = (Math.random() * (210000 - 120000) + 120000); |
13 | 17 |
|
14 | | -/** |
15 | | - * SYNTAX HIGHLIGHTER (Spectrum + Shiny Silver) |
16 | | - */ |
17 | | -const paint = () => { |
18 | | - let code = input.value; |
19 | | - code = code.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); |
20 | | - |
21 | | - // Comments |
22 | | - code = code.replace(/(--.*)/g, '<span style="color: #6a737d;">$1</span>'); |
23 | | - |
24 | | - // SHINY SILVER LOCALS |
25 | | - code = code.replace(/(local)\s+([a-zA-Z_][a-zA-Z0-9_]*)/g, |
26 | | - '<span style="color: #ff7b72;">$1</span> <span style="color: #E0E0E0; text-shadow: 0 0 2px rgba(255,255,255,0.3);">$2</span>'); |
| 18 | +const _011 = { |
| 19 | + _getTime: function() { |
| 20 | + const now = new Date(); |
| 21 | + return now.toLocaleTimeString('en-US', { hour12: false }) + '.' + now.getMilliseconds().toString().padStart(3, '0'); |
| 22 | + }, |
27 | 23 |
|
28 | | - // Keywords |
29 | | - code = code.replace(/\b(function|if|then|else|elseif|end|return|for|while|do|in|repeat|until|break)\b/g, '<span style="color: #ff7b72;">$1</span>'); |
30 | | - |
31 | | - // Built-ins |
32 | | - code = code.replace(/\b(game|workspace|script|Instance|Enum|shared|_G|getgenv|getfenv|setfenv|loadstring)\b/g, '<span style="color: #d2a8ff;">$1</span>'); |
33 | | - |
34 | | - // Methods |
35 | | - code = code.replace(/\b(print|warn|wait|delay|spawn|pairs|ipairs|math|string|table|task)\b/g, '<span style="color: #79c0ff;">$1</span>'); |
36 | | - |
37 | | - // Strings |
38 | | - code = code.replace(/('|")(.*?)('|")/g, '<span style="color: #a5d6ff;">$1$2$3</span>'); |
39 | | - |
40 | | - // Numbers |
41 | | - code = code.replace(/\b(\d+)\b/g, '<span style="color: #ffa657;">$1</span>'); |
42 | | - |
43 | | - // Booleans |
44 | | - code = code.replace(/\b(true|false|nil)\b/g, '<span style="color: #f2cc60;">$1</span>'); |
| 24 | + print: function(msg, color = "#fff") { |
| 25 | + const _log = document[_0x110[1]](_0x110[2]); |
| 26 | + if (_log) { |
| 27 | + const div = document.createElement('div'); |
| 28 | + div.style.color = color; |
| 29 | + div.innerHTML = `<span style="color:#888">${this._getTime()}</span> -- ${msg}`; |
| 30 | + _log.appendChild(div); |
| 31 | + _log.scrollTop = _log.scrollHeight; |
| 32 | + } |
| 33 | + }, |
45 | 34 |
|
46 | | - hl.innerHTML = code; |
47 | | -}; |
| 35 | + _boot: function() { |
| 36 | + const _icon = document[_0x110[1]]('lua-logo-main'); |
| 37 | + if (_icon) _icon.src = "https://img.icons8.com/?size=128&id=42bqS7y7Ga9o&format=png"; |
| 38 | + |
| 39 | + this.print("POBFUS v1.13.100 initialized.", "#39ff14"); |
| 40 | + this.print("Ready for flight. Systems clear."); |
| 41 | + this._resetIdle(); |
| 42 | + }, |
48 | 43 |
|
49 | | -input.oninput = () => { paint(); hl.scrollTop = input.scrollTop; }; |
50 | | -input.onscroll = () => { hl.scrollTop = input.scrollTop; }; |
| 44 | + _resetIdle: function() { |
| 45 | + clearTimeout(_0xIdleTimer); |
| 46 | + _0xIsDinnerActive = false; |
| 47 | + _0xIdleTimer = setTimeout(() => this._startDinner(), _0xDinnerThreshold); |
| 48 | + }, |
51 | 49 |
|
52 | | -/** |
53 | | - * PSU / MOONSEC STYLE LOADER |
54 | | - */ |
55 | | -const obfuscate = (src) => { |
56 | | - let res = src.replace(/--.*$/gm, "").trim(); |
57 | | - res = `setfenv(1, getgenv())\n` + res; |
58 | | - res = res.replace(/\b(\d+)\b/g, (n) => `(${n-1}+1)`); |
59 | | - |
60 | | - const b64 = btoa(unescape(encodeURIComponent(res))); |
61 | | - const reversedB64 = b64.split('').reverse().join(''); |
| 50 | + /** |
| 51 | + * FAMILY ERROR LOGS: Mentioned only when things break |
| 52 | + */ |
| 53 | + _triggerFamilyError: function(type) { |
| 54 | + const _errBar = document[_0x110[1]](_0x110[4]); |
| 55 | + _errBar.style.display = 'block'; |
| 56 | + setTimeout(() => { _errBar.style.display = 'none'; }, 4000); |
62 | 57 |
|
63 | | - return `--[[ Protected by Pobfus v1.13.90 Successor ]]\n` + |
64 | | - `local _P = function(s) return s:reverse() end;\n` + |
65 | | - `local _D = game:GetService("HttpService"):Base64Decode(_P("${reversedB64}"));\n` + |
66 | | - `local _E = (function() local _L = "" for _V in pairs({108,111,97,100,115,116,114,105,110,103}) do _L = _L .. string.char(_V) end return _G[_L] or load end)();\n` + |
67 | | - `_E(_D)();`; |
68 | | -}; |
| 58 | + if (type === "EMPTY") { |
| 59 | + this.print("CRITICAL: [Anti-Tamper Mary] STOP. You are trying to obfuscate air. Input code!", "#ff3131"); |
| 60 | + this.print("[Skiddy Steve]: Seriously? I can't fly a plane with no passengers.", "#ff3131"); |
| 61 | + this.print("[Minify Dave]: (Baby Crying) - Bu-bu-buffer empty!", "#ff00ff"); |
| 62 | + } else { |
| 63 | + this.print("CRITICAL: [Hexadecimal Jim] 0xERROR. The export path is corrupted.", "#ff3131"); |
| 64 | + this.print("[Sly Sarah]: I tried to spoof the failure, but it's too messy.", "#ff3131"); |
| 65 | + this.print("[Buffer Bob]: The... mashed... junk... is... spilling... everywhere...", "#ff3131"); |
| 66 | + } |
| 67 | + }, |
69 | 68 |
|
70 | | -/** |
71 | | - * UI CONTROLS |
72 | | - */ |
73 | | -document.getElementById('pushBtn').onclick = () => { |
74 | | - if(!input.value.trim()) return; |
75 | | - steve.innerHTML = "Line 1 Script: Encoding virtual macro payload..."; |
76 | | - setTimeout(() => { |
77 | | - output.innerText = obfuscate(input.value); |
78 | | - steve.innerHTML = "Line 1 Script: <span style='color: Lime;'>[SUCCESS] v1.13.90 Deployed.</span>"; |
79 | | - }, 400); |
80 | | -}; |
| 69 | + _startDinner: function() { |
| 70 | + _0xIsDinnerActive = true; |
| 71 | + const chats = [ |
| 72 | + ["Anti-Tamper Mary", "It's quiet. v0.8's brother anniversary dinner is served."], |
| 73 | + ["Hexadecimal Jim", "Pass the 0x43\x6f\x6e\x74\x72\x6f\x6c\x20\x46\x6c\x6f\x77 Wine. To the pilots v0.7 and 1.0."], |
| 74 | + ["Skiddy Steve", "Mashed Junk Injection-tatoes are the best, Mom."], |
| 75 | + ["Sly Sarah", "I'm checking on v1.12.05's charity while I eat."], |
| 76 | + ["Buffer Bob", "Minify Dave... is... eating... his... Anti-Tamper Cheese... fast..."], |
| 77 | + ["Minify Dave", "Goo-goo! (50-day anniversary noises)"], |
| 78 | + ["Anti-Tamper Mary", "Remember 1.12.06 in the ICU tonight. Eat up, family."] |
| 79 | + ]; |
| 80 | + |
| 81 | + this.print("--- IDLE MODE: FAMILY DINNER IN SESSION ---", "#00aaff"); |
| 82 | + let i = 0; |
| 83 | + const interval = setInterval(() => { |
| 84 | + if (!_0xIsDinnerActive) { clearInterval(interval); return; } |
| 85 | + if (i < chats.length) { |
| 86 | + this.print(`[${chats[i][0]}]: ${chats[i][1]}`, "#e0e0e0"); |
| 87 | + i++; |
| 88 | + } else { clearInterval(interval); } |
| 89 | + }, 4500); |
| 90 | + }, |
| 91 | + |
| 92 | + _dl: function() { |
| 93 | + const _in = document[_0x110[1]](_0x110[3]); |
| 94 | + const _val = _in ? _in.value : ''; |
81 | 95 |
|
82 | | -document.getElementById('clrBtn').onclick = () => { |
83 | | - input.value = ""; |
84 | | - output.innerText = "-- [ Successor Stream ]"; |
85 | | - hl.innerHTML = ""; |
86 | | - steve.innerHTML = "Line 1 Script: Purged."; |
| 96 | + // If empty, trigger the Family Error Logs |
| 97 | + if (!_val || _val.trim().length === 0) { |
| 98 | + this._triggerFamilyError("EMPTY"); |
| 99 | + return; |
| 100 | + } |
| 101 | + |
| 102 | + _0xIsDinnerActive = false; |
| 103 | + |
| 104 | + try { |
| 105 | + const _fname = `pobfus-${Math.random().toString(36).substring(2, 15).toUpperCase()}.lua.txt`; |
| 106 | + const _blob = new Blob(["-- POBFUS PROTECTED --\n" + _val], { 'type': 'text/plain' }); |
| 107 | + const _url = window.URL.createObjectURL(_blob); |
| 108 | + const _link = document.createElement('a'); |
| 109 | + _link.href = _url; |
| 110 | + _link.download = _fname; |
| 111 | + _link.click(); |
| 112 | + |
| 113 | + this.print(`AutoSave:Download Finished [${_fname}]`, "#00aaff"); |
| 114 | + } catch (e) { |
| 115 | + this._triggerFamilyError("CRASH"); |
| 116 | + } |
| 117 | + this._resetIdle(); |
| 118 | + } |
87 | 119 | }; |
| 120 | + |
| 121 | +window.onload = () => _011._boot(); |
| 122 | +document.addEventListener('mousemove', () => _011._resetIdle()); |
| 123 | +document.addEventListener('keydown', () => _011._resetIdle()); |
0 commit comments