<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <style>
        /* Allgemeine Einstellungen */
        body {
            font-family: Arial, sans-serif;
            background: linear-gradient(135deg, rgba(255, 0, 0, 0.8), rgba(139, 0, 0, 0.8)); /* Roter Farbverlauf */
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            backdrop-filter: blur(8px); /* Hintergrundunschärfe */
        }

        .container {
            width: 320px;
            margin: 0 auto;
            padding: 20px;
            background: rgba(255, 255, 255, 0.9); /* Halbtransparenter Hintergrund */
            border-radius: 35px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 60px rgba(255, 255, 255, 1); /* Verstärkter Weißer Glow */
            backdrop-filter: blur(60px); /* Weiche Unschärfe */
            transition: all 0.3s ease; /* Sanfter Übergang */
        }

        .container:hover {
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 1); /* Stärkerer Schatten und Glow bei Hover */
        }

        .hidden {
            display: none;
        }

        /* Formularstyles */
        h2 {
            color: #800000; /* Dunkelroter Text */
            text-align: center;
            font-size: 24px;
        }

        label {
            color: #333;
            font-size: 16px;
        }

        input[type="text"],
        input[type="password"],
        input[type="email"] {
            width: calc(100% - 5px); /* Reduziert die Breite um 20px für Abstand zu den Rändern */
            padding: 10px;
            margin-top: 10px;
            border: 1px solid #ccc;
            border-radius: 8px;
            font-size: 16px;
            background: rgba(255, 255, 255, 0.8);
            box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
        }

        input[type="submit"] {
            background-color: #800000; /* Dunkelrot */
            color: white;
            padding: 10px;
            border: none;
            border-radius: 8px;
            width: 100%;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
        }

        input[type="submit"]:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        #hwid-section {
            margin-top: 20px;
            text-align: center;
        }

        button {
            background-color: #800000;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222;
        }

        /* Neue Styles für das abgerundete Rechteck der Mitigation Console */
        #mitigation-console {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 400px; /* Breiter als hoch */
            height: 250px; /* Weniger Höhe */
            padding: 15px;
            background-color: #f0f0f0;
            border-radius: 12px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 60px rgba(255, 255, 255, 1); /* Starker Schatten wie in der Mitte */
            overflow: auto; /* Scrollen ohne sichtbaren Scrollbalken */
            display: none; /* Standardmäßig verborgen */
        }

        /* Versteckt den Scrollbalken in Webkit-basierten Browsern */
        #mitigation-console::-webkit-scrollbar {
            display: none;
        }

        p {
            text-align: center;
        }

        /* Responsiveness */
        @media (max-width: 500px) {
            .container {
                width: 80%;
                padding: 15px;
            }
        }

        /* Zentrierung des Buttons im Dashboard */
        #dashboard .centered {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
            gap: 10px; /* Lücke zwischen den Buttons */
        }
    </style>
</head>
<body>

<!-- Login-Formular -->
<div id="login-form" class="container">
    <h2>Login</h2>
    <form onsubmit="return login(event)">
        <label for="username">Benutzername:</label><br>
        <input type="text" id="username" required><br><br>
        <label for="password">Passwort:</label><br>
        <input type="password" id="password" required><br><br>
        <input type="submit" value="Einloggen">
    </form>
    <p><a href="#" onclick="showRegisterForm()">Noch kein Konto? Jetzt registrieren!</a></p>
</div>

<!-- Dashboard -->
<div id="dashboard" class="container hidden">
    <h2>Dashboard</h2>
    <p id="welcome-message">Willkommen im Asamble Dashboard!</p>

    <!-- Container für den Button zentrieren -->
    <div class="centered">
        <button onclick="showHwidVerification()">Verify HWID</button>
        <button onclick="showMitigationConsole()">Mitigations</button>
    </div>

    <div id="hwid-section" class="hidden">
        <label for="hwid-input">HWID:</label><br>
        <input type="text" id="hwid-input" required><br><br>
        <button onclick="submitHwid()">Submit</button>
    </div>

    <p><a href="#" onclick="logout()">Abmelden</a></p>
</div>

<!-- Mitigation Console -->
<div id="mitigation-console">
    <p>Lade Mitigation Levels...</p>
</div>

<script>
    let currentUsername = '';

    function _0x4cc0(){const _0x352732=['Registrierungsformular\x20wird\x20hier\x20angezeigt','HTTP-Error:\x20','Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:','hwid-input','Es\x20gab\x20ein\x20Problem\x20beim\x20Einloggen','none','getElementById','http://162.212.154.28:3567/verifyHwid','username','value','message','welcome-message','catch','color','medium','Ungültiger\x20Benutzername\x20oder\x20Passwort','9887665JlDkPG','appendChild','preventDefault','http://162.212.154.28:3567/login','Fehler\x20bei\x20der\x20HWID-Verifizierung','then','<p>Keine\x20Mitigation\x20Levels\x20verfügbar.</p>','style','<p>Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:\x20','mitigationLevel','276881miQXQi','black','display','82024SrwokM','Mitigation\x20for\x20:\x20','remove','createElement','4486992DxRmwR','textContent','red','error','GET','green','orange','success','status','classList','stringify','Fehler\x20beim\x20Senden\x20der\x20HWID:','json','length','hidden','span','innerHTML','toggle','login-form','http://162.212.154.28:3567/getMitigation','4878072WsuFWf','add','mitigation-console','dashboard','block','POST','1204xGFVBL','low','Willkommen\x20im\x20Asamble\x20Dashboard,\x20','646086DNCJFT','6LqSZic','Fehler\x20beim\x20Login:','\x20-\x20','toLowerCase','13418820yBxkOe','</p>'];_0x4cc0=function(){return _0x352732;};return _0x4cc0();}(function(_0x35c3d5,_0x6c9218){const _0x2d1c0d=_0xf125,_0x39a2ad=_0x35c3d5();while(!![]){try{const _0x58b914=parseInt(_0x2d1c0d(0x15b))/0x1+-parseInt(_0x2d1c0d(0x13a))/0x2+parseInt(_0x2d1c0d(0x131))/0x3+parseInt(_0x2d1c0d(0x162))/0x4+-parseInt(_0x2d1c0d(0x151))/0x5*(parseInt(_0x2d1c0d(0x13b))/0x6)+-parseInt(_0x2d1c0d(0x137))/0x7*(-parseInt(_0x2d1c0d(0x15e))/0x8)+-parseInt(_0x2d1c0d(0x13f))/0x9;if(_0x58b914===_0x6c9218)break;else _0x39a2ad['push'](_0x39a2ad['shift']());}catch(_0x520069){_0x39a2ad['push'](_0x39a2ad['shift']());}}}(_0x4cc0,0xf3505));function _0xf125(_0x14c8c2,_0x4e4e1f){const _0x4cc08c=_0x4cc0();return _0xf125=function(_0xf125e1,_0xb95b9d){_0xf125e1=_0xf125e1-0x128;let _0x459e68=_0x4cc08c[_0xf125e1];return _0x459e68;},_0xf125(_0x14c8c2,_0x4e4e1f);}function loadMitigationLevels(){const _0x107d5e=_0xf125;fetch(_0x107d5e(0x130),{'method':_0x107d5e(0x166),'headers':{'Content-Type':'application/json'}})[_0x107d5e(0x156)](_0x2353fe=>{const _0x14e297=_0x107d5e;if(!_0x2353fe['ok'])throw new Error(_0x14e297(0x142)+_0x2353fe[_0x14e297(0x16a)]);return _0x2353fe[_0x14e297(0x129)]();})['then'](_0x399283=>{const _0x4f5e96=_0x107d5e,_0x3d3c29=document[_0x4f5e96(0x147)]('mitigation-console');_0x3d3c29[_0x4f5e96(0x12d)]='',_0x399283&&_0x399283[_0x4f5e96(0x12a)]>0x0?_0x399283['forEach'](_0x469ef0=>{const _0x48ad40=_0x4f5e96,_0x172657=document['createElement']('p'),_0x109bc2=document[_0x48ad40(0x161)](_0x48ad40(0x12c));_0x109bc2[_0x48ad40(0x163)]=_0x48ad40(0x15f),_0x109bc2[_0x48ad40(0x158)][_0x48ad40(0x14e)]=_0x48ad40(0x164);const _0x1fa179=document[_0x48ad40(0x161)](_0x48ad40(0x12c));_0x1fa179[_0x48ad40(0x163)]=_0x469ef0['username'],_0x1fa179[_0x48ad40(0x158)][_0x48ad40(0x14e)]='black';const _0x51b59e=document[_0x48ad40(0x161)](_0x48ad40(0x12c));_0x51b59e[_0x48ad40(0x163)]=_0x48ad40(0x13d)+_0x469ef0[_0x48ad40(0x15a)];switch(_0x469ef0[_0x48ad40(0x15a)][_0x48ad40(0x13e)]()){case _0x48ad40(0x138):_0x51b59e['style'][_0x48ad40(0x14e)]=_0x48ad40(0x167);break;case _0x48ad40(0x14f):_0x51b59e['style'][_0x48ad40(0x14e)]=_0x48ad40(0x168);break;case'high':_0x51b59e['style'][_0x48ad40(0x14e)]=_0x48ad40(0x164);break;default:_0x51b59e[_0x48ad40(0x158)][_0x48ad40(0x14e)]=_0x48ad40(0x15c);break;}_0x172657['appendChild'](_0x109bc2),_0x172657['appendChild'](_0x1fa179),_0x172657[_0x48ad40(0x152)](_0x51b59e),_0x3d3c29[_0x48ad40(0x152)](_0x172657);}):_0x3d3c29[_0x4f5e96(0x12d)]=_0x4f5e96(0x157);})[_0x107d5e(0x14d)](_0x3ee9fb=>{const _0x2d332e=_0x107d5e;console[_0x2d332e(0x165)](_0x2d332e(0x143),_0x3ee9fb);const _0xd28dcc=document['getElementById'](_0x2d332e(0x133));_0xd28dcc['innerHTML']=_0x2d332e(0x159)+_0x3ee9fb[_0x2d332e(0x14b)]+_0x2d332e(0x140);});}function showMitigationConsole(){const _0x29383c=_0xf125,_0x5ec9ff=document[_0x29383c(0x147)](_0x29383c(0x133)),_0x1c8d9f=_0x5ec9ff['style'][_0x29383c(0x15d)]===_0x29383c(0x146)||_0x5ec9ff[_0x29383c(0x158)]['display']==='';_0x5ec9ff[_0x29383c(0x158)][_0x29383c(0x15d)]=_0x1c8d9f?'block':'none',_0x1c8d9f&&loadMitigationLevels();}setInterval(()=>{const _0x26bcb8=_0xf125,_0x41d947=document[_0x26bcb8(0x147)](_0x26bcb8(0x133));_0x41d947[_0x26bcb8(0x158)][_0x26bcb8(0x15d)]===_0x26bcb8(0x135)&&loadMitigationLevels();},0x1388);function login(_0x1dd54b){const _0x500839=_0xf125;_0x1dd54b[_0x500839(0x153)]();const _0x41fbc8=document[_0x500839(0x147)](_0x500839(0x149))['value'],_0x5b6e9b=document[_0x500839(0x147)]('password')[_0x500839(0x14a)],_0x3b71cf=_0x500839(0x154),_0x49b35a={'username':_0x41fbc8,'password':_0x5b6e9b};fetch(_0x3b71cf,{'method':_0x500839(0x136),'headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x49b35a)})['then'](_0x381d46=>_0x381d46['json']())['then'](_0x3aaae6=>{const _0x471ec0=_0x500839;_0x3aaae6[_0x471ec0(0x169)]?(currentUsername=_0x41fbc8,document[_0x471ec0(0x147)](_0x471ec0(0x12f))['classList'][_0x471ec0(0x132)](_0x471ec0(0x12b)),document[_0x471ec0(0x147)](_0x471ec0(0x134))['classList'][_0x471ec0(0x160)]('hidden'),document[_0x471ec0(0x147)](_0x471ec0(0x14c))[_0x471ec0(0x163)]=_0x471ec0(0x139)+_0x41fbc8):alert(_0x471ec0(0x150));})[_0x500839(0x14d)](_0x599340=>{const _0x34d687=_0x500839;console[_0x34d687(0x165)](_0x34d687(0x13c),_0x599340),alert(_0x34d687(0x145));});}function showRegisterForm(){const _0x3e75eb=_0xf125;alert(_0x3e75eb(0x141));}function logout(){const _0x1692ce=_0xf125;currentUsername='',document[_0x1692ce(0x147)]('login-form')[_0x1692ce(0x16b)][_0x1692ce(0x160)]('hidden'),document[_0x1692ce(0x147)]('dashboard')['classList']['add'](_0x1692ce(0x12b));}function showHwidVerification(){const _0x1633a0=_0xf125,_0x329879=document[_0x1633a0(0x147)]('hwid-section');_0x329879[_0x1633a0(0x16b)][_0x1633a0(0x12e)](_0x1633a0(0x12b));}function submitHwid(){const _0x57af5e=_0xf125,_0xd6f405=document['getElementById'](_0x57af5e(0x144))[_0x57af5e(0x14a)],_0x5640b0={'username':currentUsername,'hwid':_0xd6f405};fetch(_0x57af5e(0x148),{'method':_0x57af5e(0x136),'headers':{'Content-Type':'application/json'},'body':JSON[_0x57af5e(0x16c)](_0x5640b0)})[_0x57af5e(0x156)](_0x1c39bb=>_0x1c39bb[_0x57af5e(0x129)]())[_0x57af5e(0x156)](_0x1b5be3=>{const _0xe42eee=_0x57af5e;_0x1b5be3[_0xe42eee(0x169)]?alert('HWID\x20erfolgreich\x20verifiziert!'):alert(_0xe42eee(0x155));})[_0x57af5e(0x14d)](_0x404491=>{const _0x43ab39=_0x57af5e;console[_0x43ab39(0x165)](_0x43ab39(0x128),_0x404491);});}
</script>

</body>
</html>
