Skip to content

Commit c70e59d

Browse files
authored
Update script.js
1 parent 41d3685 commit c70e59d

1 file changed

Lines changed: 70 additions & 84 deletions

File tree

script.js

Lines changed: 70 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,86 @@
1-
/**
2-
* pobfus // v1.11.06 Ghost-Core
3-
* Universal PC/Mobile Virtualization Engine
4-
* Authorized: tenringsofdoom1x.github.io
5-
*/
6-
7-
const iel = document.getElementById('in');
8-
const oel = document.getElementById('out');
9-
const logo = document.getElementById('logo');
10-
const st = document.getElementById('stxt');
1+
const i = document.getElementById('in');
2+
const o = document.getElementById('out');
3+
const luaImg = document.getElementById('luaImg');
4+
const log = document.getElementById('status-log');
115
const lbar = document.getElementById('lbar');
12-
const overlay = document.getElementById('overlay');
6+
const loader = document.getElementById('output-loader');
7+
const goBtn = document.getElementById('go');
138

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;
9+
const gen = (t, l) => {
10+
let c = t === 'upper' ? "ABCDEFGHIJKLMNOPQRSTUVWXYZ" : t === 'mixed' ? "AbCdEfGhIjKlMnOpQrStUvWxYz" : "lIlIIllllIIl";
11+
return Array.from({length: l}, () => c[Math.floor(Math.random() * c.length)]).join('');
1912
};
2013

21-
// 1.11.01 Fragment Logic: Key Seeding
22-
const genID = () => {
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;
14+
const junkMath = (n) => {
15+
const r = Math.floor(Math.random() * 5000);
16+
return `(${r + n} - ${r})`;
2717
};
2818

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})`;
19+
const phases = [
20+
"pobfus v1.12.01-1 connecting...",
21+
"fetching premium tamper assets...",
22+
"generating polymorphic bytecode...",
23+
"obfuscating control flow...",
24+
"applying xor-masking...",
25+
"sealing virtual machine..."
26+
];
27+
28+
const updateLog = async (text) => {
29+
const entries = log.querySelectorAll('.status-entry');
30+
entries.forEach(e => e.classList.add('dim'));
31+
if (entries.length > 2) entries[0].remove();
32+
33+
const div = document.createElement('div');
34+
div.className = 'status-entry';
35+
div.innerText = text;
36+
log.appendChild(div);
3437
};
3538

36-
document.getElementById('go').onclick = () => {
37-
if(!iel.value.trim()) return;
39+
goBtn.onclick = async () => {
40+
const source = i.value.trim();
41+
if (!source) return;
3842

39-
// Trigger v0.7.00 Pulse Sequence
40-
overlay.style.display = 'flex';
41-
lbar.style.width = '100%';
42-
logo.classList.add('pulse');
43+
loader.style.display = 'flex';
44+
log.innerHTML = '';
45+
lbar.style.width = '0%';
46+
luaImg.classList.remove('fade');
4347

44-
setTimeout(() => {
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-
}
48+
for (let idx = 0; idx < phases.length; idx++) {
49+
if (idx === 2) luaImg.classList.add('fade');
50+
await updateLog(phases[idx]);
51+
lbar.style.width = `${((idx + 1) / phases.length) * 100}%`;
52+
await new Promise(r => setTimeout(r, 600 + Math.random() * 400));
53+
}
6054

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;`;
55+
// Protection Logic
56+
const key = Math.floor(Math.random() * 200) + 50;
57+
const bytes = source.split('').map(c => c.charCodeAt(0) ^ key);
58+
59+
// Robux Icon:  | Premium Icon: 
60+
const ROBUX = "\\238\\128\\139";
61+
const PREM = "\\238\\128\\129";
6962

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}();`;
63+
const V_VM = gen('upper', 25);
64+
const V_KEY = gen('upper', 12);
65+
const V_DATA = gen('', 35);
66+
const V_CRASH = gen('mixed', 18);
67+
const V_ITER = gen('mixed', 8);
7668

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-
};
69+
let payload = `--[[ protected by pobfus v1.12.01-1 ]]\n`;
70+
71+
// Standalone Tamper Function
72+
payload += `local function ${V_CRASH}() while true do warn("${ROBUX} UNAUTHORIZED TAMPER ${PREM}") end end `;
73+
payload += `if (debug and debug.getinfo) or (_G.shared) then ${V_CRASH}() end `;
8574

86-
// Download logic with binary suffix
87-
document.getElementById('dl').onclick = () => {
88-
if(!oel.value) return;
89-
const b = new Blob([oel.value], {type: "text/plain"});
90-
const a = document.createElement('a');
91-
a.href = URL.createObjectURL(b);
92-
a.download = `pobfus-${genID()}.lua.txt`;
93-
a.click();
94-
};
75+
// Virtual Machine
76+
payload += `local ${V_KEY} = ${junkMath(key)} `;
77+
payload += `local ${V_DATA} = {${bytes.join(',')}} `;
78+
payload += `local function ${V_VM}() `;
79+
payload += `if tostring(${V_VM}):find("func") == nil then ${V_CRASH}() end `;
80+
payload += `local s = "" for ${V_ITER}=1, #${V_DATA} do s = s .. string.char(bit32.bxor(${V_DATA}[${V_ITER}], ${V_KEY})) end `;
81+
payload += `local f = loadstring(s) if f then setfenv(f, getfenv()) f() end end `;
82+
payload += `${V_VM}() --[[ end of obfuscation ]]`;
9583

96-
// Clear logic
97-
document.getElementById('cl').onclick = () => {
98-
iel.value = "";
99-
oel.value = "";
84+
o.value = payload;
85+
setTimeout(() => { loader.style.display = 'none'; }, 600);
10086
};

0 commit comments

Comments
 (0)