Skip to content

Commit 0be7c4f

Browse files
authored
Refactor POBFUS engine and enhance features
Refactor the POBFUS engine for improved functionality and clarity. Updated logo, notification functions, and added beautification and random variable generation features.
1 parent d03ca20 commit 0be7c4f

1 file changed

Lines changed: 88 additions & 95 deletions

File tree

script.js

Lines changed: 88 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,108 @@
1-
/* 🛡️ POBFUS v1.0 | CORE ENGINE
2-
DEVELOPED BY: tenringsofdoom1x
3-
STATUS: STABLE_RELEASE
4-
*/
1+
/**
2+
* POBFUS v1.0.6 - CORE ENGINE LOGIC
3+
* Includes: Comment Stripping, Var Shuffling, & High-Density Slop
4+
*/
55

6-
// THE HEART: This logo is the Key. Touching it breaks the math.
7-
const SYNC_HEADER = `ooooooooo. .o8 .o88o.
6+
const LOGO = `ooooooooo. .o8 .o88o.
87
\`888 \`Y88. "888 888 \`"
98
888 .d88' .ooooo. 888oooo. o888oo oooo oooo .oooo.o
109
888ooo88P' d88' \`88b d88' \`88b 888 \`888 \`888 d88( "8
1110
888 888 888 888 888 888 888 888 \`"Y88b.
1211
888 888 888 888 888 888 888 888 o. )88b
1312
o888o \`Y8bod8P' \`Y8bod8P' o888o \`V88V"V8P' 8""888P'
14-
[ POBFUS 1.0 | CAMBUSCATE 0.1.1 ]`;
13+
[ POBFUS 1.0.6 | tenringsofdoom1x ]`;
1514

1615
document.addEventListener('DOMContentLoaded', () => {
17-
const display = document.getElementById('logoDisplay');
18-
if (display) display.innerText = SYNC_HEADER;
16+
const l = document.getElementById('logo');
17+
if (l) l.innerText = LOGO;
1918
});
2019

21-
function _0xErr(m) {
22-
const t = document.getElementById('errorToast');
23-
t.innerText = "⚠️ " + m;
24-
t.style.display = 'block';
25-
setTimeout(() => t.style.display = 'none', 3500);
20+
function notify(m) {
21+
const t = document.getElementById('toast');
22+
t.innerText = m; t.style.display = 'block';
23+
setTimeout(() => { t.style.display = 'none'; }, 2000);
2624
}
2725

28-
async function pobfusStart() {
29-
const _input = document.getElementById('inputCode').value;
30-
const _btn = document.getElementById('protectBtn');
31-
32-
if (!_input || _input.trim().length === 0) return _0xErr("Buffer Empty.");
26+
function test() {
27+
document.getElementById('in').value = "-- Pobfus Test\nprint('Testing Virtualization...')\nlocal x = 10\nif x == 10 then print('Logic Passed') end";
28+
notify("TEST_DATA_LOADED");
29+
}
30+
31+
function randVar() {
32+
const c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
33+
let r = c.charAt(Math.floor(Math.random() * c.length));
34+
for(let i=0; i<4; i++) r += c.charAt(Math.floor(Math.random() * c.length));
35+
return r;
36+
}
37+
38+
// --- BEAUTIFIER: STRIPS COMMENTS & WHITESPACE ---
39+
function beautifyInput(code) {
40+
let clean = code.replace(/--.*$/gm, ''); // Single line
41+
clean = clean.replace(/--\[\[[\s\S]*?\]\]/g, ''); // Multi line
42+
clean = clean.replace(/\n\s*\n/g, '\n'); // Double lines
43+
return clean.trim();
44+
}
45+
46+
async function run() {
47+
let src = document.getElementById('in').value;
48+
const btn = document.getElementById('go');
49+
const out = document.getElementById('out');
3350

34-
_btn.disabled = true;
35-
_btn.innerText = "🏗️ VIRTUALIZING...";
51+
if (!src.trim()) return notify("ERROR: BUFFER_EMPTY");
3652

37-
await new Promise(r => setTimeout(r, 800));
53+
btn.disabled = true;
54+
out.value = "[!] CLEANING SOURCE...\n[!] REMOVING COMMENTS...\n[!] PREPARING VM...";
55+
56+
// Run Beautification before processing
57+
src = beautifyInput(src);
58+
59+
const phases = ["MAPPING_XOR", "INJECTING_SLOP", "FLATTENING_FLOW", "FINALIZING"];
60+
for (let p of phases) {
61+
btn.innerText = p + "...";
62+
out.value += `\n[SYSTEM]: ${p} [OK]`;
63+
await new Promise(r => setTimeout(r, 600));
64+
}
3865

3966
try {
40-
const _sig = SYNC_HEADER.length % 255;
41-
const _seed = 0x6C;
42-
const _k = _seed ^ _sig;
43-
44-
// "Brick Wall" Byte Mapping
45-
const _payload = _input.split('').map(c => {
46-
const hex = (c.charCodeAt(0) ^ _k).toString(16).toUpperCase().padStart(2, '0');
47-
return "0x" + hex + Math.random().toString(36).substring(2, 5);
48-
});
49-
50-
// Roast Selection (Hex-Encoded for "Hell" look)
51-
const _roasts = [
52-
"Nice try, tenringsofdoom1x owns you.",
53-
"Stay mad, skid.",
54-
"Decompiler crashed. Try again?",
55-
"Imagine trying to read this wall."
56-
];
57-
const _chosen = _roasts[Math.floor(Math.random() * _roasts.length)];
58-
const _trap = _chosen.split('').map(c => "0x" + (c.charCodeAt(0) ^ _k).toString(16).toUpperCase().padStart(2, '0')).join(',');
59-
60-
// Chunking the payload for the "Fat" look
61-
let _wall = "";
62-
for (let i = 0; i < _payload.length; i++) {
63-
_wall += _payload[i] + (i === _payload.length - 1 ? "" : ", ");
64-
if ((i + 1) % 8 === 0) _wall += "\n ";
65-
}
66-
67-
// OUTPUT CONSTRUCTION
68-
const _output = `--[[
69-
${SYNC_HEADER}
70-
]]
71-
local Eb,ob,La,e_,Za,bb=type,bit32.bxor,getmetatable,pairs,nil,nil
72-
local G,lb,Yb,L,Zc,gc,Dc,K,Nc,x,Xa,ea,h,zc,Pc,Hc,O,Ka,E,F,_c,ec,ab,Bc,Ub,Ua,qb,sa,fb,Sa,nc,ca,rb,nb,jb,fa_,vc,Ya,zb,a_
73-
74-
gc,Sa,L = (string.char),(string.byte),(bit32.bxor);
75-
local _D = {
76-
${_wall}
67+
const key = (LOGO.length % 255) ^ 108;
68+
69+
// SLOP GENERATION (5-char junk tail)
70+
const slop = src.split('').map(c => {
71+
const h = (c.charCodeAt(0) ^ key).toString(16).toUpperCase().padStart(2, '0');
72+
const j = Math.random().toString(36).substring(2, 7);
73+
return "0x" + h + j;
74+
}).join(',');
75+
76+
// ROAST TRAP
77+
const rst = "tenringsofdoom1x_owns_you".split('').map(c =>
78+
"0x" + (c.charCodeAt(0) ^ key).toString(16).toUpperCase().padStart(2, '0')
79+
).join(',');
80+
81+
// DYNAMIC LUA VARS
82+
const v = { p: randVar(), c: randVar(), x: randVar(), d: randVar(), t: randVar(), vm: randVar(), r: randVar() };
83+
84+
// THE MONOLITH BRICK WALL
85+
const final = `--[[${LOGO}\n [!] PROTECTED BY POBFUS v1.0.6\n [!] PROJECT: https://tenringsofdoom1x.github.io/Pobfus/]]\nlocal ${v.p},${v.c},${v.x}=pairs,(string.char),(bit32.bxor);local ${v.d}={${slop}}local ${v.t}={${rst}}local ${v.vm}=function(o,k)local r,s="",100 repeat if s==100 then for _,v in ${v.p}(o)do local h=tostring(v):sub(1,4)local b=tonumber(h,16)if b then r=r..${v.c}(${v.x}(b,k))end end s=0 end until s==0 return r end local ${v.r}=function()local k=108~(#debug.getinfo(1).source%255)local ok,res=pcall(function()return(loadstring or load)(${v.vm}(${v.data||v.d},k))end)if ok and res then pcall(res)else print(${v.vm}(${v.t},k))while true do end end end ${v.r}()`;
86+
87+
out.value = final;
88+
document.getElementById('dl').style.display = 'inline-block';
89+
notify("OBFUSCATION_COMPLETE");
90+
91+
} catch (e) { notify("ENGINE_CRASH"); }
92+
finally { btn.disabled = false; btn.innerText = "PROTECT_SOURCE"; }
7793
}
78-
local _T = {${_trap}}
79-
80-
local _VM = function(_o, _key)
81-
local _r, _st = "", 100
82-
repeat
83-
if _st == 100 then
84-
for _, _v in pairs(_o) do
85-
local _b = tonumber(tostring(_v):sub(1,4), 16)
86-
if _b then _r = _r .. gc(L(_b, _key)) end
87-
end
88-
_st = 0
89-
end
90-
until _st == 0
91-
return _r
92-
end
93-
94-
local _RUN = function()
95-
local _key = ${_seed} ~ (#debug.getinfo(1).source % 255)
96-
local _ok, _res = pcall(function() return (loadstring or load)(_VM(_D, _key)) end)
97-
if _ok and _res then pcall(_res) else print(_VM(_T, _key)) while true do end end
98-
end
99-
_RUN()`;
100-
101-
document.getElementById('outputCode').value = _output;
102-
} catch (e) {
103-
_0xErr("Engine Collapse.");
104-
} finally {
105-
_btn.disabled = false;
106-
_btn.innerText = "Deploy v1.0";
107-
}
94+
95+
function copy() {
96+
const o = document.getElementById('out');
97+
if (!o.value) return; o.select(); document.execCommand('copy');
98+
notify("CLIPBOARD_UPDATED");
10899
}
109100

110-
function copyCode() {
111-
const o = document.getElementById('outputCode');
112-
o.select();
113-
document.execCommand('copy');
114-
_0xErr("Build Copied to Clipboard!");
115-
}
101+
function save() {
102+
const c = document.getElementById('out').value;
103+
const b = new Blob([c], { type: 'text/plain' });
104+
const u = URL.createObjectURL(b);
105+
const a = document.createElement('a');
106+
a.href = u; a.download = 'pobfus_out.lua'; a.click();
107+
URL.revokeObjectURL(u); notify("HEX_FILE_SAVED");
108+
}

0 commit comments

Comments
 (0)