Cursore Windows (.cur)

Specificația Standard

Windows 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.

Inspectare și metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele CUR prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele CUR prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

00 00 02 00

REPREZENTARE ASCII: ....

Standardizare: Specificația resurselor Microsoft Windows

Specificații tehnice

Arhitectură containerAntet ICONDIR cu tipul de resursă 2 (cursor), urmat de matricea ICONDIRENTRY și datele DIB
CompresieDIB necomprimat sau fluxuri comprimate PNG (Windows Vista și versiunile ulterioare)
Ordinea octețilorLittle-Endian (Intel x86)
Spații de culoareRGB dependent de dispozitiv
Canale și structurăMască monocromă pe 1 bit, 4 sau 8 biți, ori BGRA cu alfa pe 32 de biți
Dimensiuni maximeDe obicei 32 x 32, 48 x 48 sau 64 x 64 (acceptă până la 256 x 256 în Windows modern)
TransparențăMască binară XOR/AND sau canal alfa gradual pe 8 biți
Streaming și progresivDirector desktop pentru pictograme/cursore, care nu poate fi transmis în flux

Matrice de comparație tehnică: CUR vs. concurenți

Atribut tehnicCUR (Curent)ICOPNGSVG
Definirea Hotspot-uluiCoordonate X/Y în pixeli încorporateNiciuna (centru/stânga-sus implicit)Definit în CSSDefinit în viewBox SVG
ID tip resursă0x0002 (Cursor)0x0001 (Pictogramă)Imagine standardXML vectorial
Sistem de operareSubsistemul nativ de mouse WindowsShell Windows / Favicon pentru browserEste acceptat de multe browsere și aplicațiiEste acceptat de multe browsere și aplicații
ScalabilitateMipmap-uri fixe cu rezoluții multipleMipmap-uri fixe cu rezoluții multipleRaster 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.app 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 concepute special.

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: Validează că toate coordonatele punctului activ se află strict în dimensiunile cadrului (0 <= X < lățime, 0 <= Y < înălțime).

Origini istorice și repere

2006Windows Vista introduce cursoare high-DPI de 256x256 pixeli cu conținut comprimat PNG în interiorul CUR.
2001Windows XP adaugă suport pentru umbre estompate (drop shadows) cu transparență alfa pe 32 de biți în fișierele cursor.
1990Windows 3.0 standardizează CUR ca format nativ de cursor hardware și software.

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 un 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 îți permite să convertești imagini PNG sau JPG obișnuite în fișiere cursor Windows .CUR și să alegi un punct activ personalizat.

Cum pot folosi un fișier .cur pe site-ul meu web?

Poți aplica cursoare personalizate în CSS folosind: cursor: url('my-cursor.cur'), auto;