Skip to content

Commit 934abed

Browse files
authored
Refactor script.js for improved readability and structure
1 parent f78be96 commit 934abed

1 file changed

Lines changed: 95 additions & 74 deletions

File tree

script.js

Lines changed: 95 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,114 @@
1-
(function(_0xCORE) {
2-
const _0xBC = (l) => { let r = "I"; for(let i=0; i<l; i++) r += "Il".charAt(Math.floor(Math.random() * 2)); return r; };
3-
const _0xS = (h) => h.split(',').map(b => String.fromCharCode(parseInt(b, 16) ^ 0x6F)).join('');
1+
(function() {
2+
const POBFUS_LOGO = ` _______ __ ___
3+
|_ __ \\ [ | .' ..]
4+
| |__) | .--. | |.--. _| |_ __ _ .--.
5+
| ___// .'\`\\ \\| '/'\`\\ \\'-| |-'[ | | | ( (\`\\]
6+
_| |_ | \\__. || \\__/ | | | | \\_/ |, \`'.'.
7+
|_____| '.__.'[__;.__.' [___] '.__.'_/([__) )
8+
9+
[ Pobfus 1.11.01 | CamBuscate 0.2.1 ]`;
410

5-
const _0xROASTS = [
11+
const ROASTS = [
612
"your decompiler likes me~ too much...",
713
"feed me to your poor decompiler senpai!!!~",
8-
"is that a hook? how aggressive, senpai~",
9-
"your decompiler is blushing at this complexity~"
14+
"staring at my bytecode again? how lewd~",
15+
"is that a hook? how aggressive, senpai~"
1016
];
1117

12-
const _STR = {
13-
logo: ` _______ __ ___ \n|_ __ \\ [ | .' ..] \n | |__) | .--. | |.--. _| |_ __ _ .--. \n | ___// .'\`\\ \\| '/'\`\\ \\'-| |-'[ | | | ( (\`\\] \n _| |_ | \\__. || \\__/ | | | | \\_/ |, \`'.'. \n|_____| '.__.'[__;.__.' [___] '.__.'_/([__) ) \n \n [ Pobfus 1.11.01 | CamBuscate 0.2.1 ]`,
14-
ui_run: _0xS("3C,20,22,3F,26,23,2A,4F,33,2E,21,20"), // "COMPILE_DATA"
15-
ui_copy: _0xS("2C,20,3F,36"), // "COPY"
16-
ui_dl: _0xS("2D,3E,37,21,2E,20,2E,2B,2B,2B") // "DOWNLOAD..."
18+
const generateBarcode = (l) => {
19+
let r = "I";
20+
for(let i=0; i<l; i++) r += "Il".charAt(Math.floor(Math.random() * 2));
21+
return r;
22+
};
23+
24+
const generateFileName = () => {
25+
const c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*";
26+
let r = "pobfus-";
27+
for(let i=0; i<25; i++) r += c.charAt(Math.floor(Math.random() * c.length));
28+
return r + ".lua";
1729
};
1830

1931
document.addEventListener('DOMContentLoaded', () => {
20-
document.getElementById('logo').textContent = _STR.logo;
21-
document.getElementById('go').innerText = _STR.ui_run;
22-
document.getElementById('cp').innerText = _STR.ui_copy;
23-
document.getElementById('dl').innerText = _STR.ui_dl;
24-
});
32+
document.getElementById('logo').textContent = POBFUS_LOGO;
2533

26-
window.run = async function() {
27-
const _i = document.getElementById('in');
28-
const _o = document.getElementById('out');
29-
const _s = document.getElementById('status');
30-
const _b = document.getElementById('go');
34+
const btnRun = document.getElementById('go');
35+
const btnCopy = document.getElementById('cp');
36+
const btnDown = document.getElementById('dl');
37+
const input = document.getElementById('in');
38+
const output = document.getElementById('out');
39+
const status = document.getElementById('status');
3140

32-
if (!_i.value.trim()) return;
33-
_b.disabled = true;
34-
_s.innerText = "CAMBUSCATE_0.2.1: STABILIZING_PRINT_STREAMS...";
41+
btnRun.onclick = async () => {
42+
if (!input.value.trim()) return;
43+
44+
btnRun.disabled = true;
45+
status.innerText = "CAMBUSCATE: VIRTUALIZING_STREAMS...";
46+
47+
await new Promise(r => setTimeout(r, 1000));
3548

36-
await new Promise(r => setTimeout(r, 1000));
49+
try {
50+
const key = Math.floor(Math.random() * 90) + 40;
51+
const bytes = input.value.split('');
52+
let stream = [];
3753

38-
try {
39-
const _k = Math.floor(Math.random() * 90) + 40;
40-
const _raw = _i.value.split('');
41-
let _stream = [];
54+
bytes.forEach((char, i) => {
55+
stream.push("0x" + (char.charCodeAt(0) ^ key).toString(16).toUpperCase());
56+
// The "Screaming Middle" Roast Injection
57+
if (i % 8 === 0) {
58+
const roast = ROASTS[Math.floor(Math.random() * ROASTS.length)];
59+
stream.push(`"${roast}_${Math.random().toString(36).substring(7)}"`);
60+
}
61+
});
4262

43-
// Chaos Injection Logic
44-
_raw.forEach((c, idx) => {
45-
_stream.push("0x" + (c.charCodeAt(0) ^ _k).toString(16).toUpperCase());
46-
if (idx % 8 === 0) {
47-
const r = _0xROASTS[Math.floor(Math.random()*_0xROASTS.length)];
48-
_stream.push(`"${r}_${Math.random().toString(36).substring(4)}"`);
49-
}
50-
});
63+
const v = {
64+
env: generateBarcode(12),
65+
out: generateBarcode(10),
66+
tab: generateBarcode(14),
67+
vm: generateBarcode(16)
68+
};
5169

52-
const _v = { env: _0xBC(8), vm: _0xBC(10), out: _0xBC(9), tab: _0xBC(11) };
70+
// The MoonSec-Style Minified Brick Construction
71+
let lua = `--[[${POBFUS_LOGO}\n [!] POBFUS_V1.11.01\n [!] ENGINE: CAMBUSCATE_0.2.1]]\n`;
72+
73+
// Anti-Decompiler Performance Slop
74+
for(let i=1; i<=3; i++) {
75+
lua += `local P_${i}="";for i=1,350 do P_${i}=P_${i}.."${Math.random().toString(36).substring(7)}" end;`;
76+
}
5377

54-
// MINIFIED OUTPUT CONSTRUCTION
55-
let _p = `--[[${_STR.logo}\n[!] POBFUS_1.11.01]] `;
56-
57-
// Environment Lockdown
58-
_p += `local ${_v.env}=(getfenv(0) or _G);local ${_v.out}="";local ${_v.tab}={${_stream.join(',')}};`;
59-
60-
// Fixed Byte-Slide VM (Handles Print Stability)
61-
_p += `local function ${_v.vm}(d,k)for _,v in pairs(d)do if type(v)=="\110\117\109\98\101\114"then `;
62-
_p += `${_v.out}=${_v.out}..${_v.env}["\115\116\114\105\110\103"]["\99\104\97\114"](${_v.env}["\98\105\116\51\50"]["\98\120\111\114"](v,k))`;
63-
_p += `else local _="${_0xROASTS[1]}" end end;`;
64-
65-
// loadstring Gate
66-
_p += `local x,e=(loadstring or load)(${_v.out});if x then local s,m=pcall(x)if not s then warn("\80\79\66\70\85\83\95\82\85\78\84\73\77\69\95\69\82\82: "..tostring(m))end else warn("\80\79\66\70\85\83\95\86\77\95\69\82\82: "..tostring(e))end end;`;
67-
_p += `${_v.vm}(${_v.tab},${_k});`;
78+
// Core Logic
79+
lua += `local ${v.env}=(getfenv(0) or _G);local ${v.out}="";local ${v.tab}={${stream.join(',')}};`;
80+
lua += `local function ${v.vm}(d,k)for _,v in pairs(d)do if type(v)=="\110\117\109\98\101\114"then `;
81+
lua += `${v.out}=${v.out}..${v.env}["\115\116\114\105\110\103"]["\99\104\97\114"](${v.env}["\98\105\116\51\50"]["\98\120\111\114"](v,k))`;
82+
lua += `else local _="${ROASTS[1]}" end end;`;
83+
lua += `local x,e=(loadstring or load)(${v.out});if x then local s,m=pcall(x)if not s then warn("\82\85\78\84\73\77\69\95\69\82\82: "..tostring(m))end else warn("\86\77\95\69\82\82: "..tostring(e))end end;`;
84+
lua += `${v.vm}(${v.tab},${key});`;
6885

69-
_o.value = _p;
70-
_s.innerText = "POBFUS_1.11.01: STABLE";
71-
document.getElementById('dl').style.display = 'inline-block';
86+
// Table Termination Slop
87+
lua += `local ${generateBarcode(8)}={["\82\79\65\83\84"]="${ROASTS[2]}",["\74\85\78\75"]="${Math.random().toString(36).repeat(5)}"};`;
7288

73-
} catch (e) { _s.innerText = "CRITICAL_COMPILER_FAILURE"; }
74-
finally { _b.disabled = false; }
75-
};
89+
output.value = lua;
90+
btnDown.style.visibility = "visible";
91+
status.innerText = "POBFUS: SUCCESS";
92+
} catch (e) {
93+
status.innerText = "ERROR: COMPILER_CRASH";
94+
} finally {
95+
btnRun.disabled = false;
96+
}
97+
};
7698

77-
// Randomized Filename
78-
const _0xFILE = () => {
79-
const c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*";
80-
let r = "pobfus-";
81-
for(let i=0; i<25; i++) r += c.charAt(Math.floor(Math.random()*c.length));
82-
return r + ".lua";
83-
};
99+
btnCopy.onclick = () => {
100+
output.select();
101+
document.execCommand('copy');
102+
status.innerText = "COPIED_TO_CLIPBOARD";
103+
};
84104

85-
document.getElementById('go').onclick = window.run;
86-
document.getElementById('cp').onclick = () => { document.getElementById('out').select(); document.execCommand('copy'); };
87-
document.getElementById('dl').onclick = () => {
88-
const a = document.createElement('a');
89-
a.href = URL.createObjectURL(new Blob([document.getElementById('out').value]));
90-
a.download = _0xFILE();
91-
a.click();
92-
};
93-
})(window);
105+
btnDown.onclick = () => {
106+
const blob = new Blob([output.value], { type: 'text/plain' });
107+
const a = document.createElement('a');
108+
a.href = URL.createObjectURL(blob);
109+
a.download = generateFileName();
110+
a.click();
111+
status.innerText = "FILE_EXPORTED";
112+
};
113+
});
114+
})();

0 commit comments

Comments
 (0)