Kursor Windows (.cur)
Microsoft ŠtandardWindows Cursor Resource (CUR) je natívny formát kurzora myši pre systém Microsoft Windows. Má rovnakú architektúru kontajnera ako formát ICO, navyše však definuje presné súradnicové posuny tzv. aktívneho bodu (hotspotu).
Preskúmať a metadáta
Operačné systémy a analyzátory súborov identifikujú súbory CUR kontrolou počiatočnej binárnej bajtovej sekvencie:
Podpis hlavičky na úrovni bajtov (Magic Bytes)
Operačné systémy a analyzátory súborov identifikujú súbory CUR kontrolou počiatočnej binárnej bajtovej sekvencie:
HEXADECIMÁLNY PODPIS (OFFSET 0):
00 00 02 00ASCII REPREZENTÁCIA: ....
Štandardizácia: Microsoft Windows Resource Specification
Technické špecifikácie
| Architektúra kontajnera | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| Kompresia | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| Poradie bajtov (Endianness) | Little-Endian (Intel x86) |
| Farebné priestory | Device RGB |
| Kanály a štruktúra | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| Max. rozmery | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| Priehľadnosť | XOR/AND binary mask or 8-bit smooth alpha channel |
| Streamovanie a postupné načítavanie | Non-streamable desktop icon/cursor directory |
Technická porovnávacia matica: CUR vs konkurenti
| Technický atribút | CUR (Aktuálne) | ICO | PNG | SVG |
|---|---|---|---|---|
| Definícia aktívneho bodu | Vstavané pixelové súradnice X/Y | Žiadna (predvolene stred / ľavý horný roh) | Definované v CSS | Definované v SVG viewBox |
| ID typu zdroja | 0x0002 (Kurzor) | 0x0001 (Ikona) | Štandardný obrázok | Vektorové XML |
| Operačný systém | Natívny subsystém myši Windows | Windows Shell / Favicon v prehliadači | Univerzálny web a aplikácie | Univerzálny vektor |
| Škálovateľnosť | Pevné mipmapy s viacerými rozlíšeniami | Pevné mipmapy s viacerými rozlíšeniami | Rastrová pevná veľkosť | Nekonečné vektorové škálovanie |
Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde
Kliknutie myšou sa zaregistruje niekoľko pixelov od hrotu šípky kurzora.
Hlavná príčina: Poškodené alebo chýbajúce súradnice aktívneho bodu X/Y v tabuľke ICONDIRENTRY.
Obnova: Znovu vytvorte kurzor v nástroji File2File Cursor Converter na vizuálnu rekalibráciu súradníc aktívneho bodu.
Bezpečnostná analýza a vektory útokov na parser
Chyby pri analýze formátu CUR v rozhraní Windows Graphics Device Interface (GDI) historicky umožňovali ľubovoľné spúšťanie kódu prostredníctvom špeciálne upravených rozmerov hlavičky.
Známe vektory útokov
- Pretečenie celého čísla počas alokácie farebných maskových štruktúr DIB v starších dekodéroch kurzorov.
- Poškodené posuny aktívneho bodu spúšťajúce čítanie ukazovateľa mimo povolených hraníc počas vykresľovania kurzora.
- Poškodenie haldy (heap corruption) pri parciálnom spracovaní vložených prúdov PNG v moderných súboroch CUR.
Najlepšie obranné postupy:
Historický pôvod a míľniky
Kľúčové výhody a prednosti
- Definuje presné súradnice pixelového aktívneho bodu (X, Y), kde kliknutia myšou fyzicky reagujú na obrazovke.
- Umožňuje definície kurzorov s viacerými rozlíšeniami pre ostré zobrazenie na štandardných aj 4K monitoroch s vysokým DPI.
- Priama natívna podpora operačného systému Windows bez potreby ovládačov ukazovateľov tretích strán.
Technické obmedzenia a nevýhody
- Formát zameraný na systém Windows s obmedzenou natívnou podporou zobrazenia na mobilných zariadeniach a v prehliadačoch mimo ekosystému Windows.
- Iba statický ukazovateľ; animované kurzory vyžadujú viacsnimkový kontajner .ANI.
- Staršie 1-bitové XOR masky spôsobujú ostré inverzné artefakty na moderných farebných rozhraniach.
Zaujímavé technické drobnosti
- Jediným štrukturálnym rozdielom medzi súborom ICO a súborom CUR je 3. bajt hlavičky: hodnota 1 pre ikonu, hodnota 2 pre kurzor.
- V súbore ICO predstavujú 4. a 6. bajt každej položky farebné roviny a bity na pixel; v súbore CUR tie isté bajty predstavujú súradnice aktívneho bodu X a Y.
- CSS podporuje vlastné webové kurzory priamo pomocou adries URL, ktoré ukazujú na súbory .cur.
Často kladené technické otázky
Čo je to aktívny bod (hotspot) kurzora?
Aktívny bod je presná súradnica pixelu vo vnútri obrázka kurzora (napríklad úplný hrot šípky alebo stred zameriavacieho kríža), kde dochádza k udalostiam kliknutia.
Môžem konvertovať obrázok (PNG/JPG) na súbor CUR?
Áno. File2File.app vám umožňuje konvertovať štandardné súbory PNG alebo JPG na súbory kurzora systému Windows .CUR s vlastným umiestnením aktívneho bodu.
Ako môžem použiť súbor .cur na svojej webovej stránke?
Vlastné kurzory môžete v CSS použiť pomocou zápisu: cursor: url('my-cursor.cur'), auto;