|
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | | - <title>tenringsofdoom1x / Pobfus-1.0</title> |
| 6 | + <title>Pobfus-1.0.6 // tenringsofdoom1x</title> |
7 | 7 | <style> |
8 | | - :root { |
9 | | - --bg: #0d1117; --subtle: #161b22; --border: #30363d; |
10 | | - --text: #c9d1d9; --accent: #58a6ff; --green: #238636; |
11 | | - } |
12 | | - body { background: var(--bg); color: var(--text); font-family: sans-serif; margin: 0; display: flex; flex-direction: column; align-items: center; } |
13 | | - .header { width: 100%; background: var(--subtle); padding: 15px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 15px; box-sizing: border-box; } |
14 | | - .status { background: rgba(56, 139, 253, 0.1); color: var(--accent); border: 1px solid var(--accent); padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; } |
15 | | - .container { width: 90%; max-width: 900px; margin: 30px; border: 1px solid var(--border); border-radius: 6px; background: var(--subtle); overflow: hidden; } |
16 | | - .logo-box { padding: 20px; background: #010409; font-family: monospace; font-size: 8px; color: var(--accent); white-space: pre; text-align: center; border-bottom: 1px solid var(--border); } |
17 | | - textarea { width: 100%; height: 200px; background: #010409; color: #7ee787; border: 1px solid var(--border); padding: 10px; font-family: monospace; font-size: 12px; box-sizing: border-box; resize: vertical; outline: none; } |
18 | | - .controls { padding: 15px; display: flex; gap: 10px; } |
19 | | - .btn { padding: 8px 18px; border-radius: 6px; cursor: pointer; border: 1px solid var(--border); background: #21262d; color: white; font-weight: 600; } |
20 | | - .btn-primary { background: var(--green); border: none; } |
21 | | - #toast { position: fixed; top: 20px; right: 20px; background: #21262d; border: 1px solid #f85149; color: #f85149; padding: 12px; display: none; border-radius: 6px; z-index: 999; } |
| 8 | + :root { --bg: #0d1117; --sub: #161b22; --brd: #30363d; --txt: #c9d1d9; --acc: #58a6ff; --grn: #238636; } |
| 9 | + body { background: var(--bg); color: var(--txt); font-family: 'Courier New', monospace; margin: 0; display: flex; flex-direction: column; align-items: center; min-height: 100vh; } |
| 10 | + .header { width: 100%; background: var(--sub); padding: 10px 20px; border-bottom: 1px solid var(--brd); display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; } |
| 11 | + .badge { background: rgba(35, 134, 54, 0.1); color: #3fb950; border: 1px solid rgba(63, 185, 80, 0.3); padding: 2px 8px; border-radius: 4px; font-size: 10px; letter-spacing: 1px; } |
| 12 | + .container { width: 95%; max-width: 900px; margin-top: 30px; border: 1px solid var(--brd); background: var(--sub); border-radius: 4px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.5); } |
| 13 | + .logo-box { padding: 15px; background: #010409; font-size: 8px; color: var(--acc); white-space: pre; text-align: center; border-bottom: 1px solid var(--brd); overflow-x: auto; } |
| 14 | + .editor { padding: 15px; display: flex; flex-direction: column; gap: 10px; } |
| 15 | + textarea { width: 100%; height: 200px; background: #010409; color: #8b949e; border: 1px solid var(--brd); padding: 10px; font-size: 12px; box-sizing: border-box; resize: none; outline: none; transition: 0.2s; } |
| 16 | + textarea:focus { border-color: var(--acc); color: #fff; } |
| 17 | + .controls { display: flex; gap: 8px; flex-wrap: wrap; } |
| 18 | + .btn { padding: 8px 16px; border-radius: 3px; cursor: pointer; border: 1px solid var(--brd); background: #21262d; color: #c9d1d9; font-size: 11px; font-weight: bold; text-transform: uppercase; } |
| 19 | + .btn:hover { background: #30363d; border-color: #8b949e; } |
| 20 | + .btn-prim { background: var(--grn); color: white; border: none; } |
| 21 | + .btn-prim:disabled { opacity: 0.5; cursor: wait; } |
| 22 | + #toast { position: fixed; top: 20px; background: var(--acc); color: #000; padding: 5px 15px; border-radius: 2px; display: none; font-weight: bold; z-index: 99; font-size: 12px; } |
22 | 23 | </style> |
23 | 24 | </head> |
24 | 25 | <body> |
25 | 26 |
|
26 | | -<div id="toast"></div> |
| 27 | +<div id="toast">SYSTEM_ONLINE</div> |
27 | 28 |
|
28 | 29 | <div class="header"> |
29 | | - <span style="font-weight: 600;">tenringsofdoom1x / Pobfus-1.0</span> |
30 | | - <span class="status">v1.0 STABLE</span> |
| 30 | + <div style="font-weight: bold; font-size: 14px; letter-spacing: 2px;">POBFUS_v1.0.6</div> |
| 31 | + <div class="badge">STABLE_BUILD</div> |
31 | 32 | </div> |
32 | 33 |
|
33 | 34 | <div class="container"> |
34 | 35 | <div class="logo-box" id="logo"></div> |
35 | | - <div style="padding: 20px;"> |
36 | | - <textarea id="input" placeholder="-- Paste Lua Source Here"></textarea> |
| 36 | + <div class="editor"> |
| 37 | + <textarea id="in" placeholder="-- [ INPUT_BUFFER ] -- Paste source here..."></textarea> |
| 38 | + |
37 | 39 | <div class="controls"> |
38 | | - <button class="btn btn-primary" onclick="runObfuscation()">Protect Script</button> |
39 | | - <button class="btn" onclick="copy()">Copy Result</button> |
| 40 | + <button class="btn btn-prim" id="go" onclick="run()">PROTECT_SOURCE</button> |
| 41 | + <button class="btn" onclick="test()">LOAD_SAMPLE</button> |
| 42 | + <button class="btn" onclick="copy()">COPY_HEX</button> |
| 43 | + <button class="btn" id="dl" style="display:none" onclick="save()">DOWNLOAD_.LUA</button> |
40 | 44 | </div> |
41 | | - <textarea id="output" readonly placeholder="The 'Fat Wall' will appear here..."></textarea> |
| 45 | + |
| 46 | + <textarea id="out" readonly placeholder="-- [ OUTPUT_BRICK_WALL ] -- Encrypted payload will appear here..."></textarea> |
42 | 47 | </div> |
43 | 48 | </div> |
44 | 49 |
|
45 | | -<script> |
46 | | - // 1. THE SYNCED SOURCE |
47 | | - const LOGO = `ooooooooo. .o8 .o88o. |
48 | | -\`888 \`Y88. "888 888 \`" |
49 | | - 888 .d88' .ooooo. 888oooo. o888oo oooo oooo .oooo.o |
50 | | - 888ooo88P' d88' \`88b d88' \`88b 888 \`888 \`888 d88( "8 |
51 | | - 888 888 888 888 888 888 888 888 \`"Y88b. |
52 | | - 888 888 888 888 888 888 888 888 o. )88b |
53 | | -o888o \`Y8bod8P' \`Y8bod8P' o888o \`V88V"V8P' 8""888P' |
54 | | - [ POBFUS 1.0 | CAMBUSCATE 0.1.1 ]`; |
55 | | - |
56 | | - document.getElementById('logo').innerText = LOGO; |
57 | | - |
58 | | - function notify(m) { |
59 | | - const t = document.getElementById('toast'); |
60 | | - t.innerText = "⚠️ " + m; t.style.display = 'block'; |
61 | | - setTimeout(() => t.style.display = 'none', 3000); |
62 | | - } |
63 | | - |
64 | | - // 2. THE INTERNAL ENGINE |
65 | | - async function runObfuscation() { |
66 | | - const code = document.getElementById('input').value; |
67 | | - if (!code) return notify("No Input Detected."); |
68 | | - |
69 | | - const sig = LOGO.length % 255; |
70 | | - const seed = 0x6C; |
71 | | - const key = seed ^ sig; |
72 | | - |
73 | | - // Encrypting Input into the "Fat" Table |
74 | | - const bytes = code.split('').map(c => { |
75 | | - const h = (c.charCodeAt(0) ^ key).toString(16).toUpperCase().padStart(2, '0'); |
76 | | - return "0x" + h + Math.random().toString(36).substring(2, 5); |
77 | | - }); |
78 | | - |
79 | | - // Encrypting a Roast |
80 | | - const roast = "Nice try skid, tenringsofdoom1x owns you.".split('').map(c => |
81 | | - "0x" + (c.charCodeAt(0) ^ key).toString(16).toUpperCase().padStart(2, '0') |
82 | | - ).join(','); |
83 | | - |
84 | | - let wall = ""; |
85 | | - for (let i = 0; i < bytes.length; i++) { |
86 | | - wall += bytes[i] + (i === bytes.length - 1 ? "" : ", "); |
87 | | - if ((i + 1) % 8 === 0) wall += "\n "; |
88 | | - } |
89 | | - |
90 | | - // 3. GENERATING THE OUTPUT (With your Fat Header names) |
91 | | - const result = `--[[ |
92 | | -${LOGO} |
93 | | -]] |
94 | | -local Eb,ob,La,e_,Za,bb=type,bit32.bxor,getmetatable,pairs,nil,nil |
95 | | -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_ |
96 | | -
|
97 | | -gc,Sa,L = (string.char),(string.byte),(bit32.bxor); |
98 | | -local _D = { |
99 | | - ${wall} |
100 | | -} |
101 | | -local _T = {${roast}} |
102 | | -
|
103 | | -local _VM = function(_o, _k) |
104 | | - local _r, _s = "", 100 |
105 | | - repeat |
106 | | - if _s == 100 then |
107 | | - for _, _v in pairs(_o) do |
108 | | - local _hex = tostring(_v):sub(1,4) |
109 | | - _r = _r .. gc(L(tonumber(_hex, 16), _k)) |
110 | | - end |
111 | | - _s = 0 |
112 | | - end |
113 | | - until _s == 0 |
114 | | - return _r |
115 | | -end |
116 | | -
|
117 | | -local _R = function() |
118 | | - local _k = ${seed} ~ (#debug.getinfo(1).source % 255) |
119 | | - local _ok, _res = pcall(function() return (loadstring or load)(_VM(_D, _k)) end) |
120 | | - if _ok and _res then pcall(_res) else print(_VM(_T, _k)) while true do end end |
121 | | -end |
122 | | -_R()`; |
123 | | - |
124 | | - document.getElementById('output').value = result; |
125 | | - } |
126 | | - |
127 | | - function copy() { |
128 | | - const o = document.getElementById('output'); |
129 | | - o.select(); document.execCommand('copy'); |
130 | | - alert("Fat Build Copied!"); |
131 | | - } |
132 | | -</script> |
133 | | - |
| 50 | +<script src="script.js"></script> |
134 | 51 | </body> |
135 | 52 | </html> |
0 commit comments