Курсор Windows (.cur)
Microsoft СтандартWindows Cursor Resource (CUR) е естественият формат за показалец на мишката в Microsoft Windows, идентичен по своята контейнерна архитектура с ICO, но указващ точни координатни отмествания за активната точка (hotspot).
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират CUR файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират CUR файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
00 00 02 00ASCII ПРЕДСТАВЯНЕ: ....
Стандартизация: Microsoft Windows Resource Specification
Технически спецификации
| Контейнерна архитектура | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| Компресия | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| Поредност на байтовете (Endianness) | Little-Endian (Intel x86) |
| Цветови пространства | Device RGB |
| Канали и структура | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| Максимални размери | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| Прозрачност | XOR/AND binary mask or 8-bit smooth alpha channel |
| Стрийминг и прогресивно зареждане | Non-streamable desktop icon/cursor directory |
Техническа сравнителна матрица: CUR спрямо конкуренти
| Технически атрибут | CUR (Текущ) | ICO | PNG | SVG |
|---|---|---|---|---|
| Дефиниция на активна точка | Вградени X/Y пикселни координати | Няма (по подразбиране център/горе-ляво) | Дефинирано в CSS | Дефинирано в SVG viewbox |
| Идентификатор на тип ресурс | 0x0002 (Курсор) | 0x0001 (Икона) | Стандартно изображение | Векторен XML |
| Операционна система | Естествена подсистема за мишка на Windows | Windows Shell / Фавикон на браузър | Универсален уеб и приложения | Универсален вектор |
| Мащабируемост | Фиксирани mipmaps с много разделителни способности | Фиксирани mipmaps с много разделителни способности | Фиксиран растерен размер | Безкрайно векторно мащабиране |
Често срещани режими на повреда и ръководство за хекс възстановяване
Кликването с мишката се регистрира на няколко пиксела разстояние от върха на стрелката на курсора.
Първопричина: Повредени или липсващи координати Hotspot X/Y в таблицата ICONDIRENTRY.
Възстановяване: Пресъздайте курсора в File2File Cursor Converter, за да калибрирате визуално координатата на активната точка.
Анализ на сигурността и вектори на атака към парсера
Грешките при анализ на CUR в графичния интерфейс на устройството на Windows (GDI) исторически позволяваха изпълнение на произволен код чрез манипулирани размери на заглавната част.
Известни вектори на атака
- Цяло число препълване по време на разпределение на DIB цветни маски в стари декодери на курсори.
- Повредени отмествания на активната точка, задействащи извънгранични четения на показалеца по време на изобразяване на курсора.
- Повреда на паметта (heap) при анализиране на вградени PNG потоци в съвременни CUR файлове.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Дефинира точни координати на пикселите за активната точка (X, Y), където кликванията с мишката физически се регистрират на екрана.
- Позволява дефиниции на курсори с много разделителни способности за рязък дисплей на стандартни и високи DPI 4K монитори.
- Директна родна поддръжка от операционната система в Windows без драйвери за показалци от трети страни.
Технически ограничения и минуси
- Формат, ориентиран към Windows, с лоша родна поддръжка на дисплея на мобилни устройства и браузъри извън Windows.
- Само статичен показалец; анимираните курсори изискват многокадрения контейнер .ANI.
- Старите 1-битови XOR маски създават силни артефакти на инверсия върху съвременни цветни интерфейси.
Интересни технически факти
- Единствената структурна разлика между ICO файл и CUR файл е байт 3 на заглавната част: 1 за Икона, 2 за Курсор.
- Във файл ICO байтове 4 и 6 на всеки запис представляват цветови равнини и битове на пиксел; в CUR файл тези съчни байтове представляват координатите Hotspot X и Y.
- CSS поддържа персонализирани уеб курсове директно с помощта на URL адреси, сочещи към .cur файлове.
Често задавани технически въпроси
Какво е гореща точка на курсора (hotspot)?
Горещата точка са точните пикселни координати вътре в изображението на курсора (като самия връх на стрелка или центъра на кръстче), където възникват събитията с кликване.
Мога ли да конвертирам изображение (PNG/JPG) в CUR файл?
Да. File2File.app ви позволява да конвертирате стандартни PNG или JPG файлове в Windows .CUR файлове за курсори с персонализирано поставяне на гореща точка.
Как мога да използвам .cur файл на моя уебсайт?
Можете да приложите персонализирани курсори в CSS, като използвате: cursor: url('my-cursor.cur'), auto;