Cursor de Windows (.cur)

Especificación Estándar

Windows Cursor Resource (CUR) es el formato nativo de puntero del ratón de Microsoft Windows. Su estructura de contenedor es igual a la de ICO, pero especifica las coordenadas exactas del punto activo.

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de CUR inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de CUR inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

00 00 02 00

REPRESENTACIÓN ASCII: ....

Estandarización: Especificación de recursos de Microsoft Windows

Especificaciones técnicas

Arquitectura del contenedorCabecera ICONDIR de tipo de recurso 2 (cursor), seguida de una matriz ICONDIRENTRY y datos DIB
CompresiónDIB sin comprimir o flujos comprimidos en PNG (Windows Vista+)
Orden de bytes (Endianness)Little-Endian (Intel x86)
Espacios de colorRGB de dispositivo
Canales y estructuraMáscara monocromática de 1 bit, 4 bits, 8 bits o BGRA de 32 bits con alfa
Dimensiones máximasNormalmente, 32 x 32, 48 x 48 o 64 x 64 píxeles (en las versiones modernas de Windows admite hasta 256 x 256)
TransparenciaMáscara binaria XOR/AND o canal alfa gradual de 8 bits
Streaming y progresivoDirectorio de iconos y cursores de escritorio; no admite procesamiento en streaming.

Matriz de comparación técnica: CUR frente a la competencia

Atributo técnicoCUR (Actual)ICOPNGSVG
Definición de punto activoCoordenadas de píxeles X/Y incrustadasNinguno (predeterminado: centro o esquina superior izquierda)Definido en CSSDefinido en el atributo viewBox de SVG
ID de tipo de recurso0x0002 (Cursor)0x0001 (icono)Imagen estándarXML vectorial
Sistema operativoSubsistema nativo del ratón de WindowsShell de Windows o favicon del navegadorCompatible con muchos navegadores y aplicacionesCompatible con muchos navegadores y aplicaciones
EscalabilidadVarias resoluciones fijasVarias resoluciones fijasTamaño ráster fijoEscalado vectorial infinito

Modos de corrupción comunes y guía de recuperación hexadecimal

El clic del ratón se registra a varios píxeles de la punta de la flecha del cursor.

Causa raíz: Las coordenadas X/Y del punto activo de la tabla ICONDIRENTRY están dañadas o faltan.

Recuperación: Vuelve a crear el cursor con el conversor de cursores de File2File.app para ajustar visualmente las coordenadas del punto activo.

Análisis de seguridad y vectores de ataque al analizador

Históricamente, los errores al analizar archivos CUR con la interfaz de dispositivo gráfico (GDI) de Windows han permitido ejecutar código arbitrario mediante dimensiones manipuladas en la cabecera.

Vectores de ataque conocidos

  • Desbordamiento de enteros al asignar máscaras de color DIB en descodificadores antiguos de cursores.
  • Los desplazamientos dañados del punto activo pueden provocar lecturas de puntero fuera de los límites al dibujar el cursor.
  • Corrupción del montón al analizar flujos PNG incrustados en archivos CUR modernos.

Mejores prácticas defensivas: Comprueba que las coordenadas del punto activo estén dentro de las dimensiones del fotograma (0 <= X < ancho, 0 <= Y < alto).

Orígenes históricos e hitos

2006Windows Vista incorpora cursores de alta resolución de 256 x 256 píxeles con datos comprimidos en PNG dentro del archivo CUR.
2001Windows XP añade compatibilidad con sombras paralelas de 32 bits con transparencia alfa gradual en los archivos de cursor.
1990Windows 3.0 estandariza CUR como el formato de cursor nativo de hardware y software.

Ventajas principales

  • Define las coordenadas exactas (X, Y) del píxel activo donde se registran los clics del ratón.
  • Permite definir el cursor en varias resoluciones para que se vea nítido en monitores estándar y 4K de alta densidad de píxeles.
  • Windows lo admite de forma nativa, sin necesidad de controladores de puntero de terceros.

Limitaciones técnicas

  • Es un formato centrado en Windows, con poca compatibilidad de visualización nativa en móviles y navegadores de otros sistemas.
  • Solo puntero estático; los cursores animados requieren el contenedor .ANI de múltiples fotogramas.
  • Las máscaras XOR antiguas de 1 bit producen artefactos de inversión muy marcados en las interfaces modernas en color.

Curiosidades técnicas interesantes

  • La única diferencia estructural entre un archivo ICO y uno CUR está en el byte 3 de la cabecera: 1 indica un icono y 2, un cursor.
  • En ICO, los bytes 4 y 6 de cada entrada indican los planos de color y los bits por píxel. En CUR, esos mismos bytes indican las coordenadas X e Y del punto activo.
  • CSS admite cursores web personalizados mediante URL que apunten a archivos .cur.

Preguntas técnicas frecuentes

¿Qué es el punto activo (hotspot) de un cursor?

El punto activo es la coordenada exacta de un píxel dentro de la imagen del cursor (por ejemplo, la punta de una flecha o el centro de una retícula) donde se registra el clic.

¿Puedo convertir una imagen (PNG/JPG) a un archivo CUR?

Sí. File2File.app permite convertir imágenes PNG o JPG estándar en cursores .CUR de Windows y elegir la ubicación del punto activo.

¿Cómo puedo usar un archivo .cur en mi sitio web?

En CSS, puedes definir un cursor personalizado así: cursor: url('mi-cursor.cur'), auto;