Cursor do Windows (.cur)

Especificação Padrão

Windows Cursor Resource (CUR) é o formato nativo do ponteiro do mouse no Microsoft Windows. Sua arquitetura de contêiner é idêntica à do ICO, mas especifica as coordenadas exatas do ponto de acesso (hotspot).

Inspeção e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos CUR pela sequência inicial de bytes:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

Assinatura do arquivo em bytes (magic bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos CUR pela sequência inicial de bytes:

ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):

00 00 02 00

REPRESENTAÇÃO ASCII: ....

Padronização: Especificação de recursos do Microsoft Windows

Especificações técnicas

Estrutura do contêinerCabeçalho ICONDIR com tipo de recurso 2 (cursor), seguido por uma matriz ICONDIRENTRY e dados DIB
CompressãoFluxos DIB sem compactação ou compactados em PNG (Windows Vista ou posterior)
Ordem dos bytes (endianness)Little-Endian (Intel x86)
Espaços de corRGB do dispositivo
Canais e EstruturaMáscara monocromática de 1 bit, 4 ou 8 bits, ou BGRA de 32 bits com alfa
Dimensões MáximasNormalmente 32 × 32, 48 × 48 ou 64 × 64 (oferece suporte a até 256 × 256 no Windows moderno)
TransparênciaMáscara binária XOR/AND ou canal alfa suave de 8 bits
Streaming e ProgressivoDiretório de ícone/cursor da área de trabalho que não permite streaming

Matriz de comparação técnica: CUR e formatos concorrentes

Atributo técnicoCUR (Atual)ICOPNGSVG
Definição do ponto de acessoCoordenadas X/Y em pixels incorporadasNenhum (predefinição: centro/canto superior esquerdo)Definido em CSSDefinido no viewbox SVG
ID do tipo de recurso0x0002 (Cursor)0x0001 (ícone)Imagem padrãoXML vetorial
Sistema operacionalSubsistema nativo de mouse do WindowsShell do Windows / ícone de favorito do navegadorCompatível com muitos navegadores e aplicaçõesCompatível com muitos navegadores e aplicações
EscalabilidadeMapas de mipmap fixos em várias resoluçõesMapas de mipmap fixos em várias resoluçõesTamanho raster fixo em pixelsEscalabilidade vetorial infinita

Modos comuns de corrupção e guia de recuperação com editor hexadecimal

O clique do mouse é registrado a vários pixels da ponta da seta do cursor.

Causa principal: Coordenadas X/Y do ponto de acesso corrompidas ou ausentes na tabela ICONDIRENTRY.

Recuperação: Recrie o cursor no File2File.app Cursor Converter para recalibrar visualmente as coordenadas do ponto de acesso.

Análise de segurança e vetores de ataque a analisadores

Falhas históricas na análise de arquivos CUR pela Interface de Dispositivo Gráfico (GDI) do Windows permitiram execução arbitrária de código por meio de dimensões manipuladas no cabeçalho.

Vetores de ataque conhecidos

  • Estouro de inteiro durante a alocação de máscaras de cor DIB em decodificadores antigos de cursor.
  • Deslocamentos corrompidos do ponto de acesso que causam leituras de ponteiro fora dos limites durante a renderização do cursor.
  • Corrupção de heap durante a análise de fluxos PNG incorporados em arquivos CUR modernos.

Melhores práticas defensivas: Valide se as coordenadas do ponto de acesso estão estritamente dentro dos limites do quadro (0 <= X < largura, 0 <= Y < altura).

Origens históricas e marcos

2006O Windows Vista introduz cursores de 256 × 256 em alta densidade de pixels, com dados compactados em PNG dentro de arquivos CUR.
2001O Windows XP adiciona suporte a sombras projetadas com mistura alfa suave de 32 bits em arquivos de cursor.
1990O Windows 3.0 normaliza o CUR como formato nativo de cursor de hardware e software.

Principais vantagens

  • Define as coordenadas exatas em pixels do ponto de acesso (X, Y), onde os cliques do mouse são registrados na tela.
  • Permite definir cursores em várias resoluções para exibição nítida em monitores 4K padrão e de alta densidade de pixels.
  • Oferece suporte nativo direto no sistema operacional Windows, sem drivers de ponteiro de terceiros.

Limitações técnicas e desvantagens

  • Formato centrado no Windows, com pouco suporte nativo em dispositivos móveis e navegadores que não sejam do Windows.
  • Ponteiro estático; cursores animados exigem o contêiner de vários quadros .ANI.
  • Máscaras XOR legadas de 1 bit produzem artefatos de inversão acentuados em interfaces modernas coloridas.

Curiosidades técnicas

  • A única diferença estrutural entre arquivos ICO e CUR está no byte 3 do cabeçalho: 1 para ícone e 2 para cursor.
  • Em um arquivo ICO, os bytes 4 e 6 de cada entrada representam os planos de cor e os bits por pixel. Em um arquivo CUR, esses mesmos bytes representam as coordenadas X e Y do hotspot.
  • CSS oferece suporte direto a cursores personalizados na web por meio de URLs que apontam para arquivos .cur.

Perguntas técnicas frequentes

O que é um ponto de acesso (hotspot) de cursor?

O ponto de acesso é a coordenada exata em pixels na imagem do cursor (como a ponta de uma seta ou o centro de uma mira) onde ocorrem os cliques.

Posso converter uma imagem (PNG/JPG) em um arquivo CUR?

Sim. O File2File.app converte arquivos PNG ou JPG comuns em arquivos de cursor .CUR do Windows com posições personalizadas do ponto de acesso.

Como posso usar um arquivo .cur no meu site?

Você pode aplicar cursores personalizados em CSS usando: cursor: url('meu-cursor.cur'), auto;