|
9 | 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 | | - /* Sidebar */ |
13 | | - .sidebar { width: 380px; background: var(--panel); border-right: 1px solid var(--brd); padding: 30px; display: flex; flex-direction: column; gap: 15px; } |
| 12 | + .sidebar { width: 380px; background: var(--panel); border-right: 1px solid var(--brd); padding: 30px; display: flex; flex-direction: column; gap: 15px; z-index: 10; } |
14 | 13 | .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; } |
| 14 | + .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; } |
| 15 | + .sec-btn { background: #21262d; color: #c9d1d9; border: 1px solid var(--brd); padding: 10px; cursor: pointer; border-radius: 6px; font-size: 12px; margin-top: 5px; width: 100%; } |
19 | 16 |
|
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; } |
23 | | - |
24 | | - /* Editors */ |
25 | | - .main { flex: 1; display: flex; background: #010409; } |
| 17 | + .main { flex: 1; display: flex; background: #010409; position: relative; } |
26 | 18 | .editor-container { flex: 1; display: flex; flex-direction: column; position: relative; border-right: 1px solid var(--brd); } |
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; } |
| 19 | + textarea { width: 100%; height: 100%; padding: 40px; background: transparent; border: none; outline: none; font-size: 13px; line-height: 1.8; color: #c9d1d9; z-index: 5; resize: none; } |
| 20 | + #out { background: #0d1117; color: #7ee787; } |
29 | 21 |
|
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; } |
| 22 | + /* FIXED LOADER OVERLAY */ |
| 23 | + #output-loader { |
| 24 | + display: none; |
| 25 | + position: absolute; |
| 26 | + inset: 0; |
| 27 | + background: rgba(13, 17, 23, 0.98); |
| 28 | + z-index: 1000; |
| 29 | + flex-direction: column; |
| 30 | + align-items: center; |
| 31 | + justify-content: center; |
| 32 | + } |
| 33 | + |
| 34 | + #gh-spinner { |
| 35 | + width: 60px; |
| 36 | + fill: var(--gh); |
| 37 | + margin-bottom: 30px; |
| 38 | + will-change: transform; |
| 39 | + } |
| 40 | + .spinning { animation: ghSpin 1s linear infinite; } |
34 | 41 |
|
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; } |
| 42 | + #status-log { |
| 43 | + height: 80px; |
| 44 | + display: flex; |
| 45 | + flex-direction: column; |
| 46 | + align-items: center; |
| 47 | + justify-content: center; |
| 48 | + gap: 8px; |
| 49 | + } |
| 50 | + .status-entry { |
| 51 | + font-size: 12px; |
| 52 | + color: #58a6ff; |
| 53 | + font-weight: 500; |
| 54 | + animation: slideIn 0.3s ease forwards; |
| 55 | + } |
38 | 56 |
|
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; } |
| 57 | + .p-bar { width: 240px; height: 2px; background: #21262d; border-radius: 10px; margin-top: 30px; overflow: hidden; } |
| 58 | + .p-fill { width: 0%; height: 100%; background: var(--acc); transition: width 0.4s ease; } |
41 | 59 |
|
42 | 60 | @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); } } |
| 61 | + @keyframes slideIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } |
44 | 62 | </style> |
45 | 63 | </head> |
46 | 64 | <body> |
47 | 65 | <div class="sidebar"> |
48 | 66 | <div class="version-tag">v1.12.01-1 stable</div> |
49 | 67 | <div style="font-size: 24px; font-weight: 600;">pobfus</div> |
50 | | - |
51 | 68 | <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 |
| 69 | + <button class="sec-btn" id="clear">clear code</button> |
| 70 | + <button class="sec-btn" id="dl" disabled style="opacity:0.5">download .lua</button> |
| 71 | + |
| 72 | + <div style="margin-top:20px; font-size:11px; color:#444; border-top:1px solid #30363d; padding-top:15px;"> |
| 73 | + premium tamper enabled: |
67 | 74 | </div> |
68 | 75 | </div> |
69 | 76 |
|
70 | 77 | <div class="main"> |
71 | 78 | <div class="editor-container"> |
72 | | - <textarea id="in" spellcheck="false" placeholder="-- input lua code"></textarea> |
| 79 | + <textarea id="in" spellcheck="false" placeholder="-- paste source here"></textarea> |
73 | 80 | </div> |
74 | 81 | <div class="editor-container"> |
75 | 82 | <div id="output-loader"> |
76 | 83 | <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> |
77 | 84 | <div id="status-log"></div> |
78 | 85 | <div class="p-bar"><div class="p-fill" id="lbar"></div></div> |
79 | 86 | </div> |
80 | | - <textarea id="out" spellcheck="false" readonly placeholder="-- protected code"></textarea> |
| 87 | + <textarea id="out" spellcheck="false" readonly placeholder="-- protected output"></textarea> |
81 | 88 | </div> |
82 | 89 | </div> |
83 | 90 | <script src="script.js"></script> |
|
0 commit comments