Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa | |||
| epub:libro01:notas:start [2026/06/16 16:24] – webmaster | epub:libro01:notas:start [2026/06/16 16:26] (actual) – webmaster | ||
|---|---|---|---|
| Línea 61: | Línea 61: | ||
| Esto significaría dejar de usar https:// | Esto significaría dejar de usar https:// | ||
| + | Se crea la carpeta f: | ||
| + | |||
| + | <code php index.php> | ||
| + | <?php | ||
| + | // ========================================== | ||
| + | // CAPA 1: EXTRACCIÓN HARDCORE DE RED (PHP) | ||
| + | // ========================================== | ||
| + | $ip = $_SERVER[' | ||
| + | $puerto = $_SERVER[' | ||
| + | $metodo = $_SERVER[' | ||
| + | $protocolo = $_SERVER[' | ||
| + | $hora = date(' | ||
| + | $user_agent = $_SERVER[' | ||
| + | $accept = $_SERVER[' | ||
| + | $encoding = isset($_SERVER[' | ||
| + | $idioma = isset($_SERVER[' | ||
| + | $conexion_header = isset($_SERVER[' | ||
| + | |||
| + | // Captura de cabeceras de proxy o modificaciones de red | ||
| + | $forwarded_for = isset($_SERVER[' | ||
| + | $via = isset($_SERVER[' | ||
| + | ?> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | <meta charset=" | ||
| + | < | ||
| + | < | ||
| + | body { background-color: | ||
| + | .panel { border: 2px solid #00ff55; background-color: | ||
| + | h1 { color: #ff2222; font-size: 22px; margin-top: 0; border-bottom: | ||
| + | h2 { color: #2299ff; font-size: 16px; margin-top: 30px; border-bottom: | ||
| + | .fila { display: flex; border-bottom: | ||
| + | .label { color: #88bb88; width: 350px; font-weight: | ||
| + | .valor { color: #ffffff; word-break: break-all; } | ||
| + | .alerta-roja { color: #ff3333; font-weight: | ||
| + | @keyframes parpadeo { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } } | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | <div class=" | ||
| + | <h1>[ EXTRACCIÓN PERICIAL INTEGRAL - PROTOCOLO DE EXPOSICIÓN DE TELEMETRÍA ]</ | ||
| + | < | ||
| + | |||
| + | < | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | |||
| + | < | ||
| + | <div id=" | ||
| + | <p style=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | let auditoriaOk = false; | ||
| + | |||
| + | try { | ||
| + | // ---- 1. HARDWARE FÍSICO Y COMPONENTES ---- | ||
| + | const cores = navigator.hardwareConcurrency ? navigator.hardwareConcurrency + " hilos lógicos" | ||
| + | const ram = navigator.deviceMemory ? navigator.deviceMemory + " GB estimados" | ||
| + | | ||
| + | // Tarjeta Gráfica y Renderizador (WebGL masivo) | ||
| + | let gpu_fabricante = " | ||
| + | let gpu_renderizador = " | ||
| + | const canvas = document.createElement(' | ||
| + | const gl = canvas.getContext(' | ||
| + | if (gl) { | ||
| + | const debugInfo = gl.getExtension(' | ||
| + | if (debugInfo) { | ||
| + | gpu_fabricante = gl.getParameter(debugInfo.UNMASKED_RENDERER_VENDOR_SGIX); | ||
| + | gpu_renderizador = gl.getParameter(debugInfo.UNMASKED_RENDERER_INFO_SGIX); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Subsistema de Audio (Hardware de sonido integrado) | ||
| + | let subsistema_audio = " | ||
| + | try { | ||
| + | const AudioContext = window.AudioContext || window.webkitAudioContext; | ||
| + | if (AudioContext) { | ||
| + | const ctx = new AudioContext(); | ||
| + | subsistema_audio = ctx.sampleRate + " Hz (Frecuencia de muestreo física)"; | ||
| + | ctx.close(); | ||
| + | } | ||
| + | } catch(e){} | ||
| + | |||
| + | // ---- 2. ENTORNO DE PANTALLA Y MONITORES ---- | ||
| + | const resolucion_pantalla = window.screen.width + " | ||
| + | const area_utilizable = window.screen.availWidth + " | ||
| + | const profundidad_color = window.screen.colorDepth + " bits"; | ||
| + | const orientacion = (window.screen.orientation && window.screen.orientation.type) ? window.screen.orientation.type : "No reportada"; | ||
| + | |||
| + | // ---- 3. ESTADO INTERNO DEL SISTEMA ---- | ||
| + | const plataforma_raw = navigator.platform ? navigator.platform : "No declarada"; | ||
| + | const cookies_habilitadas = navigator.cookieEnabled ? " | ||
| + | const zona_horaria_placa = Intl.DateTimeFormat().resolvedOptions().timeZone; | ||
| + | const offset_gmt = "GMT " + (new Date().getTimezoneOffset() / -60); | ||
| + | | ||
| + | // Detección de automatización (Herramientas como Puppeteer/ | ||
| + | const automatizado = navigator.webdriver ? "SÍ (Posible bot/script automatizado)" | ||
| + | |||
| + | // Inspección de persistencia (Ver si usa almacenamiento local en disco) | ||
| + | let almacenamiento_local = " | ||
| + | try { | ||
| + | localStorage.setItem(' | ||
| + | localStorage.removeItem(' | ||
| + | almacenamiento_local = " | ||
| + | } catch(e){} | ||
| + | |||
| + | // Control de pantalla completa (Ver si está maximizado o en modo ventana) | ||
| + | const pantalla_completa = (window.innerWidth == window.screen.width && window.innerHeight == window.screen.height) ? " | ||
| + | |||
| + | // Si el navegador ha falseado u ocultado la GPU y cores esenciales, forzamos la caída al modo de protección inverso | ||
| + | if (navigator.hardwareConcurrency === undefined && gpu_fabricante === " | ||
| + | // Permitimos que actúe el temporizador por falta de datos verídicos | ||
| + | } else { | ||
| + | auditoriaOk = true; | ||
| + | document.getElementById(' | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | `; | ||
| + | } | ||
| + | } catch (e) { | ||
| + | // Si rompe la ejecución por medidas defensivas del cliente, se mantiene en false | ||
| + | } | ||
| + | |||
| + | // ========================================== | ||
| + | // CAPA 3: LÓGICA DE DETECCIÓN INVERSA (MODO CONTENCIÓN FRONTAL) | ||
| + | // ========================================== | ||
| + | setTimeout(() => { | ||
| + | if (!auditoriaOk) { | ||
| + | document.getElementById(' | ||
| + | <div style=" | ||
| + | <p style=" | ||
| + | [ ANOMALÍA: BLOQUEO CRÍTICO DE AUDITORÍA DETECTADO ] | ||
| + | </p> | ||
| + | | ||
| + | <p style=" | ||
| + | "Vaya, veo que no he obtenido absolutamente ningún dato de su computadora. | ||
| + | Si estaba tan bien protegida accediendo a un servidor web local y privado, | ||
| + | es porque sabe ocultarse muy bien." | ||
| + | </p> | ||
| + | | ||
| + | <div style=" | ||
| + | <p style=" | ||
| + | 🚨 AVISO DE VIOLACIÓN DE PROTOCOLO PERICIAL: | ||
| + | </p> | ||
| + | <p style=" | ||
| + | "Este proceso no está supuesto a ser bloqueado. Si aparece este mensaje, es una | ||
| + | evidencia inequívoca de un ataque deliberado para detener el proceso de registro | ||
| + | en curso y enmascarar la identidad del cliente." | ||
| + | </p> | ||
| + | </ | ||
| + | | ||
| + | <p style=" | ||
| + | > ACCIÓN: Interrupción forzosa de la telemetría estándar. El motor local ha catalogado este vector como ' | ||
| + | </p> | ||
| + | </ | ||
| + | `; | ||
| + | } | ||
| + | }, 800); | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||