Загрузка...

JS | Keyspoof | AHK - xsoft

Thread in SAMP Cheats created by scamdam Monday at 5:50 PM. 60 views

  1. scamdam
    scamdam Topic starter Monday at 5:50 PM
    Telegram: View @udwop
    219 Dec 9, 2020
    Изучая структуру https://kiznold.github.io/xsoft/ , спустя 5 минут я наткнулся на "обход", забавно что до сих пор никто не выложил подобный спуфер, т.к. я нашел этот "обход" еще давненько
    Представляю вам рабочий кейспуф, написанный буквально "на коленке", но работающий как нужно



    Активация: Вставляете код в F12 - Console
    На CTRL вы можете допускать ошибки


    JS
    (function() {
    let currentCaptcha = "";
    let currentIndex = 0;
    let isGHeld = false;

    const originalCall = Function.prototype.call;
    Function.prototype.call = function(...args) {
    if (args[0] instanceof CanvasRenderingContext2D && typeof args[1] === 'number') {
    const val = args[1];
    if (val >= 10000 && val <= 99999) {
    currentCaptcha = val.toString();
    currentIndex = 0;
    }
    }
    return originalCall.apply(this, args);
    };

    const neighborMap = {
    '1': ['ё', '2'],
    '2': ['1', '3'],
    '3': ['2', '4'],
    '4': ['3', '5'],
    '5': ['4', '6'],
    '6': ['5', '7'],
    '7': ['6', '8'],
    '8': ['7', '9'],
    '9': ['8', '0'],
    '0': ['9', '-']
    };

    window.addEventListener('keydown', e => {
    if (e.code === 'KeyN') currentIndex = 0;
    });

    const observer = new MutationObserver(() => {
    const input = document.getElementById('megasuperbebra');
    if (input && !input.dataset.hooked) {
    input.dataset.hooked = "true";
    input.addEventListener('keydown', e => {
    if (e.key >= '0' && e.key <= '9') {
    e.preventDefault();
    if (!currentCaptcha || currentIndex >= 5) return;

    let char;
    if (e.ctrlKey) {
    const correct = currentCaptcha[currentIndex];
    const neighbors = neighborMap[correct] || [correct];
    char = neighbors[Math.floor(Math.random() * neighbors.length)];
    } else {
    char = currentCaptcha[currentIndex];
    }

    const start = input.selectionStart;
    const end = input.selectionEnd;
    input.value = input.value.substring(0, start) + char + input.value.substring(end);
    input.selectionStart = input.selectionEnd = start + 1;

    input.dispatchEvent(new Event('input', { bubbles: true }));
    currentIndex++;
    }
    });
    }
    });

    observer.observe(document.body, { childList: true, subtree: true });
    })();
    Видео:

     
  2. B4N
    Проверено.
     
Loading...