Con trỏ 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ó cấu trúc vùng chứa giống hệt ICO nhưng chỉ định chính xác tọa độ điểm nóng (hotspot).
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ý ở đầu tệp (mẫu byte nhận diện)
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 | Tiêu đề ICONDIR loại tài nguyên 2 (con trỏ), tiếp theo là mảng ICONDIRENTRY và dữ liệu DIB |
| Nén | DIB không nén hoặc luồng nén PNG (Windows Vista trở lên) |
| Thứ tự byte | Little-endian (Intel x86) |
| Không gian màu | RGB phụ thuộc thiết bị |
| Kênh & Cấu trúc | Mặt nạ đơn sắc 1 bit, 4 bit, 8 bit hoặc BGRA 32 bit có alpha |
| Kích thước tối đa | Thông thường là 32 x 32, 48 x 48 hoặc 64 x 64 (Windows hiện đại hỗ trợ đến 256 x 256) |
| Độ trong suốt | Mặt nạ nhị phân XOR/AND hoặc kênh alpha mượt 8 bit |
| Truyền phát & Tăng dần | Thư mục biểu tượng/con trỏ máy tính để bàn không thể truyền phát |
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 | Được nhiều trình duyệt và ứng dụng hỗ trợ | Được nhiều trình duyệt và ứng dụng hỗ trợ |
| 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 dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã 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.app Cursor Converter rồi điều chỉnh vị trí điểm nóng bằng mắt.
Phân tích bảo mật và các đường tấn công nhằm vào 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 độ lệch điểm nóng bị hỏng kích hoạt việc đọc dữ liệu ngoài giới hạn trong quá trình blit con trỏ.
- 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.
Biện pháp phòng thủ tốt nhất: Xác thực để bảo đảm tọa độ điểm nóng nằm trong giới hạn của khung hình (0 <= X < Width, 0 <= Y < Height).
Nguồn gốc lịch sử và các cột mốc
Ưu điểm & Lợi ích chính
- Xác định chính xác tọa độ pixel điểm nóng (X, Y), nơi các cú nhấp chuột được ghi nhận 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 hình ảnh (PNG/JPG) thành tệp CUR không?
Có. File2File.app cho phép bạn chuyển ảnh PNG hoặc JPG tiêu chuẩn thành tệp con trỏ .CUR của Windows với vị trí điểm nóng tùy chỉnh.
Làm thế nào để dùng tệp .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;