Kursor Windows (.cur)
Specifikacija StandardWindowsov 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:
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 00ASCII REPREZENTACIJA: ....
Standardizacija: Specifikacija resursa Microsoft Windows
Tehničke specifikacije
| Arhitektura kontejnera | Zaglavlje ICONDIR sa tipom resursa 2 (kursor), zatim niz ICONDIRENTRY unosa i DIB podaci |
| Kompresija | Nekomprimovani 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 boja | RGB zavisan od uređaja |
| Kanali i struktura | Monohromatska maska od 1 bita, 4 bita, 8 bita ili 32-bitni BGRA sa alfa-kanalom |
| Maksimalne dimenzije | Obično 32 x 32, 48 x 48 ili 64 x 64 (u savremenom Windowsu podržava do 256 x 256) |
| Transparentnost | XOR/AND binarna maska ili glatki alfa-kanal od 8 bita |
| Strimovanje i progresivno učitavanje | Direktorijum radne površine koji ne podržava strimovanje, za ikone i kursore |
Tehnička matrica poređenja: CUR u odnosu na konkurente
| Tehnički atribut | CUR (Trenutno) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definicija aktivne tačke | Ugrađene X/Y koordinate piksela | Nema (podrazumevano centar/gornji levi ugao) | Definisano u CSS-u | Definisano u SVG viewBox-u |
| ID tipa resursa | 0x0002 (Kursor) | 0x0001 (ikona) | Standardna slika | Vektorski XML |
| Operativni sistem | Izvorni Windows podsistem miša | Windows Shell / Veb omiljena ikona (Favicon) | Podržavaju ga mnogi veb-pregledači i aplikacije | Podržavaju ga mnogi veb-pregledači i aplikacije |
| Skalabilnost | Fiksni mipmapi u više rezolucija | Fiksni mipmapi u više rezolucija | Raster fiksne veličine | Beskonač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
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;