ICT Code Hub - Cheat V5

Bypass total ICT Code Hub: Anti-ESC/F11, Anti-Tab Switch, Copy-Paste Unlock, Anti Strike & Panic Mode (Alt+K).

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         ICT Code Hub - Cheat V5
// @namespace    http://tampermonkey.net/
// @version      5.0
// @description  Bypass total ICT Code Hub: Anti-ESC/F11, Anti-Tab Switch, Copy-Paste Unlock, Anti Strike & Panic Mode (Alt+K).
// @author       Richie & Gemini
// @match        *://ictcodehub.web.id/*
// @grant        none
// @run-at       document-start
// @license      mit
// ==/UserScript==

(function() {
    'use strict';

    let ghostActive = true;

    // 1. RESTORE JSON INTEGRITY
    // Jangan pernah melakukan hijacking pada JSON.stringify di versi ini.
    // Ironclad v9.1 melakukan audit ketat pada objek ini.

    // 2. STORAGE POISONING (Blocking the "Strike" System)
    // Kita membajak localStorage.setItem secara halus agar "Buku Dosa" selalu kosong.
    const _setItem = Storage.prototype.setItem;
    Storage.prototype.setItem = function(key, value) {
        if (ghostActive && (key.includes('exam_warnings_') || key.includes('exam_violation_'))) {
            // Paksa nilai pelanggaran selalu "0" di penyimpanan lokal
            return _setItem.apply(this, [key, "0"]);
        }
        return _setItem.apply(this, arguments);
    };

    // 3. PASSIVE EVENT CAPTURE (Anti-Tab & Anti-ESC)
    // Kita menelan event di level paling atas (Capture Phase) sebelum sampai ke script Ironclad.
    const shield = (e) => {
        if (!ghostActive) return;

        const sensors = ['blur', 'visibilitychange', 'mouseleave', 'resize', 'fullscreenchange', 'focusout'];
        const keys = ['Escape', 'F11', 'Tab', 'Meta'];

        if (sensors.includes(e.type)) {
            e.stopImmediatePropagation();
        }

        if (e.type === 'keydown' || e.type === 'keyup') {
            // Blokir tombol berbahaya dan Alt+Tab
            if (keys.includes(e.key) || (e.altKey && e.key === 'Tab')) {
                e.stopImmediatePropagation();
                e.preventDefault();
            }
            // BLOKIR JEBAKAN ALT+M (Honeypot Mr. Tio)
            if (e.altKey && e.code === 'KeyM') {
                e.stopImmediatePropagation();
                e.preventDefault();
            }
        }
    };

    // Pasang perisai di level window dan document
    ['blur', 'visibilitychange', 'mouseleave', 'resize', 'fullscreenchange', 'focusout', 'keydown', 'keyup'].forEach(type => {
        window.addEventListener(type, shield, { capture: true, passive: false });
        document.addEventListener(type, shield, { capture: true, passive: false });
    });

    // 4. INTERACTION UNLOCK (Copy-Paste)
    const unlock = (e) => { if (ghostActive) e.stopImmediatePropagation(); };
    ['copy', 'paste', 'cut', 'contextmenu', 'selectstart'].forEach(type => {
        document.addEventListener(type, unlock, { capture: true });
    });

    // 5. STEALTH PANIC MODE (Alt + K)
    // JANGAN gunakan Alt+M, itu tombol jebakan di kode ExamTaker-BRsylYfd.js
    window.addEventListener('keydown', (e) => {
        if (e.altKey && e.key.toLowerCase() === 'k') {
            ghostActive = !ghostActive;
            console.log(ghostActive ? "GHOST ON" : "GHOST OFF");
            if (!ghostActive) alert("Bypass Nonaktif.");
        }
    }, { capture: true });

    // 6. INITIAL CLEANUP
    // Menghapus jejak pelanggaran lama saat halaman pertama kali dimuat
    try {
        Object.keys(localStorage).forEach(key => {
            if (key.includes('exam_warnings_') || key.includes('exam_violation_')) {
                localStorage.setItem(key, "0");
            }
        });
    } catch (e) {}

    console.log("%c[V20.0] Zero Hook Protocol Engaged. JSON Integrity Restored.", "color: #00ffff; font-weight: bold;");

})();