Kursor Windows (.cur)

Specifikacija Standard

Windowsov resurs kursora (CUR) je izvorni format pokazivača miša u sistemu Microsoft Windows. Po arhitekturi kontejnera identičan je ICO formatu, ali određuje tačne koordinate aktivne tačke (hotspot).

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju CUR datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju CUR datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

00 00 02 00

ASCII REPREZENTACIJA: ....

Standardizacija: Specifikacija resursa Microsoft Windows

Tehničke specifikacije

Arhitektura kontejneraZaglavlje ICONDIR sa tipom resursa 2 (kursor), zatim niz ICONDIRENTRY unosa i DIB podaci
KompresijaNekomprimovani DIB ili PNG-komprimovani tokovi (Windows Vista i noviji)
Bajtni redosled (Endianness)Redosled bajtova Intel x86 procesora, od najmanje značajnog ka najznačajnijem (little-endian)
Prostori bojaRGB zavisan od uređaja
Kanali i strukturaMonohromatska maska od 1 bita, 4 bita, 8 bita ili 32-bitni BGRA sa alfa-kanalom
Maksimalne dimenzijeObično 32 x 32, 48 x 48 ili 64 x 64 (u savremenom Windowsu podržava do 256 x 256)
TransparentnostXOR/AND binarna maska ili glatki alfa-kanal od 8 bita
Strimovanje i progresivno učitavanjeDirektorijum radne površine koji ne podržava strimovanje, za ikone i kursore

Tehnička matrica poređenja: CUR u odnosu na konkurente

Tehnički atributCUR (Trenutno)ICOPNGSVG
Definicija aktivne tačkeUgrađene X/Y koordinate pikselaNema (podrazumevano centar/gornji levi ugao)Definisano u CSS-uDefinisano u SVG viewBox-u
ID tipa resursa0x0002 (Kursor)0x0001 (ikona)Standardna slikaVektorski XML
Operativni sistemIzvorni Windows podsistem mišaWindows Shell / Veb omiljena ikona (Favicon)Podržavaju ga mnogi veb-pregledači i aplikacijePodržavaju ga mnogi veb-pregledači i aplikacije
SkalabilnostFiksni mipmapi u više rezolucijaFiksni mipmapi u više rezolucijaRaster fiksne veličineBeskonačno vektorsko skaliranje

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Klik miša se registruje nekoliko piksela dalje od vrha strelice kursora.

Osnovni uzrok: Oštećene ili nedostajuće X/Y koordinate aktivne tačke u ICONDIRENTRY tabeli.

Oporavak: Ponovo kreirajte kursor u File2File.app Cursor Converter alatu da biste vizuelno ponovo kalibrisali koordinate aktivne tačke.

Bezbednosna analiza i vektori napada parsera

Greške u parsiranju CUR datoteka u Windowsovom grafičkom interfejsu uređaja (GDI) istorijski su omogućavale proizvoljno izvršavanje koda pomoću posebno oblikovanih dimenzija zaglavlja.

Poznati vektori napada

  • Prelivanje celobrojne vrednosti tokom alokacije DIB maski boja u nasleđenim dekoderima kursora.
  • Oštećeni pomaci aktivne tačke koji pokreću čitanje pokazivača van dozvoljenih granica tokom iscrtavanja kursora.
  • Oštećenje memorije na hipu prilikom parsiranja ugrađenih PNG tokova unutar modernih CUR datoteka.

Najbolje prakse za zaštitu: Validirajte da su koordinate aktivne tačke strogo unutar dimenzija kadra (0 <= X < Width, 0 <= Y < Height).

Istorijat i prekretnice

2006Windows Vista uvodi kursore dimenzija 256x256 za ekrane visoke gustine piksela (high-DPI), sa sadržajem kompresovanim u PNG formatu unutar CUR datoteke.
2001Windows XP dodaje podršku za glatke senke sa 32-bitnim alfa stapanjem u datotekama kursora.
1990Windows 3.0 standardizuje CUR kao izvorni format kursora za hardver i softver.

Ključne prednosti

  • Definiše tačne koordinate piksela aktivne tačke (X, Y) gde se klikovi mišem fizički registruju na ekranu.
  • Omogućava definicije kursora u više rezolucija za oštar prikaz na standardnim i 4K monitorima visoke gustine piksela.
  • Direktna izvorna podrška operativnog sistema u Windows-u bez potrebe za drajverima za pokazivače trećih strana.

Tehnička ograničenja i nedostaci

  • Format usmeren na Windows sa slabom izvornom podrškom za prikaz na mobilnim uređajima i pretraživačima koji nisu bazirani na Windowsu.
  • Samo statički pokazivač; animirani kursori zahtevaju višeslojni .ANI kontejner.
  • Nasleđene 1-bitne XOR maske proizvode oštre artefakte inverzije na modernim interfejsima u boji.

Zanimljivosti

  • Jedina strukturna razlika između ICO datoteke i CUR datoteke je bajt 3 zaglavlja: 1 za ikonu, 2 za kursor.
  • U ICO datoteci, bajtovi 4 i 6 svakog unosa predstavljaju ravni boja i bitova po pikselu; u CUR datoteci, ti isti bajtovi predstavljaju X i Y koordinate aktivne tačke.
  • CSS direktno podržava prilagođene veb kursore pomoću URL adresa koje upućuju na .cur datoteke.

Često postavljana tehnička pitanja

Šta je aktivna tačka (hotspot) kursora?

Aktivna tačka je tačna koordinata piksela unutar slike kursora (kao što je sam vrh strelice ili centar nišana) gde se dešavaju događaji klika.

Mogu li da konvertujem sliku (PNG/JPG) u CUR datoteku?

Da. File2File.app vam omogućava da konvertujete standardne PNG ili JPG datoteke u Windows .CUR datoteke kursora sa prilagođenim pozicioniranjem aktivne tačke.

Kako mogu da koristim .cur datoteku na svom sajtu?

Možete primeniti prilagođene kursore u CSS-u koristeći: cursor: url('my-cursor.cur'), auto;