|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | 6 | <title>pobfus // v1.12.01-1</title> |
7 | 7 | <style> |
8 | | - :root { --bg: #020202; --panel: #0a0a0a; --brd: #1a1a1a; --main: #ffffff; --acc: #00ff88; } |
9 | | - * { box-sizing: border-box; font-family: "fira code", monospace; } |
| 8 | + :root { --bg: #0d1117; --panel: #161b22; --brd: #30363d; --main: #c9d1d9; --acc: #238636; --gh: #f0f6fc; } |
| 9 | + * { box-sizing: border-box; font-family: -apple-system, "Fira Code", monospace; text-transform: lowercase; } |
10 | 10 | body { background: var(--bg); color: var(--main); margin: 0; display: flex; height: 100vh; overflow: hidden; } |
11 | 11 |
|
12 | 12 | /* Sidebar */ |
13 | | - .sidebar { width: 380px; background: var(--panel); border-right: 1px solid var(--brd); padding: 40px; display: flex; flex-direction: column; gap: 20px; } |
14 | | - .version-tag { font-size: 9px; color: var(--acc); letter-spacing: 2px; font-weight: bold; border: 1px solid var(--acc); width: fit-content; padding: 2px 8px; border-radius: 20px; text-transform: uppercase; } |
15 | | - .btn { background: var(--acc); color: #000; border: none; padding: 16px; cursor: pointer; border-radius: 4px; font-weight: 900; font-size: 11px; text-transform: uppercase; transition: 0.3s; } |
16 | | - .btn:hover { filter: brightness(1.2); transform: translateY(-1px); } |
| 13 | + .sidebar { width: 380px; background: var(--panel); border-right: 1px solid var(--brd); padding: 30px; display: flex; flex-direction: column; gap: 15px; } |
| 14 | + .version-tag { font-size: 10px; color: #8b949e; border: 1px solid var(--brd); width: fit-content; padding: 2px 8px; border-radius: 6px; } |
| 15 | + .nav-btn { background: var(--acc); color: #fff; border: 1px solid rgba(240,246,252,0.1); padding: 12px; cursor: pointer; border-radius: 6px; font-weight: 600; font-size: 13px; transition: 0.2s; } |
| 16 | + .nav-btn:hover { background: #2ea043; } |
| 17 | + .sec-btn { background: #21262d; color: #c9d1d9; border: 1px solid var(--brd); padding: 10px; cursor: pointer; border-radius: 6px; font-size: 12px; transition: 0.2s; } |
| 18 | + .sec-btn:hover { background: #30363d; } |
| 19 | + |
| 20 | + /* Text Content */ |
| 21 | + .section-title { font-size: 12px; font-weight: 600; color: #8b949e; border-bottom: 1px solid var(--brd); padding-bottom: 5px; margin-top: 10px; } |
| 22 | + .log-text { font-size: 11px; color: #7d8590; line-height: 1.6; margin: 5px 0; } |
17 | 23 |
|
18 | | - /* Editor */ |
19 | | - .main { flex: 1; display: flex; background: #050505; } |
| 24 | + /* Editors */ |
| 25 | + .main { flex: 1; display: flex; background: #010409; } |
20 | 26 | .editor-container { flex: 1; display: flex; flex-direction: column; position: relative; border-right: 1px solid var(--brd); } |
21 | | - textarea { width: 100%; height: 100%; padding: 40px; background: transparent; border: none; outline: none; font-size: 13px; line-height: 1.8; position: absolute; white-space: pre; overflow: auto; color: #888; z-index: 2; resize: none; } |
22 | | - #out { background: #010101; color: var(--acc); z-index: 3; } |
| 27 | + textarea { width: 100%; height: 100%; padding: 40px; background: transparent; border: none; outline: none; font-size: 13px; line-height: 1.8; position: absolute; white-space: pre; overflow: auto; color: #c9d1d9; z-index: 2; resize: none; } |
| 28 | + #out { background: #0d1117; color: #7ee787; z-index: 3; } |
23 | 29 |
|
24 | | - /* Status Overlay */ |
25 | | - #output-loader { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #020202; z-index: 100; flex-direction: column; align-items: center; justify-content: center; } |
26 | | - .lua-logo { width: 80px; margin-bottom: 30px; transition: 0.5s; filter: drop-shadow(0 0 10px rgba(0,255,136,0.2)); } |
27 | | - .lua-logo.fade { opacity: 0.1; transform: scale(0.9) rotate(5deg); } |
28 | | - |
29 | | - #status-log { height: 80px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; overflow: hidden; } |
30 | | - .status-entry { font-size: 10px; color: var(--acc); margin-top: 6px; animation: popUp 0.3s forwards; text-transform: uppercase; letter-spacing: 1px; } |
31 | | - .status-entry.dim { color: #222; } |
| 30 | + /* Overlay Loader */ |
| 31 | + #output-loader { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #0d1117; z-index: 100; flex-direction: column; align-items: center; justify-content: center; } |
| 32 | + #gh-spinner { width: 60px; fill: var(--gh); margin-bottom: 25px; opacity: 0.8; } |
| 33 | + #gh-spinner.spinning { animation: ghSpin 1s linear infinite; } |
| 34 | + |
| 35 | + #status-log { height: 60px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; overflow: hidden; } |
| 36 | + .status-entry { font-size: 11px; color: #58a6ff; margin-top: 4px; animation: slideIn 0.2s forwards; letter-spacing: 1px; } |
| 37 | + .status-entry.dim { color: #30363d; } |
32 | 38 |
|
33 | | - .progress-bg { width: 250px; height: 1px; background: #111; margin-top: 30px; } |
34 | | - .progress-fill { width: 0%; height: 100%; background: var(--acc); transition: 0.3s; } |
| 39 | + .p-bar { width: 200px; height: 2px; background: #21262d; border-radius: 10px; margin-top: 25px; overflow: hidden; } |
| 40 | + .p-fill { width: 0%; height: 100%; background: var(--acc); transition: 0.3s; } |
35 | 41 |
|
36 | | - @keyframes popUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } |
| 42 | + @keyframes ghSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } |
| 43 | + @keyframes slideIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } } |
37 | 44 | </style> |
38 | 45 | </head> |
39 | 46 | <body> |
40 | 47 | <div class="sidebar"> |
41 | | - <div class="version-tag">STABLE v1.12.01-1</div> |
42 | | - <div style="font-size: 32px; font-weight: 900; letter-spacing: -2px; color: var(--main);">pobfus</div> |
43 | | - <button class="btn" id="go">Protect Script</button> |
44 | | - <div style="font-size: 11px; color: #444; line-height: 1.6; text-transform: lowercase;"> |
45 | | - industrial grade lua obfuscation. <br> |
46 | | - premium tamper response: <b>active</b>. |
| 48 | + <div class="version-tag">v1.12.01-1 stable</div> |
| 49 | + <div style="font-size: 24px; font-weight: 600;">pobfus</div> |
| 50 | + |
| 51 | + <button class="nav-btn" id="go">protect script</button> |
| 52 | + <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px;"> |
| 53 | + <button class="sec-btn" id="clear">clear</button> |
| 54 | + <button class="sec-btn" id="dl" disabled>download</button> |
| 55 | + </div> |
| 56 | + |
| 57 | + <div class="section-title">history</div> |
| 58 | + <div class="log-text"> |
| 59 | + originally built for simple minification, pobfus v1.12.01-1 now utilizes environment-aware virtualization to prevent string dumping. |
| 60 | + </div> |
| 61 | + |
| 62 | + <div class="section-title">updates</div> |
| 63 | + <div class="log-text"> |
| 64 | + • premium unicode tamper<br> |
| 65 | + • improved vm stack build<br> |
| 66 | + • logic-gated obfuscation |
47 | 67 | </div> |
48 | 68 | </div> |
49 | 69 |
|
50 | 70 | <div class="main"> |
51 | 71 | <div class="editor-container"> |
52 | | - <textarea id="in" spellcheck="false" placeholder="-- input source code"></textarea> |
| 72 | + <textarea id="in" spellcheck="false" placeholder="-- input lua code"></textarea> |
53 | 73 | </div> |
54 | 74 | <div class="editor-container"> |
55 | 75 | <div id="output-loader"> |
56 | | - <img src="https://www.lua.org/images/lua-logo.gif" class="lua-logo" id="luaImg"> |
| 76 | + <svg id="gh-spinner" viewBox="0 0 16 16"><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path></svg> |
57 | 77 | <div id="status-log"></div> |
58 | | - <div class="progress-bg"><div class="progress-fill" id="lbar"></div></div> |
| 78 | + <div class="p-bar"><div class="p-fill" id="lbar"></div></div> |
59 | 79 | </div> |
60 | | - <textarea id="out" spellcheck="false" readonly placeholder="-- protected output"></textarea> |
| 80 | + <textarea id="out" spellcheck="false" readonly placeholder="-- protected code"></textarea> |
61 | 81 | </div> |
62 | 82 | </div> |
63 | 83 | <script src="script.js"></script> |
|
0 commit comments