Age Verification Bypass 🍑SPANKBANG🍑

Bypasses age restriction on SpankBang using a math challenge

// ==UserScript==
// @name         Age Verification Bypass 🍑SPANKBANG🍑
// @namespace    https://greasyfork.org/en/scripts/
// @version      1.1
// @description  Bypasses age restriction on SpankBang using a math challenge
// @author       Me
// @match        *://*.spankbang.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    function removeExistingPopup() {
        let existingPopup = document.getElementById('av-wrapper');
        if (existingPopup) {
            existingPopup.remove();
        }
    }

    function generateHardMathProblem() {
        let base = Math.floor(Math.random() * 5) + 2;
        let exponent = Math.floor(Math.random() * 3) + 3;
        let result = Math.pow(base, exponent);
        return {
            question: `${base}ˣ = ${result}`,
            answer: exponent.toString()
        };
    }

    function createMathChallengePopup() {
        let challengePopup = document.createElement('div');
        challengePopup.id = 'mathChallengePopup';
        challengePopup.className = 'containerMTubes';

        let mathProblem = generateHardMathProblem();

        challengePopup.innerHTML = `
            <div class="modalMTubes">
                <div class="contentMTubes">
                    <h3 class="heading1">Final Step: Solve this equation</h3>
                    <p class="bodyText">Find x: ${mathProblem.question}</p>
                    <input type="text" id="mathAnswer" class="inputField" placeholder="Your answer">
                    <button id="submitMath" class="orangeButton">Submit</button>
                    <button id="giveUp" class="greyButton">Abandon</button>
                </div>
            </div>
        `;
        document.body.appendChild(challengePopup);

        document.getElementById('submitMath').onclick = function() {
            let userAnswer = document.getElementById('mathAnswer').value.trim();
            if (userAnswer === mathProblem.answer) {
                localStorage.setItem('ageVerified', 'true');
                challengePopup.remove();
            } else {
                alert('Incorrect! Try again.');
            }
        };
        document.getElementById('giveUp').onclick = function() {
            challengePopup.remove();
        };
    }

    function createAgeVerificationPopup() {
        removeExistingPopup();

        let popup = document.createElement('div');
        popup.id = 'modalWrapMTubes';
        popup.className = 'containerMTubes ageDisclaimer isVisibleMTubes elOpenMTubes';
        popup.innerHTML = `
            <div class="modalMTubes ageDisclaimer elOpenMTubes">
                <div class="contentMTubes">
                    <h3 class="heading1">This is an adult website</h3>
                    <p class="bodyText">You must be 18 or older to enter.</p>
                    <button class="orangeButton buttonOver18">I am 18 or older - Enter</button>
                    <a class="greyButton buttonUnder18" href="https://www.google.com">I am under 18 - Exit</a>
                </div>
            </div>
        `;
        document.body.appendChild(popup);

        document.querySelector('.buttonOver18').onclick = function() {
            popup.remove();
            createMathChallengePopup();
        };
    }

    window.onload = function() {
        removeExistingPopup();
        if (!localStorage.getItem('ageVerified')) {
            createAgeVerificationPopup();
        }
    };

    let style = document.createElement('style');
    style.textContent = `
        #modalWrapMTubes, #mathChallengePopup {
            display: flex !important;
            justify-content: center;
            align-items: center;
            background: rgba(0, 0, 0, 0.75);
            backdrop-filter: blur(20px);
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 1000002;
        }
        .modalMTubes {
            background: #1e2a36;
            padding: 20px;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
            max-width: 750px;
            border-radius: 8px;
            text-align: center;
        }
        .orangeButton, .greyButton {
            padding: 10px 20px;
            margin: 10px;
            border: none;
            cursor: pointer;
            font-size: 16px;
            border-radius: 15px;
        }
        .orangeButton {
            background: orange;
            color: #2f0000;
        }
        .greyButton {
            background: grey;
            color: #2f0000;
            text-decoration: none;
            display: inline-block;
        }
        .inputField {
            padding: 8px;
            font-size: 16px;
            border-radius: 5px;
            border: 1px solid #ccc;
            width: 80%;
            margin: 10px 0;
            text-align: center;
            color: black;
        }
        html, body {
            overflow: auto !important;
        }
    `;
    document.head.appendChild(style);
})();