Cursor de Windows (.cur)
Especificación EstándarWindows 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:
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 de tipo de recurso 2 (cursor), seguida de una 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 monocromática de 1 bit, 4 bits, 8 bits o BGRA de 32 bits con alfa |
| Dimensiones máximas | Normalmente, 32 x 32, 48 x 48 o 64 x 64 píxeles (en las versiones modernas de Windows admite hasta 256 x 256) |
| Transparencia | Máscara binaria XOR/AND o canal alfa gradual de 8 bits |
| Streaming y progresivo | Directorio de iconos y cursores de escritorio; no admite procesamiento en 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 | Ninguno (predeterminado: centro o esquina superior izquierda) | Definido en CSS | Definido en el atributo viewBox de SVG |
| ID de tipo de recurso | 0x0002 (Cursor) | 0x0001 (icono) | Imagen estándar | XML vectorial |
| Sistema operativo | Subsistema nativo del ratón de Windows | Shell de Windows o favicon del navegador | Compatible con muchos navegadores y aplicaciones | Compatible con muchos navegadores y aplicaciones |
| Escalabilidad | Varias resoluciones fijas | Varias resoluciones fijas | Tamaño ráster fijo | Escalado 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
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;