Cursor de Windows (.cur)
Especificación EstándarWindows Cursor Resource (CUR) es el formato de puntero de ratón nativo de Microsoft Windows, idéntico en arquitectura de contenedor a ICO pero especificando desplazamientos exactos de coordenadas de punto activo (hotspot).
Inspeccionar y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de CUR inspeccionando la secuencia de bytes binarios inicial:
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 00REPRESENTACIÓN ASCII: ....
Estandarización: Especificación de recursos de Microsoft Windows
Especificaciones técnicas
| Arquitectura del contenedor | Cabecera ICONDIR con tipo de recurso 2 (Cursor) seguida de matriz ICONDIRENTRY y datos DIB |
| Compresión | DIB sin comprimir o flujos comprimidos en PNG (Windows Vista+) |
| Orden de bytes (Endianness) | Little-Endian (Intel x86) |
| Espacios de color | RGB de dispositivo |
| Canales y estructura | Máscara monocrómica de 1 bit, 4 bits, 8 bits o BGRA de 32 bits con alfa |
| Dimensiones máximas | Típicamente 32 x 32, 48 x 48 o 64 x 64 (soporta hasta 256 x 256 en Windows moderno) |
| Transparencia | Máscara binaria XOR/AND o canal alfa suave de 8 bits |
| Streaming y progresivo | Directorio de iconos/cursores de escritorio no apto para streaming |
Matriz de comparación técnica: CUR frente a la competencia
| Atributo técnico | CUR (Actual) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definición de punto activo | Coordenadas de píxeles X/Y incrustadas | Ninguna (predeterminado en centro/arriba a la izquierda) | Definido en CSS | Definido en viewbox de SVG |
| ID de tipo de recurso | 0x0002 (Cursor) | 0x0001 (Icono) | Imagen estándar | XML vectorial |
| Sistema operativo | Subsistema de ratón nativo de Windows | Shell de Windows / Favicon de navegador | Web universal y aplicación | Vector universal |
| Escalabilidad | Mipmaps de múltiples resoluciones fijos | Mipmaps de múltiples resoluciones fijos | Tamaño fijo ráster | Escalado vectorial infinito |
Modos de corrupción comunes y guía de recuperación hexadecimal
El clic del ratón se registra varios píxeles lejos de la punta de la flecha del cursor.
Causa raíz: Coordenadas Hotspot X/Y corruptas o faltantes en la tabla ICONDIRENTRY.
Recuperación: Recree el cursor en File2File Cursor Converter para recalibrar visualmente la coordenada del punto activo.
Análisis de seguridad y vectores de ataque al analizador
Los errores de análisis de CUR en la Interfaz de Dispositivo Gráfico (GDI) de Windows históricamente permitieron la ejecución de código arbitrario a través de dimensiones de cabecera manipuladas.
Vectores de ataque conocidos
- Desbordamiento de enteros durante la asignación de máscaras de color DIB en decodificadores de cursores heredados.
- Desplazamientos de puntos activos corruptos que desencadenan lecturas de puntero fuera de los límites durante el blitting del cursor.
- Corrupción del montón al analizar flujos PNG incrustados dentro de archivos CUR modernos.
Mejores prácticas defensivas: Valide que las coordenadas del punto activo estén estrictamente dentro de las dimensiones del fotograma (0 <= X < Ancho, 0 <= Y < Alto).
Orígenes históricos e hitos
Ventajas clave y pros
- Define coordenadas exactas de píxeles del punto activo (X, Y) donde los clics del ratón se registran físicamente en la pantalla.
- Permite definiciones de cursores de múltiples resoluciones para una visualización nítida en monitores estándar y 4K de alta densidad de píxeles (HiDPI).
- Soporte nativo directo del sistema operativo en Windows sin necesidad de controladores de puntero de terceros.
Limitaciones técnicas y contras
- Formato centrado en Windows con escasa compatibilidad de visualización nativa en dispositivos móviles y navegadores que no sean de Windows.
- Solo puntero estático; los cursores animados requieren el contenedor .ANI de múltiples fotogramas.
- Las máscaras XOR de 1 bit heredadas producen artefactos de inversión duros en interfaces de color modernas.
Curiosidades técnicas interesantes
- La única diferencia estructural entre un archivo ICO y un archivo CUR es el byte 3 de la cabecera: 1 para Icono, 2 para Cursor.
- En un archivo ICO, los bytes 4 y 6 de cada entrada representan los planos de color y los bits por píxel; en un archivo CUR, esos bytes exactos representan las coordenadas Hotspot X e Y.
- CSS admite cursores web personalizados directamente utilizando URL que apuntan a archivos .cur.
Preguntas técnicas frecuentes
¿Qué es el punto activo (hotspot) de un cursor?
Un punto activo es la coordenada exacta del píxel dentro de la imagen del cursor (como la punta misma de una flecha o el centro de una retícula) donde ocurren los eventos de clic.
¿Puedo convertir una imagen (PNG/JPG) a un archivo CUR?
Sí. File2File.app le permite convertir archivos PNG o JPG estándar en archivos de cursor .CUR de Windows con ubicación de puntos activos personalizada.
¿Cómo puedo usar un archivo .cur en mi sitio web?
Puede aplicar cursores personalizados en CSS usando: cursor: url('mi-cursor.cur'), auto;