Курсор Windows (.cur)

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

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

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

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

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

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

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

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

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

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

00 00 02 00

ASCII-УЯВЛЕННЯ: ....

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

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

Архітектура контейнераЗаголовок ICONDIR з типом ресурсу 2 (Курсор), за яким слідує масив ICONDIRENTRY та дані DIB
СтисненняНестиснені потоки DIB або зі стисненням PNG (Windows Vista+)
Порядок байтів (Endianness)Зі старшим байтом у кінці (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 для візуального калібрування координат активної точки.

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

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

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

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

Захисні найкращі практики: Перевіряйте, чи координати активної точки суворо лежать у межах розмірів кадрiв (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;