Windows 커서 (.cur)

Microsoft 표준

Windows 커서 리소스(CUR)는 마이크로소프트 윈도우의 기본 마우스 포인터 형식으로, 컨테이너 아키텍처는 ICO와 동일하지만 정확한 핫스팟 좌표 오프셋을 지정합니다.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 CUR 파일을 식별합니다:

여기에 파일을 선택하거나 놓으십시오

비공개 - 파일은 기기를 벗어나지 않습니다

또는 붙여넣기 Ctrl+V
네트워크 전송 없음에 대한 개인정보 보호 보장: 외부 서버로 업로드된 데이터는 0바이트입니다. 모든 처리는 브라우저 샌드박스 내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 CUR 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

00 00 02 00

ASCII 표현: ....

표준화: Microsoft Windows 리소스 사양

기술 사양

컨테이너 아키텍처리소스 유형이 2(커서)인 ICONDIR 헤더 뒤에 ICONDIRENTRY 배열과 DIB 데이터가 이어집니다.
압축비압축 DIB 또는 PNG 압축 스트림(Windows Vista 이상)
바이트 엔디안리틀 엔디안(Intel x86 바이트 순서)
색 공간장치 RGB
채널 및 구조1비트 흑백 마스크, 4비트, 8비트 또는 알파가 포함된 32비트 BGRA
최대 크기일반적으로 32 x 32, 48 x 48 또는 64 x 64(최신 Windows에서는 최대 256 x 256 지원)
투명도XOR / AND 이진 마스크 또는 8비트 부드러운 알파 채널
스트리밍 및 프로그레시브스트리밍할 수 없는 데스크톱 아이콘 / 커서 디렉토리

기술 비교 매트릭스: CUR 대 경쟁사

기술적 속성CUR (현재)ICOPNGSVG
핫스팟 정의임베디드 X/Y 픽셀 좌표없음 (중앙/상단 왼쪽 기본값)CSS에 정의SVG 뷰박스에 정의
리소스 유형 ID0x0002 (커서)0x0001 (아이콘)표준 이미지벡터 XML
운영체제기본 윈도우 마우스 서브시스템윈도우 셸 / 브라우저 파비콘많은 브라우저와 앱에서 지원됩니다많은 브라우저와 앱에서 지원됩니다
크기 조정고정된 다중 해상도 밉맵고정된 다중 해상도 밉맵래스터 고정 크기무한 벡터 스케일링

일반적인 손상 모드 및 헥스 복구 가이드

마우스 클릭이 커서 화살표 끝에서 몇 픽셀 떨어진 곳에 등록됩니다.

근본 원인: ICONDIRENTRY 테이블의 손상되었거나 누락된 핫스팟 X/Y 좌표.

복구: File2File.app Cursor Converter에서 커서를 다시 만들어 핫스팟 좌표를 시각적으로 재보정하십시오.

보안 분석 및 파서 공격 벡터

과거 Windows 그래픽 장치 인터페이스(GDI)의 CUR 파싱 버그는 조작된 헤더 크기를 통해 임의 코드가 실행되게 할 수 있었습니다.

알려진 공격 벡터

  • 구형 커서 디코더가 DIB 색상 마스크를 할당할 때 발생하는 정수 오버플로.
  • 커서 블리팅 중 범위를 벗어난 포인터 읽기를 유발하는 손상된 핫스팟 오프셋.
  • 최신 CUR 파일 내에 임베디드된 PNG 스트림을 파싱할 때 힙 손상.

방어적 모범 사례: 핫스팟 좌표가 프레임 크기 안에 있는지 검증하십시오(0 <= X < Width, 0 <= Y < Height).

역사적 배경 및 주요 이력

2006Windows Vista에서 CUR 내부에 PNG 압축 페이로드를 포함하는 256 x 256 고해상도 커서를 도입했습니다.
2001Windows XP에서 커서 파일의 32비트 부드러운 알파 블렌딩 그림자를 지원하기 시작했습니다.
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;