Kursor Windows (.cur)
Microsoft StandardWindows Cursor Resource (CUR) je rojstni format za miškine kazalce v operacijskem sistemu Microsoft Windows, ki je po arhitekturi vsebnika identičen formatu ICO, vendar določa natančne zamike koordinat aktivne točke (hotspot).
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke CUR s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke CUR s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
00 00 02 00REPREZENTACIJA ASCII: ....
Standardizacija: Microsoft Windows Resource Specification
Tehnične specifikacije
| Arhitektura vsebnika | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| Stiskanje | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| Vrstni red bajtov | Little-Endian (Intel x86) |
| Barvni prostori | Device RGB |
| Kanali in struktura | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| Največje dimenzije | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| Prosojnost | XOR/AND binary mask or 8-bit smooth alpha channel |
| Pretočno in progresivno predvajanje | Non-streamable desktop icon/cursor directory |
Tehnična primerjalna matrika: CUR proti konkurenci
| Tehnični atribut | CUR (Trenutno) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definicija aktivne točke | Vgrajene X/Y koordinate pikslov | Brez (privzeto središče/zgornji levi kot) | Določeno v CSS | Določeno v pogledu SVG |
| ID vrste resursa | 0x0002 (Kazalec) | 0x0001 (Ikona) | Standardna slika | Vektorski XML |
| Operacijski sistem | Izvorni podsistem miške Windows | Windows Shell / Favicon v brskalniku | Univerzalni splet in aplikacije | Univerzalni vektor |
| Prilagodljivost merilu | Fiksne mipmape z več ločljivostmi | Fiksne mipmape z več ločljivostmi | Rasterska fiksna velikost | Neskončno vektorsko prilagajanje merila |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Klik miške se registrira več slikovnih pik stran od konice puščice kazalca.
Glavni vzrok: Poškodovane ali manjkajoče koordinate aktivne točke X/Y v tabeli ICONDIRENTRY.
Sanacija: Ponovno ustvarite kazalec v pretvorniku kazalcev File2File za vizualno ponovno umerjanje koordinate aktivne točke.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Napake pri razčlenjevanju datotek CUR v grafičnem vmesniku naprave Windows (GDI) so v preteklosti omogočale poljubno izvajanje kode prek prirejenih dimenzij glave.
Znani vektorji napada
- Prekoračitev celega števila (integer overflow) med dodeljevanjem barvnih mask DIB v zastarelih dekoderjih kazalcev.
- Poškodovani zamiki aktivne točke, ki sprožijo branje kazalca izven meja pomnilnika med izrisovanjem kazalca.
- Poškodba pomnilnika (heap corruption) pri razčlenjevanju vgrajenih pretokov PNG v sodobnih datotekah CUR.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Določa natančne koordinate slikovnih pik aktivne točke (X, Y), kjer se kliki miške fizično registrirajo na zaslonu.
- Omogoča definicije kazalcev v več ločljivostih za oster prikaz na standardnih in 4K monitorjih z visoko gostoto pikslov (high-DPI).
- Neposredna izvorni sistemska podpora v operacijskem sistemu Windows brez gonilnikov kazalcev tretjih oseb.
Tehnične omejitve in slabosti
- Format, osredotočen na Windows, s slabo izvorno podporo za prikaz na mobilnih napravah in brskalnikih z izven okolja Windows.
- Samo statični kazalci; animirani kazalci zahtevajo večokvirni vsebnik .ANI.
- Zastarele 1-bitne XOR maske ustvarjajo ostre artefakte inverzije na sodobnih barvnih vmesnikih.
Zanimive tehnične malenkosti
- Edina strukturna razlika med datoteko ICO in datoteko CUR je 3. bajt glave: 1 za ikono, 2 za kazalec.
- V datoteki ICO bajta 4 in 6 vsakega vnosa predstavljata barvne ravnine in bite na slikovno piko; v datoteki CURista natančna bajta predstavljata koordinate X in Y aktivne točke.
- CSS neposredno podpira spletne kazalce po meri z uporabo URL naslovov, ki kažejo na datoteke .cur.
Pogosta tehnična vprašanja
Kaj je vroča točka (hotspot) kazalnika miške?
Vroča točka je točna koordinata piksla znotraj slike kazalnika (kot je sama konica puščice ali središče križca), kjer pride do dogodkov s klikom.
Ali lahko pretvorim sliko (PNG/JPG) v datoteko CUR?
Da. File2File.app vam omogoča pretvorbo standardnih datotek PNG ali JPG v datoteke kazalnikov Windows .CUR z določitvijo položaja po meri za vročo točko.
Kako lahko uporabim datoteko .cur na svoji spletni strani?
kazalnike po meri lahko uporabite v CSS-ju z uporabo: cursor: url('my-cursor.cur'), auto;