Windows 游標資源 (.cur)

微軟 標準

Windows 游標資源(CUR)是微軟 Windows 原生滑鼠指標格式,其容器架構與 ICO 相同,但指定了確切的熱點座標偏移量。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 CUR 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 CUR 檔案:

十六進位簽章(偏移量 0):

00 00 02 00

ASCII 表示法: ....

標準化: 微軟 Windows 資源規格

技術規格

容器架構ICONDIR 標頭,資源類型為 2(游標),後接 ICONDIRENTRY 陣列與 DIB 資料
壓縮未壓縮 DIB 或 PNG 壓縮串流(Windows Vista 以上)
位元組序小端序(Intel x86)
色彩空間裝置 RGB
色版與結構1 位元單色遮罩、4 位元、8 位元或帶 alpha 的 32 位元 BGRA
最大尺寸通常為 32 x 32、48 x 48 或 64 x 64(現代 Windows 中最高支援 256 x 256)
透明度XOR / AND 二進位遮罩或 8 位元平滑 Alpha 通道
串流與漸進式不可串流的桌面圖示 / 游標目錄

技術比較矩陣:CUR 對比競爭格式

技術屬性CUR (目前)ICOPNGSVG
熱點定義內嵌的 X/Y 像素座標無(預設在中心/左上角)於 CSS 中定義於 SVG viewbox 中定義
資源類型 ID0x0002 (Cursor)0x0001 (Icon)標準圖片向量 XML
作業系統Windows 原生滑鼠子系統Windows Shell / 瀏覽器網站圖示(favicon)在瀏覽器與許多應用程式中廣泛支援在瀏覽器與許多應用程式中廣泛支援
可縮放性固定的多解析度 mipmap固定的多解析度 mipmap點陣圖固定大小無限向量縮放

常見損壞模式與十六進位修復指南

滑鼠點擊的位置與游標箭頭尖端偏離數個像素。

根本原因: ICONDIRENTRY 表格中的熱點 X/Y 座標損壞或遺失。

修復: 在 File2File.app 游標轉換器中重新製作游標,以視覺化方式重新校正熱點座標。

安全性分析與解析器攻擊向量

Windows 圖形裝置介面(GDI) 中的 CUR 解析錯誤,歷史上允許透過精心製作的標頭尺寸進行任意程式碼執行。

已知攻擊向量

  • 在舊版游標解碼器中配置 DIB 色彩遮罩時發生整數溢位。
  • 損壞的熱點位移會在游標區塊複製(blitting)期間觸發超出邊界的指標讀取。
  • 在現代 CUR 檔案中解析內嵌 PNG 資料流時發生堆積損壞。

防禦最佳實務: 驗證熱點座標是否嚴格在影格尺寸內(0 <= X < 寬度,0 <= Y < 高度)。

歷史起源與里程碑

2006Windows Vista 引入了 CUR 內含 PNG 壓縮酬載的 256x256 高解析度游標。
2001Windows XP 新增了對游標檔案中 32 位元平滑 alpha 混色陰影的支援。
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 支援直接使用指向 .cur 檔案的 URL 作為自訂網頁游標。

常見技術問題

什麼是游標熱點?

熱點是游標圖片內的精確像素座標(例如箭頭的最尖端或十字準線的中心),點擊事件即發生於此處。

我可以將圖片(PNG/JPG)轉換為 CUR 檔案嗎?

可以。File2File.app 允許您將標準 PNG 或 JPG 檔案轉換為具有自訂熱點位置的 Windows .CUR 游標檔案。

如何在我的網站上使用 .cur 檔案?

您可以在 CSS 中使用以下方式套用自訂游標:cursor: url('my-cursor.cur'), auto;