مکان‌نمای ویندوز (.cur)

Microsoft استاندارد

منبع مکان‌نمای ویندوز (CUR) فرمت بومی نشانگر ماوس در مایکروسافت ویندوز است که در معماری کانتینر مشابه ICO است، اما مختصات دقیق نقاط داغ (Hotspot) را مشخص می‌کند.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های CUR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های CUR را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

00 00 02 00

نمایش ASCII: ....

استانداردسازی: 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 (فعلی)ICOPNGSVG
تعریف نقطه داغمختصات پیکسلی X/Y جاسازی‌شدههیچ‌کدام (پیش‌فرض مرکز/بالا-چپ)تعریف‌شده در CSSتعریف‌شده در کادرهای دیداری SVG
شناسه نوع منبع0x0002 (مکان‌نما)0x0001 (آیکون)تصویر استانداردXML برداری
سیستم‌عاملزیرسیستم ماوس بومی ویندوزپوسته ویندوز / فاوآیکون مرورگروب و اپلیکیشن جهانیبرداری جهانی
مقیاس‌پذیرینقشه‌های فشرده (Mipmaps) چندوضعیتی ثابتنقشه‌های فشرده (Mipmaps) چندوضعیتی ثابتاندازه ثابت رسترمقیاس‌پذیری برداری بی‌نهایت

حالت‌های رایج خرابی و راهنمای بازیابی هگز

کلیک ماوس چند پیکسل دورتر از نوک پیکان مکان‌نما ثبت می‌شود.

علت ریشه‌ای: مختصات نقطه داغ X/Y خراب یا مفقود شده در جدول ICONDIRENTRY.

بازیابی: بازسازی مکان‌نما در مبدل مکان‌نمای File2File برای کالیبره‌سازی مجدد بصری مختصات نقطه داغ.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

خطاهای تجزیه CUR در رابط دستگاه گرافیکی ویندوز (GDI) به طور تاریخی اجازه اجرای کد دلخواه را از طریق ابعاد هدر دستکاری‌شده می‌دادند.

بردارهای حمله شناخته‌شده

  • سرریز عدد صحیح (Integer overflow) در هنگام تخصیص ماسک‌های رنگی DIB در رمزگشاهای مکان‌نمای قدیمی.
  • افزایش آفست‌های نقطه داغ که باعث خواندن اشاره‌گر خارج از محدوده در طول بلت‌گذاری (Blitting) مکان‌نما می‌شوند.
  • خرابی حافظه پشته (Heap corruption) هنگام تجزیه جریان‌های PNG جاسازی‌شده در فایل‌های مدرن CUR.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2006ویندوز ویستا مکان‌نمای با DPI بالا ۲۵۶×۲۵۶ را با محتوای فشرده‌شده با فرمت PNG در داخل CUR معرفی کرد.
2001ویندوز XP پشتیبانی از سایه‌های افتان ۳۲ بیتی با ترکیب آلفای نرم را در فایل‌های مکان‌نما اضافه کرد.
1990ویندوز ۳.۰ فرمت CUR را به عنوان فرمت بومی مکان‌نمای سخت‌افزاری و نرم‌افزاری استانداردسازی کرد.

مزایا و نقاط قوت کلیدی

  • مختصات دقیق نقاط داغ پیکسلی (X, Y) را که کلیک‌های ماوس به صورت فیزیکی روی صفحه ثبت می‌شوند، تعریف می‌کند.
  • تعاریف مکان‌نمای چندوضعیتی را برای نمایش واضح روی مانیتورهای استاندارد و ۴K با DPI بالا امکان‌پذیر می‌سازد.
  • پشتیبانی مستقیم بومی سیستم‌عامل در ویندوز بدون نیاز به درایورهای مکان‌نمای شخص ثالث.

محدودیت‌ها و معایب فنی

  • فرمت متمرکز بر ویندوز با پشتیبانی ضعیف از نمایش بومی در دستگاه‌های تلفن همراه و مرورگرهای غیرویندوزی.
  • فقط مکان‌نمای ایستا؛ مکان‌نمای متحرک نیازمند کانتینر چندفریمی .ANI است.
  • ماسک‌های قدیمی ۱ بیتی XOR باعث ایجاد آرتیفکت‌های معکوس‌سازی شدید در رابط‌های رنگی مدرن می‌شوند.

نکات فنی جالب

  • تنها تفاوت ساختاری بین یک فایل ICO و یک فایل CUR در بایت ۳ هدر است: ۱ برای آیکون، ۲ برای مکان‌نما.
  • در یک فایل ICO، بایت‌های ۴ و ۶ هر ورودی نمایانگر صفحات رنگی و بیت بر پیکسل هستند؛ در فایل CUR، همان بایت‌های دقیق نمایانگر مختصات X و Y نقطه داغ (Hotspot) هستند.
  • CSS از مکان‌نماهای وب سفارشی مستقیماً با استفاده از URLهایی که به فایل‌های .cur اشاره می‌کنند، پشتیبانی می‌کند.

سوالات فنی متداول

نقطه داغ یا هات‌اسپات (hotspot) در مکان‌نما چیست؟

هات‌اسپات مختصات دقیق پیکسلی درون تصویر مکان‌نما است (مانند نوک پیکان یا مرکز علامت به علاوه) که در آن رویدادهای کلیک رخ می‌دهند.

آیا می‌توانم یک تصویر (PNG/JPG) را به فایل CUR تبدیل کنم؟

بله. File2File.app به شما اجازه می‌دهد فایل‌های استاندارد PNG یا JPG را با قابلیت تعیین سفارشی هات‌اسپات به فایل‌های مکان‌نمای ویندوز با پسوند .CUR تبدیل کنید.

چگونه می‌توانم از یک فایل .cur در وب‌سایت خود استفاده کنم؟

شما می‌توانید مکان‌نمای سفارشی را در CSS با استفاده از این دستور اعمال کنید: cursor: url('my-cursor.cur'), auto;