|
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | | - <title>pez.bf | Krovixa Protocol</title> |
| 6 | + <title>krovixa / pez.bf</title> |
7 | 7 | <style> |
8 | | - :root { |
9 | | - --neon-red: #ff003c; |
10 | | - --dark-bg: #050505; |
11 | | - --term-green: #00ff41; |
12 | | - } |
13 | | - |
14 | | - body { |
15 | | - background-color: var(--dark-bg); |
16 | | - color: var(--term-green); |
17 | | - font-family: 'Courier New', Courier, monospace; |
18 | | - margin: 0; |
19 | | - padding: 20px; |
20 | | - display: flex; |
21 | | - flex-direction: column; |
22 | | - align-items: center; |
23 | | - } |
24 | | - |
25 | | - .header { |
26 | | - text-align: center; |
27 | | - margin-bottom: 20px; |
28 | | - text-shadow: 0 0 5px var(--term-green); |
29 | | - } |
30 | | - |
31 | | - .container { |
32 | | - width: 95%; |
33 | | - max-width: 900px; |
34 | | - } |
35 | | - |
36 | | - textarea { |
37 | | - width: 100%; |
38 | | - height: 250px; |
39 | | - background: #000; |
40 | | - color: var(--term-green); |
41 | | - border: 1px solid #333; |
42 | | - padding: 10px; |
43 | | - font-size: 12px; |
44 | | - resize: vertical; |
45 | | - outline: none; |
46 | | - word-break: break-all; |
47 | | - white-space: pre; |
48 | | - overflow-x: auto; |
49 | | - } |
50 | | - |
51 | | - #outputCode { |
52 | | - color: var(--neon-red); |
53 | | - border-color: var(--neon-red); |
54 | | - height: 350px; |
55 | | - margin-top: 15px; |
56 | | - } |
57 | | - |
58 | | - .controls { |
59 | | - margin-top: 15px; |
60 | | - display: flex; |
61 | | - gap: 10px; |
62 | | - justify-content: center; |
63 | | - } |
64 | | - |
65 | | - button { |
66 | | - background: #111; |
67 | | - color: var(--term-green); |
68 | | - border: 1px solid var(--term-green); |
69 | | - padding: 10px 20px; |
70 | | - cursor: pointer; |
71 | | - text-transform: uppercase; |
72 | | - font-weight: bold; |
73 | | - transition: 0.3s; |
74 | | - } |
75 | | - |
76 | | - button:hover { |
77 | | - background: var(--term-green); |
78 | | - color: #000; |
79 | | - box-shadow: 0 0 15px var(--term-green); |
80 | | - } |
81 | | - |
82 | | - .btn-red { |
83 | | - border-color: var(--neon-red); |
84 | | - color: var(--neon-red); |
85 | | - } |
86 | | - |
87 | | - .btn-red:hover { |
88 | | - background: var(--neon-red); |
89 | | - color: #fff; |
90 | | - box-shadow: 0 0 15px var(--neon-red); |
91 | | - } |
92 | | - |
93 | | - .footer { |
94 | | - margin-top: 30px; |
95 | | - font-size: 10px; |
96 | | - opacity: 0.5; |
97 | | - } |
| 8 | + body { background-color: #0d1117; color: #c9d1d9; font-family: -apple-system, system-ui, sans-serif; padding: 20px; margin: 0; } |
| 9 | + .wrapper { max-width: 900px; margin: 0 auto; } |
| 10 | + .header { border-bottom: 1px solid #30363d; padding-bottom: 12px; margin-bottom: 24px; } |
| 11 | + .header h1 { font-size: 18px; font-weight: 600; margin: 0; } |
| 12 | + .box { background-color: #161b22; border: 1px solid #30363d; border-radius: 6px; padding: 16px; margin-bottom: 16px; } |
| 13 | + textarea { width: 100%; height: 200px; background-color: #0d1117; color: #c9d1d9; border: 1px solid #30363d; border-radius: 6px; padding: 12px; font-family: ui-monospace, monospace; font-size: 12px; box-sizing: border-box; outline: none; } |
| 14 | + .options { display: flex; gap: 20px; margin: 15px 0; font-size: 13px; } |
| 15 | + .options label { display: flex; align-items: center; gap: 8px; cursor: pointer; } |
| 16 | + button { background-color: #21262d; color: #c9d1d9; border: 1px solid #30363d; border-radius: 6px; padding: 8px 16px; font-size: 14px; font-weight: 500; cursor: pointer; transition: 0.2s; } |
| 17 | + .btn-green { background-color: #238636; color: #fff; border: 1px solid rgba(240,246,252,0.1); } |
| 18 | + button:hover { background-color: #30363d; } |
| 19 | + .btn-green:hover { background-color: #2ea043; } |
| 20 | + #outputCode { height: 320px; margin-top: 10px; color: #8b949e; } |
| 21 | + .warning-text { color: #ff4444; font-weight: bold; } |
98 | 22 | </style> |
99 | 23 | </head> |
100 | 24 | <body> |
101 | 25 |
|
102 | | - <div class="header"> |
103 | | - <h1>[ PEZ.BF PROTOCOL ]</h1> |
104 | | - <p>STEROIDS ENGINE V4.0 // KROVIXA</p> |
105 | | - </div> |
106 | | - |
107 | | - <div class="container"> |
108 | | - <label>INPUT RAW LUAU:</label> |
109 | | - <textarea id="inputCode" placeholder="Paste your script here..."></textarea> |
| 26 | +<div class="wrapper"> |
| 27 | + <div class="header"><h1>krovixa / pez.bf</h1></div> |
| 28 | + |
| 29 | + <div class="box"> |
| 30 | + <textarea id="inputCode" placeholder="Paste your Luau source code here..."></textarea> |
| 31 | + |
| 32 | + <div class="options"> |
| 33 | + <label><input type="checkbox" id="chkGap" checked> 10k Scroll Gap</label> |
| 34 | + <label title="Triggers Lag/Image Lock if script is renamed or edited"> |
| 35 | + <input type="checkbox" id="chkAlarm"> |
| 36 | + <span class="warning-text">🚨</span> Security Alarm (Armed) |
| 37 | + </label> |
| 38 | + </div> |
110 | 39 |
|
111 | 40 | <div class="controls"> |
112 | | - <button onclick="buildSteroids()">GENERATE PROTECTED</button> |
113 | | - <button class="btn-red" onclick="downloadScript()">DOWNLOAD .LUA</button> |
114 | | - <button onclick="document.getElementById('inputCode').value=''; document.getElementById('outputCode').value=''">CLEAR</button> |
| 41 | + <button class="btn-green" onclick="buildSteroids()">Deploy Protocol</button> |
| 42 | + <button onclick="downloadScript()">Download .lua</button> |
| 43 | + <button onclick="copyToClipboard()">Copy to Clipboard</button> |
115 | 44 | </div> |
116 | | - |
117 | | - <label style="display:block; margin-top:20px;">PROTECTED OUTPUT (SKID-SKID EDITION):</label> |
118 | | - <textarea id="outputCode" readonly spellcheck="false"></textarea> |
119 | 45 | </div> |
120 | 46 |
|
121 | | - <div class="footer"> |
122 | | - UNAUTHORIZED ACCESS IS PROHIBITED. BYPASSING FILTERS... OK. |
| 47 | + <div class="box"> |
| 48 | + <textarea id="outputCode" readonly spellcheck="false" placeholder="Protected output..."></textarea> |
123 | 49 | </div> |
| 50 | +</div> |
| 51 | + |
| 52 | +<script> |
| 53 | + const skidShadow = `--[[ |
| 54 | +███████╗██╗ ██╗██╗██████╗ ██╗██╗ ███████╗██╗ ██╗██╗██████╗ ██████╗ ██╗██╗██╗██╗██╗ |
| 55 | +██╔════╝██║ ██╔╝██║██╔══██╗██║██║ ██╔════╝██║ ██╔╝██║██╔══██╗██╔══██╗██║██║██║██║██║ |
| 56 | +███████╗█████╔╝ ██║██║ ██║██║██║ ███████╗█████╔╝ ██║██║ ██║██║ ██║██║██║██║██║██║ |
| 57 | +╚════██║██╔═██╗ ██║██║ ██║╚═╝╚═╝ ╚════██║██╔═██╗ ██║██║ ██║██║ ██║╚═╝╚═╝╚═╝╚═╝╚═╝ |
| 58 | +███████║██║ ██╗██║██████╔╝██╗██╗ ███████║██║ ██╗██║██████╔╝██████╔╝██╗██╗██╗██╗██╗ |
| 59 | +╚══════╝╚═╝ ╚═╝╚═╝╚═════╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝╚═════╝ ╚═════╝ ╚═╝╚═╝╚═╝╚═╝╚═╝ |
| 60 | +]]\n`; |
| 61 | + |
| 62 | + function hex(s) { return s.split('').map(c => \`\\\\x\${c.charCodeAt(0).toString(16).toUpperCase()}\`).join(''); } |
| 63 | + function rVar() { return "_" + Math.random().toString(36).substring(2, 12).toUpperCase(); } |
| 64 | +
|
| 65 | + function buildSteroids() { |
| 66 | + const input = document.getElementById('inputCode').value; |
| 67 | + if (!input.trim()) return alert("Input is empty."); |
| 68 | +
|
| 69 | + const useAlarm = document.getElementById('chkAlarm').checked; |
| 70 | + const useGap = document.getElementById('chkGap').checked; |
| 71 | +
|
| 72 | + // Alarm Sub-Routine (Lag + Image Lock) |
| 73 | + const alarmLogic = useAlarm ? ` |
| 74 | +local function _0xALARM() |
| 75 | + local _s = tick() while tick() - _s < 0.8 do end |
| 76 | + local g = Instance.new("ScreenGui", game:GetService("CoreGui")) |
| 77 | + g.IgnoreGuiInset = true |
| 78 | + local i = Instance.new("ImageLabel", g) |
| 79 | + i.Size = UDim2.new(1,0,1,0) |
| 80 | + i.Image = "rbxassetid://97503941984577" |
| 81 | + i.ZIndex = 9999999 |
| 82 | + game:GetService("StarterGui"):SetCore("SendNotification", {Title="ALARM TRIGGERED", Text="Unauthorized Access.", Duration=5}) |
| 83 | + while true do end |
| 84 | +end |
| 85 | +` : "local function _0xALARM() end"; |
| 86 | +
|
| 87 | + const keys = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 10, 20, 30, 40, 50, 60, 70, 80, 90]; |
| 88 | + const payload = input.split('').map((c, i) => \`\\\\\${(c.charCodeAt(0) + keys[i % keys.length]) % 256}\`).join(''); |
| 89 | +
|
| 90 | + const vS = rVar(), vT = rVar(); |
| 91 | + |
| 92 | + let engine = `return(function(...) \${alarmLogic} local \${vS}=30;local \${vT}={}while \${vS}~=0 do `; |
| 93 | + engine += `if \${vS}==30 then \${vT}.d=[[\${payload}]] \${vS}=15 `; |
| 94 | + engine += `elseif \${vS}==15 then \${vT}.k={\${keys.join(',')}} \${vS}=45 `; |
| 95 | + engine += `elseif \${vS}==45 then local _b=""for i=1,#\${vT}.d do _b=_b..string.char((\${vT}.d:byte(i)-\${vT}.k[(i-1)%#\${vT}.k+1])%256)end; `; |
| 96 | + engine += `if script.Name ~= "\${hex("protected_krovixa")}" then _0xALARM() end; `; |
| 97 | + engine += `local _ok, _r = pcall(function() return loadstring(_b) end) if not _ok or not _r then _0xALARM() end \${vT}.r=_r \${vS}=60 `; |
| 98 | + engine += `elseif \${vS}==60 then return \${vT}.r(...) else \${vS}=0 end end end)(...)`; |
| 99 | + |
| 100 | + const gap = useGap ? " ".repeat(10000) + "\\n" : "\\n"; |
| 101 | + document.getElementById('outputCode').value = gap + skidShadow + engine.replace(/\\s+/g, ' '); |
| 102 | + } |
| 103 | + |
| 104 | + function downloadScript() { |
| 105 | + const code = document.getElementById('outputCode').value; |
| 106 | + if (!code) return alert("Generate code first."); |
| 107 | + |
| 108 | + const blob = new Blob([code], { type: "application/octet-stream" }); |
| 109 | + const url = URL.createObjectURL(blob); |
| 110 | + const link = document.createElement("a"); |
| 111 | + |
| 112 | + link.href = url; |
| 113 | + link.download = "protected_krovixa.lua"; // Pure .lua extension |
| 114 | + |
| 115 | + document.body.appendChild(link); |
| 116 | + link.click(); |
| 117 | + document.body.removeChild(link); |
| 118 | + |
| 119 | + setTimeout(() => URL.revokeObjectURL(url), 100); |
| 120 | + } |
| 121 | + |
| 122 | + function copyToClipboard() { |
| 123 | + const output = document.getElementById('outputCode'); |
| 124 | + output.select(); |
| 125 | + document.execCommand('copy'); |
| 126 | + alert("Copied to clipboard!"); |
| 127 | + } |
| 128 | +</script> |
124 | 129 |
|
125 | | - <script src="script.js"></script> |
126 | | - <script> |
127 | | - function downloadScript() { |
128 | | - const code = document.getElementById('outputCode').value; |
129 | | - if (!code) return alert("Generate code first."); |
130 | | - const blob = new Blob([code], {type: "text/plain"}); |
131 | | - const url = URL.createObjectURL(blob); |
132 | | - const a = document.createElement("a"); |
133 | | - a.href = url; |
134 | | - a.download = "protected_krovixa.lua"; |
135 | | - a.click(); |
136 | | - } |
137 | | - </script> |
138 | 130 | </body> |
139 | 131 | </html> |
0 commit comments