Kursor Windows (.cur)
Microsoft StandardníWindows Cursor Resource (CUR) je nativní formát ukazatele myši pro Microsoft Windows, který je architekturou kontejneru totožný s formátem ICO, ale specifikuje přesné souřadnicové posuny aktivního bodu (hotspotu).
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory CUR kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory CUR kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
00 00 02 00ASCII REPREZENTACE: ....
Standardizace: Microsoft Windows Resource Specification
Technické specifikace
| Architektura kontejneru | Hlavička ICONDIR s typem prostředku 2 (kurzor), za ní pole ICONDIRENTRY a data DIB |
| Komprese | Nekomprimovaný DIB nebo streamy komprimované pomocí PNG (Windows Vista a novější) |
| Pořadí bajtů | Little-endian (Intel x86) |
| Barevné prostory | RGB závislé na zařízení |
| Kanály a struktura | 1bitová monochromatická maska, 4bitový či 8bitový obraz nebo 32bitové BGRA s alfa kanálem |
| Max. rozměry | Obvykle 32 x 32, 48 x 48 nebo 64 x 64 (moderní Windows podporují až 256 x 256) |
| Průhlednost | Binární maska XOR/AND nebo plynulý 8bitový alfa kanál |
| Streamování a progresivní načítání | Nestreamovatelný adresář ikon či kurzorů pro desktop |
Technická srovnávací matice: CUR vs konkurence
| Technický atribut | CUR (Aktuální) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definice aktivního bodu | Vložené souřadnice pixelů X/Y | Žádná (výchozí střed / levý horní roh) | Definováno v CSS | Definováno v atributu viewBox SVG |
| ID typu prostředku | 0x0002 (Kurzor) | 0x0001 (Ikona) | Standardní obrázek | Vektorové XML |
| Operační systém | Nativní subsystém myši Windows | Windows Shell / Favicon prohlížeče | Podporuje jej mnoho prohlížečů a aplikací | Podporuje jej mnoho prohlížečů a aplikací |
| Škálovatelnost | Pevné mipmapy s více rozlišeními | Pevné mipmapy s více rozlišeními | Pevná rastrovaná velikost | Nekonečné vektorové škálování |
Běžné režimy poškození a příručka pro obnovení v hex
Kliknutí myši se zaregistruje o několik pixelů vedle špičky šipky kurzoru.
Hlavní příčina: Poškozené nebo chybějící souřadnice Hotspot X/Y v tabulce ICONDIRENTRY.
Obnovení: Znovu vytvořte kurzor v převaděči kurzorů File2File.app pro vizuální rekalibraci souřadnice aktivního bodu.
Bezpečnostní analýza a vektory útoků na parser
Chyby při parcování souborů CUR v rozhraní GDI (Graphics Device Interface) systému Windows v minulosti umožňovaly spuštění libovolného kódu prostřednictvím upravených rozměrů hlavičky.
Známé vektory útoků
- Přetečení celého čísla při alokaci barevných masek DIB ve starších dekodérech kurzorů.
- Poškozené posuny aktivního bodu spouštějící čtení mimo hranice při vykreslování kurzoru.
- Poškození haldy (heap corruption) při parcování vložených proudů PNG uvnitř moderních souborů CUR.
Doporučené bezpečnostní postupy: Ověřte, že souřadnice aktivního bodu (hotspotu) leží přísně uvnitř rozměrů snímku (0 <= X < Width, 0 <= Y < Height).
Historický vývoj a milníky
Klíčové výhody a přednosti
- Definuje přesné souřadnice pixelů aktivního bodu (X, Y), kde kliknutí myši fyzicky zareaguje na obrazovce.
- Umožňuje definice kurzorů s více rozlišeními pro ostré zobrazení na standardních i 4K monitorech s vysokým DPI.
- Přímá nativní podpora operačního systému v systému Windows bez nutnosti ovladačů ukazatelů třetích stran.
Technická omezení a nevýhody
- Formát zaměřený na Windows se slabou nativní podporou zobrazení na mobilních zařízeních a v prohlížečích mimo Windows.
- Pouze statický ukazatel; animované kurzory vyžadují kontejner .ANI s více snímky.
- Starší 1bitové XOR masky vytvářejí na moderních barevných rozhraních rušivé inverzní artefakty.
Zajímavé technické drobnosti
- Jediným strukturálním rozdílem mezi souborem ICO a CUR je 3. bajt hlavičky: 1 pro ikonu, 2 pro kurzor.
- V souboru ICO představují 4. a 6. bajt každé položky barevné roviny a bity na pixel; v souboru CUR představují tytéž bajty souřadnice Hotspot X a Y.
- CSS podporuje vlastní webové kurzory přímo pomocí adres URL směřujících na soubory .cur.
Často kladené technické otázky
Co je to aktivní bod kurzoru (hotspot)?
Aktivní bod je přesná souřadnice pixelu uvnitř obrázku kurzoru (jako je úplná špička šipky nebo střed zaměřovacího kříže), na které dochází ke kliknutí.
Můžu převést obrázek (PNG/JPG) na soubor CUR?
Ano. File2File.app vám umožňuje převádět standardní soubory PNG nebo JPG na soubory kurzorů Windows .CUR s vlastním umístěním aktivního bodu.
Jak mohu použít soubor .cur na svém webu?
Vlastní kurzory můžete v CSS aplikovat pomocí: cursor: url('my-cursor.cur'), auto;