Che cos'è il formato di file ANI?
Il file .ani è un cursore animato di Windows - la controparte animata di un file .cur statico. Sviluppato da Microsoft e introdotto con Windows 95 nel 1995, memorizza una sequenza di fotogrammi del cursore che il sistema operativo cicla come animazione del puntatore del mouse. L'esempio classico è la clessidra rotante visualizzata mentre Windows elabora un'attività.
Internamente, .ani utilizza il formato contenitore RIFF - la stessa famiglia di contenitori binari di .wav audio e .avi video. Il file si apre con i quattro byte RIFF all'offset 0, una dimensione del file little-endian all'offset 4 e il tipo di modulo ACON (ANImated CONtent) all'offset 8. Un blocco anih trasporta l'intestazione dell'animazione, memorizzando il numero di fotogrammi, il numero di passaggi e la frequenza di visualizzazione predefinita. I blocchi opzionali rate e seq consentono la temporizzazione per fotogramma (in jiffies di 1/60 di secondo) e l'ordine di riproduzione non sequenziale. Le immagini del cursore stesse risiedono in una LIST di sotto-blocchi icon, ognuno dei quali è un fotogramma del cursore completo compatibile con .ico che include una coordinata hotspot.
Ogni fotogramma supporta profondità di colore da 1 bit monocromatico fino a 32 bit RGBA con un canale alpha a 8 bit, consentendo bordi del puntatore anti-alias fluidi. Le dimensioni dei fotogrammi sono tipicamente 32×32 o 48×48 pixel, con supporto fino a 256×256 per i display ad alta densità di pixel (DPI). Non c'è compressione a livello di contenitore. Il formato è un'esclusiva di Windows ed è rimasto strutturalmente invariato dalla metà degli anni '90. Per applicare un puntatore .ani personalizzato, apri le Impostazioni del puntatore di Windows nel Pannello di controllo.
Sicurezza e incolumità
RISCHIO: MEDIUMLa maggior parte dei file .ani sono puntatori animati innocui, ma il formato ha una storia di sicurezza degna di nota: un difetto di analisi di Windows ANI (l'intestazione «anih») è stato sfruttato (MS05-002 nel 2005 e MS07-017/CVE-2007-0038 nel 2007) per l'esecuzione di codice remoto semplicemente caricando un cursore malevolo. Quei bug specifici sono stati corretti da tempo, ma la lezione rimane - installa solo pacchetti di cursori da fonti affidabili e mantieni Windows aggiornato. Un cursore proveniente da uno ZIP non attendibile rappresenta un rischio basso ma non nullo su un sistema non aggiornato.
Dettagli del formato
in sintesiProgrammi che aprono file ANI
Dettagli tecnici
specifiche approfondite| Formato contenitore | RIFF (Resource Interchange File Format) con tipo di modulo ACON (ANImated CONtent) |
| Magic bytes | 0x52 0x49 0x46 0x46 («RIFF») all'offset 0; «ACON» all'offset 8 |
| Ordine dei byte | Little-endian ovunque |
| Blocco intestazione animazione | Il blocco «anih» memorizza il numero di fotogrammi, il numero di passaggi, la frequenza di visualizzazione predefinita, la larghezza/altezza del fotogramma, il numero di bit e i flag |
| Temporizzazione per fotogramma | Blocco opzionale «rate»: un DWORD per passaggio misurato in jiffies (1/60 di secondo ciascuno); torna alla frequenza dell'intestazione anih se assente |
| Sequenziamento dei fotogrammi | Il blocco opzionale «seq» consente un ordine di riproduzione dei fotogrammi non sequenziale o ripetuto, indipendente dall'ordine di memorizzazione |
| Struttura di memorizzazione dei fotogrammi | Blocco LIST di sotto-blocchi «icon»; ogni sotto-blocco contiene un'immagine del cursore completa in formato CUR/ICO |
| Profondità di colore per fotogramma | 1, 4, 8, 24 o 32 bit per pixel; 32 bpp include un canale alpha a 8 bit per bordi del puntatore anti-alias fluidi |
| Hotspot | Ogni fotogramma incorpora una coordinata hotspot (x, y) che segna il pixel che funge da punto di clic attivo |
| Dimensioni del fotogramma | Tipicamente 32x32 o 48x48 px; supportati fino a 256x256 px per display ad alta densità di pixel (DPI) |
| Compressione | Nessuna a livello di contenitore RIFF; i singoli fotogrammi sono memorizzati come bitmap CUR/ICO non compressi basati su BMP |
| Dimensione tipica del file | Da 5 KB a 200 KB a seconda del numero di fotogrammi e della profondità di colore |
| Tipo MIME | application/x-navi-animation; riconosciuto anche come image/x-ani |
| Supporto piattaforma | Nativo solo per Windows; usato direttamente dal sottosistema dei cursori di Windows; nessun supporto integrato su macOS o Linux |
| Rilasciato | 1995 (Windows 95 - animated mouse pointers) |
| Ultima versione | Stable since the 1990s; format unchanged |
| Specifica | learn.microsoft.com |