Windows 光标 (.cur)
Microsoft Tiêu chuẩnWindows Cursor Resource (CUR) là định dạng con trỏ chuột gốc của Microsoft Windows, có kiến trúc vùng chứa giống hệt với ICO nhưng chỉ định các phần bù tọa độ điểm nóng (hotspot) chính xác.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp CUR bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký tiêu đề ở cấp độ Byte (Magic Bytes)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp CUR bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
00 00 02 00BIỂU DIỄN ASCII: ....
Tiêu chuẩn hóa: Microsoft Windows Resource Specification
Thông số kỹ thuật
| Kiến trúc Container | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| Nén | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| Thứ tự byte Endianness | Little-Endian (Intel x86) |
| Không gian màu | Device RGB |
| Kênh & Cấu trúc | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| Kích thước tối đa | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| Độ trong suốt | XOR/AND binary mask or 8-bit smooth alpha channel |
| Truyền phát & Tăng dần | Non-streamable desktop icon/cursor directory |
Ma trận so sánh kỹ thuật: CUR so với các đối thủ
| Thuộc tính kỹ thuật | CUR (Hiện tại) | ICO | PNG | SVG |
|---|---|---|---|---|
| Định nghĩa điểm nóng (Hotspot) | Tọa độ pixel X/Y được nhúng | Không có (mặc định ở giữa/trên cùng bên trái) | Được định nghĩa trong CSS | Được định nghĩa trong khung nhìn SVG (viewbox) |
| ID loại tài nguyên | 0x0002 (Cursor) | 0x0001 (Icon) | Hình ảnh tiêu chuẩn | Vector XML |
| Hệ điều hành | Hệ thống phụ chuột Windows gốc | Windows Shell / Favicon trình duyệt | Web & Ứng dụng phổ thông | Vector phổ thông |
| Khả năng mở rộng | Mipmap đa độ phân giải cố định | Mipmap đa độ phân giải cố định | Kích thước cố định dạng raster | Khả năng mở rộng vector vô hạn |
Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục Hex
Cú nhấp chuột đăng ký cách đầu mũi tên con trỏ vài pixel.
Nguyên nhân gốc rễ: Tọa độ Hotspot X/Y bị hỏng hoặc thiếu trong bảng ICONDIRENTRY.
Khắc phục: Tạo lại con trỏ trong File2File Cursor Converter để hiệu chỉnh lại trực quan tọa độ điểm nóng.
Phân tích bảo mật & Các vectơ tấn công bộ phân tích cú pháp
Các lỗi phân tích cú pháp CUR trong Giao diện Thiết bị Đồ họa Windows (GDI) trước đây cho phép thực thi mã tùy ý thông qua các kích thước tiêu đề được tạo sẵn.
Các Véc-tơ Tấn công Đã biết
- Tràn số nguyên trong quá trình cấp phát mặt nạ màu DIB trong các bộ giải mã con trỏ cũ.
- Các phần bù điểm nóng bị hỏng kích hoạt việc đọc con trỏ ngoài giới hạn trong quá trình truyền tải con trỏ (blitting).
- Hỏng bộ nhớ heap khi phân tích cú pháp các luồng PNG được nhúng bên trong các tệp CUR hiện đại.
Thực tiễn Tốt nhất về Phòng thủ:
Nguồn gốc lịch sử & Các cột mốc
Ưu điểm & Lợi ích chính
- Xác định tọa độ điểm nóng pixel chính xác (X, Y) nơi các cú nhấp chuột đăng ký vật lý trên màn hình.
- Cho phép định nghĩa con trỏ đa độ phân giải để hiển thị sắc nét trên màn hình 4K tiêu chuẩn và DPI cao.
- Hỗ trợ hệ điều hành gốc trực tiếp trong Windows mà không cần trình điều khiển con trỏ của bên thứ ba.
Hạn chế & Nhược điểm kỹ thuật
- Định dạng tập trung vào Windows với hỗ trợ hiển thị gốc kém trên thiết bị di động và trình duyệt không phải của Windows.
- Chỉ là con trỏ tĩnh; con trỏ động yêu cầu vùng chứa đa khung hình .ANI.
- Mặt nạ XOR 1-bit cũ tạo ra các hiện tượng đảo màu khắc nghiệt trên giao diện màu hiện đại.
Thông tin kỹ thuật thú vị
- Sự khác biệt cấu trúc duy nhất giữa tệp ICO và tệp CUR là byte thứ 3 của tiêu đề: 1 cho Icon, 2 cho Cursor.
- Trong tệp ICO, byte thứ 4 và thứ 6 của mỗi mục đại diện cho các mặt phẳng màu và số bit trên mỗi pixel; trong tệp CUR, các byte chính xác đó đại diện cho tọa độ Hotspot X và Y.
- CSS hỗ trợ các con trỏ web tùy chỉnh trực tiếp bằng cách sử dụng các URL trỏ đến các tệp .cur.
Các câu hỏi kỹ thuật thường gặp
Điểm nóng (hotspot) của con trỏ chuột là gì?
Điểm nóng là tọa độ pixel chính xác bên trong hình ảnh con trỏ (chẳng hạn như phần đầu nhọn của mũi tên hoặc tâm của dấu chữ thập) nơi các sự kiện nhấp chuột xảy ra.
Tôi có thể chuyển đổi một hình ảnh (PNG/JPG) thành file CUR không?
Có. File2File.app cho phép bạn chuyển đổi các file PNG hoặc JPG tiêu chuẩn thành file con trỏ .CUR của Windows với vị trí điểm nóng tùy chỉnh.
Làm cách nào để sử dụng file .cur trên trang web của tôi?
Bạn có thể áp dụng con trỏ tùy chỉnh trong CSS bằng cách sử dụng: cursor: url('my-cursor.cur'), auto;