Cursore Windows (.cur)
Microsoft StandardIl formato Windows Cursor Resource (CUR) è il formato nativo per il puntatore del mouse di Microsoft Windows, identico nell'architettura del contenitore a ICO ma con la specifica delle coordinate esatte del punto caldo (hotspot).
Ispeziona e metadati
I sistemi operativi e gli analizzatori di file identificano i file CUR ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file CUR ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
00 00 02 00RAPPRESENTAZIONE ASCII: ....
Standardizzazione: Microsoft Windows Resource Specification
Specifiche tecniche
| Architettura del container | Intestazione ICONDIR con tipo di risorsa 2 (Cursore) seguita da un array ICONDIRENTRY e dati DIB |
| Compressione | Flussi DIB non compressi o compressi in PNG (Windows Vista+) |
| Endianness dei byte | Little-Endian (Intel x86) |
| Spazi colore | Device RGB |
| Canali e struttura | Maschera monocromatica a 1 bit, 4 bit, 8 bit o BGRA a 32 bit con canale alfa |
| Dimensioni massime | Tipicamente 32 x 32, 48 x 48 o 64 x 64 (supporta fino a 256 x 256 nei sistemi Windows moderni) |
| Trasparenza | Maschera binaria XOR/AND o canale alfa sfumato a 8 bit |
| Streaming e progressivo | Directory di icone/cursori desktop non trasmissibile in streaming |
Matrice di confronto tecnico: CUR vs Concorrenti
| Attributo tecnico | CUR (Corrente) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definizione Hotspot | Coordinate pixel X/Y incorporate | Nessuna (predefinito al centro/in alto a sinistra) | Definito in CSS | Definito nel riquadro di visualizzazione SVG |
| ID Tipo Risorsa | 0x0002 (Cursore) | 0x0001 (Icona) | Immagine standard | Vettore XML |
| Sistema Operativo | Sottosistema Mouse Nativo Windows | Shell di Windows / Favicon del Browser | Web e App Universale | Vettore Universale |
| Scalabilità | Mipmap fisse a risoluzioni multiple | Mipmap fisse a risoluzioni multiple | Raster a dimensione fissa | Scalabilità vettoriale infinita |
Modalità di corruzione comuni e guida al recupero Hex
Il clic del mouse si registra a diversi pixel di distanza dalla punta della freccia del cursore.
Causa principale: Coordinate Hotspot X/Y corrotte o mancanti nella tabella ICONDIRENTRY.
Ripristino: Ricrea il cursore in File2File Cursor Converter per ricalibrare visivamente la coordinata dell'hotspot.
Analisi di sicurezza e vettori di attacco del parser
I bug di analisi dei file CUR nell'interfaccia GDI (Graphics Device Interface) di Windows storicamente permettevano l'esecuzione di codice arbitrario tramite dimensioni di intestazione manipolate.
Vettori di attacco noti
- Overflow di interi durante l'allocazione delle maschere di colore DIB nei decoder di cursori obsoleti.
- Offset di hotspot corrotti che attivano letture di puntatore fuori dai limiti durante il blitting del cursore.
- Corruzione dell'heap durante l'analisi di flussi PNG incorporati all'interno di file CUR moderni.
Migliori pratiche difensive: Validare che le coordinate dell'hotspot siano rigorosamente all'interno delle dimensioni del fotogramma (0 <= X < Larghezza, 0 <= Y < Altezza).
Origini storiche e tappe fondamentali
Vantaggi principali e pro
- Definisce le coordinate esatte dei pixel dell'hotspot (X, Y) in cui i clic del mouse si registrano fisicamente sullo schermo.
- Abilita definizioni di cursori a risoluzioni multiple per una visualizzazione nitida su monitor standard e 4K ad alta risoluzione.
- Supporto diretto nativo del sistema operativo in Windows senza driver di puntamento di terze parti.
Limiti tecnici e svantaggi
- Formato incentrato su Windows con scarso supporto di visualizzazione nativa su dispositivi mobili e browser non Windows.
- Solo puntatore statico; i cursori animati richiedono il contenitore multi-frame .ANI.
- Le maschere XOR a 1 bit ereditate dal passato producono forti artefatti di inversione sulle interfacce a colori moderne.
Curiosità tecniche interessanti
- L'unica differenza strutturale tra un file ICO e un file CUR è il byte 3 dell'intestazione: 1 per Icona, 2 per Cursore.
- In un file ICO, i byte 4 e 6 di ciascuna voce rappresentano i piani colore e i bit per pixel; in un file CUR, quegli stessi byte rappresentano le coordinate Hotspot X e Y.
- I CSS supportano cursori web personalizzati direttamente utilizzando URL che puntano a file .cur.
Domande tecniche frequenti
Cos'è un hotspot del cursore?
Un hotspot è la coordinata esatta del pixel all'interno dell'immagine del cursore (come la punta estrema di una freccia o il centro di un mirino) in cui si verificano gli eventi di clic.
Posso convertire un'immagine (PNG/JPG) in un file CUR?
Sì. File2File.app consente di convertire file PNG o JPG standard in file cursore .CUR di Windows con posizionamento personalizzato dell'hotspot.
Come posso usare un file .cur sul mio sito web?
Puoi applicare cursori personalizzati nei CSS usando: cursor: url('my-cursor.cur'), auto;