Cursore Windows (.cur)
Microsoft StandardWindows Cursor Resource (CUR) este formatul nativ de pointer de mouse pentru Microsoft Windows, identic în arhitectura containerului cu ICO, dar care specifică coordonate exacte pentru offset-ul hotspot-ului.
Inspectează și Metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele CUR prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele CUR prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
00 00 02 00REPREZENTARE ASCII: ....
Standardizare: Microsoft Windows Resource Specification
Specificații tehnice
| Arhitectură container | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| Compresie | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| Endianitatea octeților | Little-Endian (Intel x86) |
| Spații de culoare | Device RGB |
| Canale și structură | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| Dimensiuni maxime | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| Transparență | XOR/AND binary mask or 8-bit smooth alpha channel |
| Streaming și progresiv | Non-streamable desktop icon/cursor directory |
Matrice de comparație tehnică: CUR vs Competitori
| Atribut tehnic | CUR (Curent) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definirea Hotspot-ului | Coordonate X/Y în pixeli încorporate | Niciuna (centru/stânga-sus implicit) | Definit în CSS | Definit în viewBox SVG |
| ID tip resursă | 0x0002 (Cursor) | 0x0001 (Pictogramă) | Imagine standard | XML vectorial |
| Sistem de operare | Subsistemul nativ de mouse Windows | Shell Windows / Favicon pentru browser | Web și aplicații universale | Vector universal |
| Scalabilitate | Mipmap-uri fixe cu rezoluții multiple | Mipmap-uri fixe cu rezoluții multiple | Raster cu dimensiune fixă | Scalare vectorială infinită |
Moduri comune de corupție și ghid de recuperare hexazecimală
Click-ul de mouse se înregistrează la câțiva pixeli distanță față de vârful săgeții cursorului.
Cauză principală: Coordonate Hotspot X/Y corupte sau lipsă în tabelul ICONDIRENTRY.
Recuperare: Recreați cursorul în File2File Cursor Converter pentru a recalibra vizual coordonata hotspot-ului.
Analiză de securitate și vectori de atac asupra parserului
Erorile de parsare CUR din Interfața de Dispozitiv Grafic Windows (GDI) au permis istoric execuția de cod arbitrar prin intermediul dimensiunilor de antet meșteșugite.
Vectori de atac cunoscuți
- Depășire de întreg (integer overflow) în timpul alocării măștilor de culoare DIB în decodoarele de cursoare vechi.
- Decalaje corupte ale hotspot-ului care declanșează citiri de pointer în afara limitelor (out-of-bounds) în timpul randării cursorului.
- Coruperea memoriei heap la parsarea fluxurilor PNG încorporate în fișiere CUR moderne.
Cele mai bune practici de securitate:
Origini istorice și repere
Avantaje cheie și beneficii
- Definește coordonate exacte ale hotspot-ului în pixeli (X, Y) unde se înregistrează fizic click-urile de mouse pe ecran.
- Permite definirea de cursoare cu rezoluții multiple pentru o afișaj clar pe monitoare standard și high-DPI de 4K.
- Suport direct și nativ din partea sistemului de operare în Windows, fără a necesita drivere terțe pentru pointer.
Limitări tehnice și dezavantaje
- Format centrat pe Windows, cu suport nativ slab pentru afișaj pe dispozitive mobile și browsere non-Windows.
- Doar pointer static; cursoarele animate necesită containerul multi-cadru .ANI.
- Măștile XOR tradiționale pe 1 bit produc artefacte dure de inversare pe interfețele moderne colorate.
Curiozități tehnice interesante
- Singura diferență structurală între un fișier ICO și un fișier CUR este octetul 3 al antetului: 1 pentru pictogramă (Icon), 2 pentru cursor (Cursor).
- Într-un fișier ICO, octeții 4 și 6 ai fiecărei intrări reprezintă planurile de culoare și biții pe pixel; într-un fișier CUR, acești octeți preciși reprezintă coordonatele Hotspot X și Y.
- CSS acceptă cursoare web personalizate direct folosind adrese URL care indică spre fișiere .cur.
Întrebări tehnice frecvente
Ce este un punct de activare (hotspot) al cursorului?
Un hotspot este coordonata exactă a pixelului din interiorul imaginii cursorului (cum ar fi vârful exact al unei săgeți sau centrul unei cruciulițe) unde au loc evenimentele de clic.
Pot converti o imagine (PNG/JPG) într-un fișier CUR?
Da. File2File.app vă permite să convertiți fișiere standard PNG sau JPG în fișiere de cursor Windows .CUR cu plasarea personalizată a hotspot-ului.
Cum pot folosi un fișier .cur pe site-ul meu web?
Puteți aplica cursoare personalizate în CSS folosind: cursor: url('my-cursor.cur'), auto;