|
1 | 1 | /** |
2 | | - * pobfus // v1.11.06 STABLE |
3 | | - * repository logic: ghost-edition (root-level) |
4 | | - * domain: tenringsofdoom1x.github.io |
| 2 | + * pobfus // v1.11.06 Ghost-Core |
| 3 | + * Universal PC/Mobile Virtualization Engine |
| 4 | + * Authorized: tenringsofdoom1x.github.io |
5 | 5 | */ |
6 | 6 |
|
7 | | -const iel = document.getElementById('in'); // Input Textarea |
8 | | -const oel = document.getElementById('out'); // Output Textarea |
9 | | -const overlay = document.getElementById('overlay'); |
| 7 | +const iel = document.getElementById('in'); |
| 8 | +const oel = document.getElementById('out'); |
| 9 | +const logo = document.getElementById('logo'); |
| 10 | +const st = document.getElementById('stxt'); |
10 | 11 | const lbar = document.getElementById('lbar'); |
11 | | -const stxt = document.getElementById('stxt'); |
| 12 | +const overlay = document.getElementById('overlay'); |
12 | 13 |
|
13 | | -// helper: generates randomized IlIlI variable names for Lua |
14 | | -const gs = (l) => { |
15 | | - let s = 'I'; |
16 | | - for(let i=0; i<l; i++) s += (Math.random() > 0.5 ? 'l' : 'I'); |
17 | | - return s; |
| 14 | +// 1.0.6 Syntax Patch: Secure Random String Generator |
| 15 | +const gs = (l) => { |
| 16 | + let s = 'I'; |
| 17 | + for(let i=0; i<l; i++) s += (Math.random() > 0.5 ? 'l' : 'I'); |
| 18 | + return s; |
18 | 19 | }; |
19 | 20 |
|
20 | | -// helper: generates randomized ID for filenames |
| 21 | +// 1.11.01 Fragment Logic: Key Seeding |
21 | 22 | const genID = () => { |
22 | | - const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
23 | | - let res = ''; |
24 | | - for(let i=0; i<11; i++) res += chars.charAt(Math.floor(Math.random() * chars.length)); |
25 | | - return res; |
| 23 | + const c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
| 24 | + let r = ''; |
| 25 | + for(let i=0; i<11; i++) r += c.charAt(Math.floor(Math.random() * c.length)); |
| 26 | + return r; |
26 | 27 | }; |
27 | 28 |
|
28 | | -// Human-like phrases (no underscores) |
29 | | -const phrases = [ |
30 | | - "mapping virtual instructions", |
31 | | - "scanning for logical vulnerabilities", |
32 | | - "shadowing global environment", |
33 | | - "applying ghost layer encryption", |
34 | | - "injecting randomized junk layers", |
35 | | - "wrapping execution scream", |
36 | | - "finalizing distribution blob", |
37 | | - "hiding internal warnings" |
38 | | -]; |
| 29 | +// 1.11.03-2 Hotfix: Math Noise & Constant Folding |
| 30 | +const foldNum = (n) => { |
| 31 | + let v1 = Math.floor(Math.random() * (n / 2)); |
| 32 | + let v2 = n - v1; |
| 33 | + return `(${v1}+${v2})`; |
| 34 | +}; |
39 | 35 |
|
40 | | -const executeProcess = () => { |
41 | | - const src = iel.value.trim(); |
42 | | - if(!src) return; |
| 36 | +document.getElementById('go').onclick = () => { |
| 37 | + if(!iel.value.trim()) return; |
43 | 38 |
|
44 | | - // UI Reset |
| 39 | + // Trigger v0.7.00 Pulse Sequence |
45 | 40 | overlay.style.display = 'flex'; |
46 | | - lbar.style.transition = 'none'; |
47 | | - lbar.style.width = '0%'; |
48 | | - |
49 | | - // Trigger 15s linear animation |
50 | | - setTimeout(() => { |
51 | | - lbar.style.transition = 'width 15s linear'; |
52 | | - lbar.style.width = '100%'; |
53 | | - }, 50); |
54 | | - |
55 | | - // Shuffle and display phrases |
56 | | - let shuffled = phrases.sort(() => 0.5 - Math.random()); |
57 | | - shuffled.forEach((m, i) => { |
58 | | - setTimeout(() => { |
59 | | - stxt.innerText = m + "..."; |
60 | | - }, i * 1800); |
61 | | - }); |
| 41 | + lbar.style.width = '100%'; |
| 42 | + logo.classList.add('pulse'); |
62 | 43 |
|
63 | | - // Main Encryption Logic (After 15s) |
64 | 44 | setTimeout(() => { |
65 | | - try { |
66 | | - const k = Math.floor(Math.random() * 80) + 20; |
67 | | - const watermark = "obfuscated by pobfus // tenringsofdoom1x.github.io"; |
68 | | - |
69 | | - // SNEAKY: Warning is buried in the encrypted payload |
70 | | - const protection = `local _w = "${watermark}"; if not _G.pobfus_verified then warn(_w) end; `; |
71 | | - |
72 | | - // Convert to XOR-encrypted string |
73 | | - const d = (protection + src).split('').map(c => "\\" + (c.charCodeAt(0) ^ k)).join(''); |
74 | | - |
75 | | - const f = gs(12); // Shadowed function name |
76 | | - let b = `--[[ ${watermark} ]]\n`; |
77 | | - |
78 | | - // DYNAMIC JUNK: Random lines to confuse de-obfuscators |
79 | | - const junkLines = Math.floor(Math.random() * 50) + 35; |
80 | | - for(let i=0; i<junkLines; i++) { |
81 | | - b += `local ${gs(10)} = ${Math.floor(Math.random()*1000)} + ${Math.floor(Math.random()*1000)};\n`; |
82 | | - } |
| 45 | + const k = Math.floor(Math.random() * 80) + 20; |
| 46 | + const w = "obfuscated by pobfus // tenringsofdoom1x.github.io"; |
| 47 | + |
| 48 | + // v1.11.03-2 Logic Leakage Protection |
| 49 | + const protection = `local _w="${w}";if not _G.pobfus_verified then warn(_w) end;`; |
| 50 | + const fullRaw = (protection + iel.value).split('').map(c => "\\" + (c.charCodeAt(0) ^ k)).join(''); |
| 51 | + |
| 52 | + // v1.11.01 Registry Shuffling (Mobile Safe) |
| 53 | + const parts = []; |
| 54 | + let i = 0; |
| 55 | + while (i < fullRaw.length) { |
| 56 | + let len = Math.floor(Math.random() * 15) + 10; |
| 57 | + parts.push(fullRaw.substring(i, i + len)); |
| 58 | + i += len; |
| 59 | + } |
83 | 60 |
|
84 | | - // The Scream (Core Decryption Function) |
85 | | - b += `local ${f} = function() `; |
86 | | - b += `local _k,_d = ${k},"${d}"; `; |
87 | | - b += `local _r = ""; for i=1,#_d do _r=_r..string.char(bit32.bxor(string.byte(string.sub(_d,i,i)),_k)) end; `; |
88 | | - b += `local _x=loadstring(_r); if _x then setfenv(_x,getfenv()); _x(); end end; ${f}();\n`; |
89 | | - |
90 | | - // Post-junk footer |
91 | | - for(let i=0; i<10; i++) b += `local ${gs(8)} = ${Math.random()};\n`; |
| 61 | + const f=gs(12), sc=gs(10), bx=gs(10), ss=gs(10), sb=gs(10), ls=gs(10), reg=gs(11), res=gs(9); |
| 62 | + |
| 63 | + // v1.11.06 Virtual Machine Construction |
| 64 | + let b = `--[[ ${w} ]]\n`; |
| 65 | + b += `local ${f}=function()local ${sc},${bx},${ss},${sb},${ls}=string.char,bit32.bxor,string.sub,string.byte,loadstring;`; |
| 66 | + b += `local _k,${res}=${foldNum(k)},{};`; |
| 67 | + b += `for i=1,#${reg} do local _d=${reg}[i];local _r="";for j=1,#_d do _r=_r..${sc}(${bx}(${sb}(${ss}(_d,j,j)),_k))end;${res}[i]=_r end;`; |
| 68 | + b += `local _x,_e=${ls}(table.concat(${res}));if _x then setfenv(_x,getfenv());_x();else warn("pobfus_err: "..tostring(_e)) end end;`; |
92 | 69 |
|
93 | | - oel.value = b; |
94 | | - overlay.style.display = 'none'; |
95 | | - stxt.innerText = "preparing environment..."; |
96 | | - |
97 | | - } catch(e) { |
98 | | - console.error("pobfus_err:", e); |
99 | | - overlay.style.display = 'none'; |
100 | | - } |
101 | | - }, 15000); |
102 | | -}; |
| 70 | + // v1.11.05 The Seal (__metatable locked) |
| 71 | + let tableContent = parts.map((p, idx) => `[${idx+1}]="${p}"`).join(','); |
| 72 | + b += `\n${reg}={${tableContent}};`; |
| 73 | + b += `local ${gs(10)}={__index=${reg},__metatable="protected"};`; |
| 74 | + b += `setmetatable(${reg},${gs(10)});`; |
| 75 | + b += `${f}();`; |
103 | 76 |
|
104 | | -// Event Listeners |
105 | | -document.getElementById('go').onclick = executeProcess; |
| 77 | + oel.value = b; |
| 78 | + |
| 79 | + // Reset UI |
| 80 | + overlay.style.display = 'none'; |
| 81 | + lbar.style.width = '0%'; |
| 82 | + logo.classList.remove('pulse'); |
| 83 | + }, 5000); |
| 84 | +}; |
106 | 85 |
|
| 86 | +// Download logic with binary suffix |
107 | 87 | document.getElementById('dl').onclick = () => { |
108 | 88 | if(!oel.value) return; |
109 | | - const blob = new Blob([oel.value], {type: "text/plain"}); |
| 89 | + const b = new Blob([oel.value], {type: "text/plain"}); |
110 | 90 | const a = document.createElement('a'); |
111 | | - // Filename: pobfus-[RANDOM]-110.lua.txt |
112 | | - a.href = URL.createObjectURL(blob); |
113 | | - a.download = `pobfus-${genID()}-110.lua.txt`; |
| 91 | + a.href = URL.createObjectURL(b); |
| 92 | + a.download = `pobfus-${genID()}.lua.txt`; |
114 | 93 | a.click(); |
115 | | - URL.revokeObjectURL(a.href); |
116 | 94 | }; |
117 | 95 |
|
| 96 | +// Clear logic |
118 | 97 | document.getElementById('cl').onclick = () => { |
119 | 98 | iel.value = ""; |
120 | 99 | oel.value = ""; |
|
0 commit comments