Con trỏ Windows (.cur)

Microsoft Tiêu chuẩn

Windows 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ọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

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 00

BIỂU DIỄN ASCII: ....

Tiêu chuẩn hóa: Microsoft Windows Resource Specification

Thông số kỹ thuật

Kiến trúc ContainerTiêu đề ICONDIR loại tài nguyên 2 (con trỏ), tiếp theo là mảng ICONDIRENTRY và dữ liệu DIB
NénDIB không nén hoặc luồng nén PNG (Windows Vista trở lên)
Thứ tự byteLittle-endian (Intel x86)
Không gian màuRGB phụ thuộc thiết bị
Kênh & Cấu trúcMặt nạ đơn sắc 1 bit, 4 bit, 8 bit hoặc BGRA 32 bit có alpha
Kích thước tối đaThô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ốtMặt nạ nhị phân XOR/AND hoặc kênh alpha mượt 8 bit
Truyền phát & Tăng dầnThư 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ậtCUR (Hiện tại)ICOPNGSVG
Định nghĩa điểm nóng (Hotspot)Tọa độ pixel X/Y được nhúngKhô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ên0x0002 (Cursor)0x0001 (Icon)Hình ảnh tiêu chuẩnVector XML
Hệ điều hànhHệ thống phụ chuột Windows gốcWindows 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ộngMipmap đa độ phân giải cố địnhMipmap đa độ phân giải cố địnhKích thước cố định dạng rasterKhả 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

2006Windows Vista giới thiệu các con trỏ 256x256 dành cho màn hình có DPI cao, với dữ liệu bên trong CUR được nén bằng PNG.
2001Windows XP bổ sung hỗ trợ cho bóng đổ pha trộn alpha mượt mà 32-bit trong các tệp con trỏ.
1990Windows 3.0 chuẩn hóa CUR làm định dạng con trỏ phần cứng và phần mềm gố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;