|
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | | - <title>Pobfus 0.8 | Using CamBuscate Priv</title> |
| 6 | + <title>tenringsofdoom1x / Pobfus-0.8</title> |
7 | 7 | <style> |
| 8 | + /* GitHub Dark Theme Palette */ |
8 | 9 | :root { |
9 | | - --bg: #0d1117; |
10 | | - --panel: #161b22; |
11 | | - --accent: #58a6ff; |
12 | | - --neon: #7ee787; |
| 10 | + --color-canvas-default: #0d1117; |
| 11 | + --color-canvas-subtle: #161b22; |
| 12 | + --color-border-default: #30363d; |
| 13 | + --color-fg-default: #c9d1d9; |
| 14 | + --color-fg-muted: #8b949e; |
| 15 | + --color-accent-fg: #58a6ff; |
| 16 | + --color-btn-bg: #21262d; |
| 17 | + --color-btn-hover-bg: #30363d; |
| 18 | + --color-btn-primary-bg: #238636; |
| 19 | + --color-btn-primary-hover-bg: #2ea043; |
13 | 20 | } |
| 21 | + |
14 | 22 | body { |
15 | | - background: var(--bg); |
16 | | - color: #c9d1d9; |
17 | | - font-family: 'Courier New', monospace; |
| 23 | + background-color: var(--color-canvas-default); |
| 24 | + color: var(--color-fg-default); |
| 25 | + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; |
| 26 | + margin: 0; |
18 | 27 | display: flex; |
19 | | - justify-content: center; |
20 | | - padding: 20px; |
| 28 | + flex-direction: column; |
| 29 | + align-items: center; |
| 30 | + min-height: 100vh; |
| 31 | + -webkit-user-select: none; |
| 32 | + user-select: none; |
21 | 33 | } |
22 | | - .container { |
| 34 | + |
| 35 | + /* Top Header Navigation Mockup */ |
| 36 | + .header { |
23 | 37 | width: 100%; |
| 38 | + background-color: var(--color-canvas-subtle); |
| 39 | + padding: 16px; |
| 40 | + border-bottom: 1px solid var(--color-border-default); |
| 41 | + display: flex; |
| 42 | + align-items: center; |
| 43 | + gap: 10px; |
| 44 | + font-weight: 600; |
| 45 | + } |
| 46 | + |
| 47 | + .container { |
| 48 | + width: 90%; |
24 | 49 | max-width: 900px; |
25 | | - background: var(--panel); |
26 | | - padding: 25px; |
27 | | - border-radius: 12px; |
28 | | - border: 1px solid #30363d; |
29 | | - box-shadow: 0 0 20px rgba(0,0,0,0.5); |
| 50 | + margin-top: 40px; |
| 51 | + border: 1px solid var(--color-border-default); |
| 52 | + border-radius: 6px; |
| 53 | + background-color: var(--color-canvas-subtle); |
| 54 | + overflow: hidden; |
| 55 | + } |
| 56 | + |
| 57 | + .repo-header { |
| 58 | + padding: 16px; |
| 59 | + background-color: var(--color-canvas-default); |
| 60 | + border-bottom: 1px solid var(--color-border-default); |
| 61 | + } |
| 62 | + |
| 63 | + .logo-box { |
| 64 | + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; |
| 65 | + font-size: 8px; |
| 66 | + line-height: 1.2; |
| 67 | + color: var(--color-accent-fg); |
| 68 | + white-space: pre; |
| 69 | + padding: 20px; |
| 70 | + background: #010409; |
| 71 | + text-align: center; |
| 72 | + overflow-x: auto; |
| 73 | + } |
| 74 | + |
| 75 | + .editor-section { |
| 76 | + padding: 16px; |
30 | 77 | } |
31 | | - h1 { color: var(--accent); text-align: center; letter-spacing: 3px; } |
| 78 | + |
32 | 79 | textarea { |
33 | 80 | width: 100%; |
34 | | - height: 200px; |
35 | | - background: #010409; |
36 | | - color: var(--neon); |
37 | | - border: 1px solid #30363d; |
| 81 | + height: 220px; |
| 82 | + background-color: #010409; |
| 83 | + color: #7ee787; |
| 84 | + border: 1px solid var(--color-border-default); |
38 | 85 | border-radius: 6px; |
39 | | - padding: 10px; |
40 | | - margin: 10px 0; |
| 86 | + padding: 12px; |
| 87 | + font-family: ui-monospace, SFMono-Regular, monospace; |
| 88 | + font-size: 13px; |
| 89 | + resize: vertical; |
| 90 | + outline: none; |
41 | 91 | box-sizing: border-box; |
| 92 | + user-select: text; |
42 | 93 | } |
43 | | - button { |
44 | | - width: 100%; |
45 | | - padding: 15px; |
46 | | - background: var(--accent); |
47 | | - color: white; |
48 | | - border: none; |
49 | | - border-radius: 6px; |
50 | | - font-weight: bold; |
| 94 | + |
| 95 | + textarea:focus { |
| 96 | + border-color: var(--color-accent-fg); |
| 97 | + box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.3); |
| 98 | + } |
| 99 | + |
| 100 | + /* GitHub Style Buttons */ |
| 101 | + .btn { |
| 102 | + display: inline-block; |
| 103 | + padding: 5px 16px; |
| 104 | + font-size: 14px; |
| 105 | + font-weight: 500; |
| 106 | + line-height: 20px; |
51 | 107 | cursor: pointer; |
52 | | - transition: 0.3s; |
| 108 | + border: 1px solid rgba(240,246,252,0.1); |
| 109 | + border-radius: 6px; |
| 110 | + transition: .2s cubic-bezier(0.3, 0, 0.5, 1); |
| 111 | + color: var(--color-fg-default); |
| 112 | + background-color: var(--color-btn-bg); |
| 113 | + text-align: center; |
53 | 114 | } |
54 | | - button:hover { opacity: 0.8; transform: scale(1.01); } |
55 | | - .logo-pre { |
56 | | - font-size: 8px; |
57 | | - line-height: 8px; |
58 | | - color: var(--accent); |
| 115 | + |
| 116 | + .btn:hover { |
| 117 | + background-color: var(--color-btn-hover-bg); |
| 118 | + border-color: #8b949e; |
| 119 | + } |
| 120 | + |
| 121 | + .btn-primary { |
| 122 | + color: #fff; |
| 123 | + background-color: var(--color-btn-primary-bg); |
| 124 | + } |
| 125 | + |
| 126 | + .btn-primary:hover { |
| 127 | + background-color: var(--color-btn-primary-hover-bg); |
| 128 | + } |
| 129 | + |
| 130 | + .controls { |
| 131 | + display: flex; |
| 132 | + gap: 8px; |
| 133 | + margin-top: 10px; |
| 134 | + flex-wrap: wrap; |
| 135 | + } |
| 136 | + |
| 137 | + footer { |
| 138 | + margin-top: 40px; |
| 139 | + padding: 20px; |
| 140 | + color: var(--color-fg-muted); |
| 141 | + font-size: 12px; |
59 | 142 | text-align: center; |
60 | | - white-space: pre; |
61 | | - margin-bottom: 20px; |
| 143 | + } |
| 144 | + |
| 145 | + .branch-label { |
| 146 | + background-color: #1f6feb26; |
| 147 | + color: var(--color-accent-fg); |
| 148 | + padding: 2px 8px; |
| 149 | + border-radius: 12px; |
| 150 | + font-size: 12px; |
| 151 | + margin-left: 8px; |
62 | 152 | } |
63 | 153 | </style> |
64 | 154 | </head> |
65 | 155 | <body> |
66 | | - <div class="container"> |
67 | | - <h1>POBFUS 0.7</h1> |
68 | | - <div class="logo-pre" id="logoDisplay"></div> |
69 | | - |
70 | | - <label>INPUT LUA SOURCE:</label> |
71 | | - <textarea id="inputCode" placeholder="print('Hello World')"></textarea> |
72 | | - |
73 | | - <button onclick="pobfusStart()">PROTECT & VIRTUALIZE</button> |
74 | 156 |
|
75 | | - <div style="display: flex; gap: 10px; margin-top: 10px;"> |
76 | | - <button onclick="copyToClipboard()" style="background: #238636;">COPY CODE</button> |
77 | | - <button onclick="downloadFile()" style="background: #8957e5;">DOWNLOAD .LUA</button> |
78 | | -</div> |
| 157 | + <div class="header"> |
| 158 | + <svg height="32" viewBox="0 0 16 16" width="32" style="fill:white;"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> |
| 159 | + <span>tenringsofdoom1x / Pobfus-0.8</span> |
| 160 | + <span class="branch-label">beta</span> |
| 161 | + </div> |
79 | 162 |
|
80 | | -<div id="toast" style="display:none; position:fixed; bottom:20px; right:20px; background: #58a6ff; color:white; padding:10px 20px; border-radius:5px; font-weight:bold;">Copied!</div> |
| 163 | + <div class="container"> |
| 164 | + <div class="repo-header"> |
| 165 | + <div class="logo-box" id="logoDisplay"></div> |
| 166 | + </div> |
81 | 167 |
|
82 | | - <label style="margin-top: 20px; display: block;">OBFUSCATED OUTPUT:</label> |
83 | | - <textarea id="outputCode" readonly></textarea> |
| 168 | + <div class="editor-section"> |
| 169 | + <label style="color: var(--color-fg-muted); font-size: 12px;">MAIN SOURCE</label> |
| 170 | + <textarea id="inputCode" placeholder="-- Input Lua code to virtualize..."></textarea> |
| 171 | + |
| 172 | + <div class="controls"> |
| 173 | + <button class="btn btn-primary" onclick="pobfusStart()">Protect Code</button> |
| 174 | + <button class="btn" onclick="copyToClipboard()">Copy</button> |
| 175 | + <button class="btn" onclick="downloadFile()">Download</button> |
| 176 | + </div> |
| 177 | + |
| 178 | + <label style="color: var(--color-fg-muted); font-size: 12px; margin-top: 20px; display: block;">VIRTUALIZED OUTPUT</label> |
| 179 | + <textarea id="outputCode" readonly placeholder="-- Protected code will appear here..."></textarea> |
| 180 | + </div> |
84 | 181 | </div> |
85 | 182 |
|
| 183 | + <footer> |
| 184 | + © 2026 tenringsofdoom1x. Powered by CamBuscate Virtualization Technology. |
| 185 | + </footer> |
| 186 | + |
86 | 187 | <script> |
87 | 188 | const ASCII_LOGO = String.raw` |
88 | | - /$$$$$$$ /$$ /$$$$$$ |
89 | | -| $$__ $$ | $$ /$$__ $$ |
90 | | -| $$ \ $$ /$$$$$$ | $$$$$$$ | $$ \__//$$ /$$ /$$$$$$$ |
91 | | -| $$$$$$$//$$__ $$| $$__ $$| $$$$ | $$ | $$ /$$_____/ |
92 | | -| $$____/| $$ \ $$| $$ \ $$| $$_/ | $$ | $$| $$$$$$ |
93 | | -| $$ | $$ | $$| $$ | $$| $$ | $$ | $$ \____ $$ |
94 | | -| $$ | $$$$$$/| $$$$$$$/| $$ | $$$$$$/ /$$$$$$$/ |
95 | | -|__/ \______/ |_______/ |__/ \______/ |_______/ `; |
| 189 | +ooooooooo. .o8 .o88o. |
| 190 | +` + "`" + `888 ` + "`" + `Y88. "888 888 ` + "`" + `" |
| 191 | + 888 .d88' .ooooo. 888oooo. o888oo oooo oooo .oooo.o |
| 192 | + 888ooo88P' d88' ` + "`" + `88b d88' ` + "`" + `88b 888 ` + "`" + `888 ` + "`" + `888 d88( "8 |
| 193 | + 888 888 888 888 888 888 888 888 ` + "`" + `"Y88b. |
| 194 | + 888 888 888 888 888 888 888 888 o. )88b |
| 195 | +o888o ` + "`" + `Y8bod8P' ` + "`" + `Y8bod8P' o888o ` + "`" + `V88V"V8P' 8""888P'`; |
| 196 | + |
| 197 | + const VERSION_TAG = "\n [ ENGINE: CAMBUSCATE 0.1 | V0.8 BETA ]"; |
| 198 | + document.getElementById('logoDisplay').innerText = ASCII_LOGO + VERSION_TAG; |
96 | 199 |
|
97 | | - document.getElementById('logoDisplay').innerText = ASCII_LOGO; |
| 200 | + function generateId(length) { |
| 201 | + const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#'; |
| 202 | + let result = ''; |
| 203 | + for (let i = 0; i < length; i++) { |
| 204 | + result += chars.charAt(Math.floor(Math.random() * chars.length)); |
| 205 | + } |
| 206 | + return result; |
| 207 | + } |
98 | 208 |
|
99 | 209 | function pobfusStart() { |
100 | | - const input = document.getElementById('inputCode').value; |
101 | | - if (!input) return alert("Input required!"); |
102 | | - |
103 | | - // 1. Key Generation & Bytecode Scrambling |
104 | | - const key = Math.floor(Math.random() * 255) + 1; |
105 | | - const bytes = input.split('').map(c => c.charCodeAt(0) ^ key); |
106 | | - |
107 | | - // 2. Junk Logic Generator (Makes it look complex) |
108 | | - const junk = () => { |
109 | | - const lines = [ |
110 | | - `local _0x${Math.random().toString(36).substring(7)} = (66 * 2) / 4`, |
111 | | - `if (not _G) then return end`, |
112 | | - `local _0xEnv = getfenv and getfenv() or _G`, |
113 | | - `for i=1,10 do end` |
114 | | - ]; |
115 | | - return lines[Math.floor(Math.random() * lines.length)]; |
116 | | - }; |
117 | | - |
118 | | - // 3. The "Heavy" VM Wrapper |
119 | | - const vm = `--[[ |
| 210 | + const input = document.getElementById('inputCode').value; |
| 211 | + if (!input) return; |
| 212 | + |
| 213 | + const logoSig = (ASCII_LOGO + VERSION_TAG).length % 255; |
| 214 | + const seed = 0x4B; |
| 215 | + const finalKey = seed ^ logoSig; |
| 216 | + |
| 217 | + const bytes = input.split('').map(c => c.charCodeAt(0) ^ finalKey); |
| 218 | + const vmName = "_0x" + Math.random().toString(36).substring(7); |
| 219 | + |
| 220 | + const vm = `--[[ |
120 | 221 | ${ASCII_LOGO} |
121 | | - [ VERSION: 0.7 I-VIRTUobfuscator ] |
122 | | ---]] |
123 | | -local _Pobfus_VM = function() |
124 | | - local _stack = {${bytes.join(',')}} |
125 | | - local _key = ${key} |
126 | | - local _output = "" |
127 | | - ${junk()} |
128 | | - |
129 | | - -- Virtualized Execution Loop |
130 | | - local _exec = function(data, k) |
131 | | - local res = "" |
132 | | - for i=1, #data do |
133 | | - ${junk()} |
134 | | - local char = data[i] |
135 | | - res = res .. string.char(char ~ k) |
136 | | - if i % 5 == 0 then ${junk()} end |
137 | | - end |
138 | | - return res |
139 | | - end |
140 | | -
|
141 | | - local _runtime = _exec(_stack, _key) |
142 | | - ${junk()} |
143 | | - local _caller = loadstring or load |
144 | | - local _fn, _err = _caller(_runtime) |
145 | | - |
146 | | - if not _fn then |
147 | | - warn("[POBFUS] Execution Error: " .. tostring(_err)) |
148 | | - return |
149 | | - end |
150 | | - |
151 | | - return _fn() |
| 222 | +${VERSION_TAG} |
| 223 | +]] |
| 224 | +local ${vmName} = function() |
| 225 | + local _d = {${bytes.join(',')}} |
| 226 | + local _s = #debug.getinfo(1).source % 255 |
| 227 | + local _k = ${seed} ~ _s |
| 228 | + local _r = "" |
| 229 | + for i=1, #_d do _r = _r .. string.char(_d[i] ~ _k) end |
| 230 | + local _f = loadstring or load |
| 231 | + local _ok, _res = pcall(_f(_r)) |
| 232 | + if not _ok then warn("POBFUS: Integrity Fail") while true do end end |
152 | 233 | end |
| 234 | +pcall(${vmName})`; |
153 | 235 |
|
154 | | --- Anti-Dump Execution |
155 | | -${junk()} |
156 | | -pcall(_Pobfus_VM) |
157 | | -`; |
| 236 | + document.getElementById('outputCode').value = vm; |
| 237 | + } |
158 | 238 |
|
159 | | - document.getElementById('outputCode').value = vm; |
160 | | -} |
| 239 | + function copyToClipboard() { |
| 240 | + const el = document.getElementById('outputCode'); |
| 241 | + navigator.clipboard.writeText(el.value); |
| 242 | + alert("Copied to clipboard."); |
161 | 243 | } |
| 244 | + |
| 245 | + function downloadFile() { |
| 246 | + const val = document.getElementById('outputCode').value; |
| 247 | + if(!val) return; |
| 248 | + const uniqueId = generateId(16); |
| 249 | + const blob = new Blob([val], {type: 'text/plain'}); |
| 250 | + const a = document.createElement('a'); |
| 251 | + a.href = URL.createObjectURL(blob); |
| 252 | + a.download = `pobfus-${uniqueId}.lua`; |
| 253 | + a.click(); |
| 254 | + } |
| 255 | + |
| 256 | + document.addEventListener('contextmenu', e => e.preventDefault()); |
162 | 257 | </script> |
163 | 258 | </body> |
164 | 259 | </html> |
165 | | - <script src="script.js"></script> |
166 | | -</body> |
167 | | - </html> |
|
0 commit comments