Курсор Windows (.cur)

Специфікація Стандарт

Ресурс курсора Windows (CUR): це власний формат покажчика миші Microsoft Windows. За архітектурою контейнера він ідентичний ICO, але містить точні координати активної точки.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли CUR, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли CUR, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

00 00 02 00

ПОДАННЯ В ASCII: ....

Стандартизація: Специфікація ресурсів Microsoft Windows

Технічні характеристики

Архітектура контейнераЗаголовок ICONDIR з типом ресурсу 2 (Курсор), за яким слідує масив 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 (підтримує до 256 x 256 у сучасних Windows)
ПрозорістьДвійкова XOR/AND маска або 8-бітний згладжений альфа-канал
Потокове та прогресивне завантаженняКаталог іконок/курсорів робочого столу не підтримує потокове передавання

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

Технічний атрибутCUR (Поточний)ICOPNGSVG
Визначення активної точкиВбудовані піксельні координати X/YНемає (за замовчуванням: центр/верхній лівий кут)Визначено в CSSВизначено в області перегляду SVG
Ідентифікатор типу ресурсу0x0002 (Курсор)0x0001 (Іконка)Стандартне зображенняВекторний XML
Операційна системаВбудована підсистема миші WindowsОболонка Windows / Фавікон браузераПідтримується багатьма браузерами й застосункамиПідтримується багатьма браузерами й застосунками
МасштабованістьФіксовані міп-рівні з різною роздільною здатністюФіксовані міп-рівні з різною роздільною здатністюФіксований розмір раструНескінченне векторне масштабування

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Клік миші реєструється на кілька пікселів осторонь від вістря стрілки курсора.

Першопричина: Пошкоджені або відсутні координати X/Y активної точки в таблиці ICONDIRENTRY.

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

Аналіз безпеки та векторів атак на парсери

Помилки синтаксичного аналізу CUR в інтерфейсі графічних пристроїв Windows (GDI) історично дозволяли виконувати довільний код за допомогою спеціально створених розмірів заголовка.

Відомі вектори атак

  • Переповнення цілих чисел під час виділення пам'яті для колірних масок DIB у застарілих декодерах курсорів.
  • Пошкоджені зміщення активної точки, що викликають читання пам'яті за межами допустимого діапазону під час виведення курсора.
  • Пошкодження динамічної пам’яті під час розбору вбудованих потоків PNG у сучасних файлах CUR.

Рекомендації щодо захисту: Перевіряйте, чи координати активної точки перебувають у межах кадру (0 <= X < ширина, 0 <= Y < висота).

Історичне походження та віхи

2006Windows Vista представляє курсори високої роздільної здатності 256x256 зі стисненням PNG всередині CUR.
2001Windows XP додає підтримку 32-бітних згладжених тіней з альфа-змішуванням у файлах курсорів.
1990Windows 3.0 стандартизує CUR як власний формат апаратних і програмних курсорів.

Основні переваги

  • Визначає точні піксельні координати активної точки (X, Y), де фізично реєструються кліки миші на екрані.
  • Забезпечує визначення курсорів з різною роздільною здатністю для чіткого відображення на стандартних і 4K-моніторах з високою роздільною здатністю (High-DPI).
  • Безпосередня підтримка засобами операційної системи Windows без сторонніх драйверів покажчиків.

Технічні обмеження та недоліки

  • Формат, орієнтований на Windows, зі слабкою вбудованою підтримкою відображення на мобільних пристроях і в браузерах не для Windows.
  • Лише статичний покажчик; анімовані курсори вимагають багатокадрового контейнера .ANI.
  • Застарілі 1-бітні XOR-маски створюють різкі артефакти інверсії на сучасних кольорових інтерфейсах.

Цікаві технічні факти

  • Єдина структурна відмінність між файлом ICO та файлом CUR полягає в байті 3 заголовка: 1 для іконки, 2 для курсора.
  • У файлі ICO байти 4 і 6 кожного запису представляють колірні площини та біти на піксель; у файлі CUR ці самі байти представляють координати X і Y активної точки (Hotspot).
  • CSS підтримує кастомні веб-курсори безпосередньо за допомогою URL-адрес, що вказують на файли .cur.

Поширені технічні запитання

Що таке активна точка курсора?

Активна точка: це точна піксельна координата всередині зображення курсора (наприклад, самісіньке вістря стрілки або центр перехрестя), де відбуваються події кліку.

Чи можна конвертувати зображення (PNG/JPG) у файл CUR?

Так. File2File.app дозволяє конвертувати стандартні файли PNG або JPG у файли курсорів Windows .CUR з ручним розміщенням активної точки.

Як я можу використовувати файл .cur на своєму веб-сайті?

Ви можете застосовувати власні курсори в CSS за допомогою: cursor: url('my-cursor.cur'), auto;