// Obfuscated configuration const config = { target: atob("MTk4Nw=="), // Base64 encoded URL: "https://ntna/" destination: atob("aHR0cHM6Ly9uZXh0LXRreS5uZXRsaWZ5LmFwcC8="), maxAttempts: 3, } class SecureAuth { constructor() { this.attempts = 0 this.inputs = document.querySelectorAll(".pin-input") this.submitBtn = document.getElementById("submitBtn") this.errorMessage = document.getElementById("errorMessage") this.loading = document.getElementById("loading") this.currentPin = "" this.init() } init() { this.setupEventListeners() this.inputs[0].focus() } setupEventListeners() { this.inputs.forEach((input, index) => { input.addEventListener("input", (e) => this.handleInput(e, index)) input.addEventListener("keydown", (e) => this.handleKeydown(e, index)) input.addEventListener("paste", (e) => this.handlePaste(e)) }) this.submitBtn.addEventListener("click", () => this.validateAccess()) // Prevent right-click context menu document.addEventListener("contextmenu", (e) => e.preventDefault()) // Prevent F12, Ctrl+Shift+I, Ctrl+U document.addEventListener("keydown", (e) => { if (e.key === "F12" || (e.ctrlKey && e.shiftKey && e.key === "I") || (e.ctrlKey && e.key === "u")) { e.preventDefault() this.showError("Access denied") } }) } handleInput(e, index) { const value = e.target.value if (value && /^\d$/.test(value)) { e.target.classList.add("filled") this.clearError() if (index < this.inputs.length - 1) { this.inputs[index + 1].focus() } } else { e.target.value = "" e.target.classList.remove("filled") } this.updateCurrentPin() } handleKeydown(e, index) { if (e.key === "Backspace" && !e.target.value && index > 0) { this.inputs[index - 1].focus() this.inputs[index - 1].value = "" this.inputs[index - 1].classList.remove("filled") } if (e.key === "Enter") { this.validateAccess() } // Only allow numbers if (!/^\d$/.test(e.key) && !["Backspace", "Delete", "Tab", "Enter"].includes(e.key)) { e.preventDefault() } } handlePaste(e) { e.preventDefault() const paste = (e.clipboardData || window.clipboardData).getData("text") if (/^\d{4}$/.test(paste)) { ;[...paste].forEach((digit, index) => { if (this.inputs[index]) { this.inputs[index].value = digit this.inputs[index].classList.add("filled") } }) this.updateCurrentPin() } } updateCurrentPin() { this.currentPin = Array.from(this.inputs) .map((input) => input.value) .join("") } validateAccess() { this.updateCurrentPin() if (this.currentPin.length !== 4) { this.showError("Please enter all 4 digits") return } // Obfuscated validation const hash = btoa(this.currentPin) const targetHash = btoa(config.target) if (hash === targetHash) { this.showLoading() setTimeout(() => { // Additional obfuscation layer const url = config.destination window.location.href = url }, 1000) } else { this.attempts++ this.handleFailedAttempt() } } handleFailedAttempt() { this.inputs.forEach((input) => { input.classList.add("error") input.value = "" input.classList.remove("filled") }) setTimeout(() => { this.inputs.forEach((input) => input.classList.remove("error")) }, 500) if (this.attempts >= config.maxAttempts) { this.showError("Too many failed attempts. Access blocked.") this.submitBtn.disabled = true setTimeout(() => { window.location.reload() }, 3000) } else { this.showError(`Invalid PIN. ${config.maxAttempts - this.attempts} attempts remaining.`) } this.inputs[0].focus() this.currentPin = "" } showError(message) { this.errorMessage.textContent = message this.errorMessage.classList.add("show") setTimeout(() => { this.errorMessage.classList.remove("show") }, 3000) } clearError() { this.errorMessage.classList.remove("show") } showLoading() { this.submitBtn.style.display = "none" this.loading.classList.add("show") } } // Initialize when DOM is loaded document.addEventListener("DOMContentLoaded", () => { new SecureAuth() }) // Additional obfuscation - clear console periodically setInterval(() => { console.clear() }, 1000) // Disable developer tools detection ;(() => { const devtools = { open: false, orientation: null } const threshold = 160 setInterval(() => { if (window.outerHeight - window.innerHeight > threshold || window.outerWidth - window.innerWidth > threshold) { if (!devtools.open) { devtools.open = true window.location.reload() } } else { devtools.open = false } }, 500) })()