Курсор Windows (.cur)

Microsoft Стандарт

Windows Cursor Resource (CUR) е вграденият формат за показалци на мишката в Microsoft Windows. Структурата на контейнера му е идентична с тази на ICO, но съдържа точни координати за активната точка.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират CUR файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират CUR файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

00 00 02 00

ASCII ПРЕДСТАВЯНЕ: ....

Стандартизация: Microsoft Windows Resource Specification

Технически спецификации

Контейнерна архитектураЗаглавка ICONDIR с тип ресурс 2 (Cursor), последвана от масив ICONDIRENTRY и DIB данни
КомпресияНекомпресирани DIB данни или потоци, компресирани с PNG (Windows Vista и по-нови версии)
Поредност на байтовете (Endianness)Младши байт първи (Little-Endian, Intel x86)
Цветови пространстваRGB, зависещо от устройството
Канали и структура1-битова монохромна маска, 4/8-битов цвят или 32-битов BGRA с алфа канал
Максимални размериОбикновено 32 x 32, 48 x 48 или 64 x 64 (в съвременния Windows се поддържат размери до 256 x 256)
ПрозрачностДвоична XOR/AND маска или 8-битов плавен алфа канал
Поточно предаване и прогресивно зарежданеКаталог на икони/курсори за настолен компютър, който не поддържа поточно обработване

Техническа сравнителна матрица: CUR спрямо конкуренти

Технически атрибутCUR (Текущ)ICOPNGSVG
Дефиниция на активната точкаВградени координати на пиксели X/YНяма (по подразбиране: център или горе вляво)Дефинирано в CSSЗададено във viewBox на SVG
Идентификатор на типа ресурс0x0002 (Cursor)0x0001 (Icon)Стандартно изображениеВекторен XML
Операционна системаВградена подсистема за работа с мишка в WindowsОбвивка на Windows / икона на браузъраПоддържа се от много браузъри и приложенияПоддържа се от много браузъри и приложения
МащабируемостФиксирани изображения с няколко резолюцииФиксирани изображения с няколко резолюцииРастерно изображение с фиксиран размерНеограничено векторно мащабиране

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Щракването с мишката се регистрира на няколко пиксела от върха на стрелката на курсора.

Първопричина: Повредени или липсващи координати X/Y на активната точка в таблицата ICONDIRENTRY.

Възстановяване: Създайте отново курсора в Cursor Converter на File2File.app, за да калибрирате визуално координатите на активната точка.

Анализ на сигурността и вектори на атака към парсера

В миналото уязвимости при парсване на CUR в Windows Graphics Device Interface (GDI) са позволявали изпълнение на произволен код чрез подправени размери в заглавката.

Известни вектори на атака

  • Целочислено препълване при заделяне на DIB цветни маски в остарели декодери на курсори.
  • Повредени отмествания на активната точка, които причиняват четене чрез указател извън допустимите граници при изчертаване на курсора.
  • Повреждане на heap паметта при парсване на вградени PNG потоци в съвременни CUR файлове.

Най-добри практики за защита: Проверявайте дали координатите на активната точка са строго в рамките на размера на кадъра (0 <= X < Width, 0 <= Y < Height).

Исторически произход и етапи

2006Windows Vista въвежда курсори с висока резолюция 256 x 256 и полезни данни, компресирани с PNG, във файлове CUR.
2001Windows XP добавя поддръжка на плавни сенки със смесване на 32-битов алфа канал във файловете с курсори.
1990Windows 3.0 стандартизира CUR като вграден формат за курсори в хардуера и софтуера.

Основни предимства

  • Задава точните координати на активната точка (X, Y), където се регистрират щракванията с мишката.
  • Позволява няколко размера на курсора за ясно изображение на стандартни и 4K монитори с висока плътност на пикселите.
  • Поддръжка директно в Windows без драйвери за показалци на трети страни.

Технически ограничения и минуси

  • Формат, предназначен за Windows, със слаба вградена поддръжка за показване на мобилни устройства и в браузъри извън Windows.
  • Поддържа само статични показалци; за анимираните курсори е необходим многокадровият контейнер .ANI.
  • Старите 1-битови XOR маски създават силни инверсионни артефакти в съвременните цветни интерфейси.

Интересни технически факти

  • Единствената структурна разлика между ICO и CUR е байт 3 на заглавката: 1 за икона и 2 за курсор.
  • Във файл ICO байтове 4 и 6 на всеки запис указват цветните равнини и битовата дълбочина; във файл CUR същите байтове указват координатите на активната точка X и Y.
  • CSS поддържа персонализирани уеб курсори чрез URL адреси, сочещи към файлове .cur.

Често задавани технически въпроси

Какво представлява активната точка на курсора?

Активната точка е точната координата на пиксел в изображението на курсора (например върхът на стрелка или центърът на кръстче), където се регистрират щракванията.

Мога ли да конвертирам изображение (PNG/JPG) в CUR файл?

Да. File2File.app конвертира стандартни PNG или JPG файлове във файлове с курсори .CUR за Windows и позволява задаване на персонализирана позиция на активната точка.

Как мога да използвам .cur файл на моя уебсайт?

Задайте персонализиран курсор в CSS така: cursor: url('my-cursor.cur'), auto;