Wat is het ANI-bestandsformaat?
Het .ani-bestand is een Windows geanimeerde cursor - de geanimeerde tegenhanger van een statisch .cur-bestand. Ontwikkeld door Microsoft en geïntroduceerd met Windows 95 in 1995, slaat het een reeks cursorframes op waar het besturingssysteem doorheen loopt als een muisaanwijzer-animatie. Het klassieke voorbeeld is de draaiende zandloper die wordt weergegeven terwijl Windows een taak verwerkt.
Intern gebruikt .ani het RIFF-containerformaat - dezelfde binaire containerfamilie als .wav-audio en .avi-video. Het bestand opent met de vier bytes RIFF op offset 0, een little-endian bestandsgrootte op offset 4, en het formuliertype ACON (ANImated CONtent) op offset 8. Een anih-chunk bevat de animatie-header, waarin het aantal frames, het aantal stappen en de standaard weergavesnelheid worden opgeslagen. Optionele rate- en seq-chunks maken timing per frame mogelijk (in jiffies van 1/60 seconde) en een niet-sequentiële afspeelvolgorde. De cursorafbeeldingen zelf bevinden zich in een LIST van icon-subchunks, elk een volledig .ico-compatibel cursorframe inclusief hotspot-coördinaten.
Elk frame ondersteunt kleurdieptes van 1-bit monochroom tot 32-bit RGBA met een 8-bit alfakanaal, wat zorgt voor vloeiende anti-aliased randen van de aanwijzer. Frame-afmetingen zijn doorgaans 32×32 of 48×48 pixels, met ondersteuning tot 256×256 voor schermen met een hoge DPI. Er is geen compressie op containerniveau. Het formaat is exclusief voor Windows en is sinds het midden van de jaren 90 structureel ongewijzigd gebleven. Om een aangepaste .ani-aanwijzer toe te passen, opent u de Windows-aanwijzerinstellingen in het Configuratiescherm.
Beveiliging & veiligheid
RISICO: MEDIUMDe meeste .ani-bestanden zijn onschadelijke geanimeerde aanwijzers, maar het formaat heeft een opmerkelijke beveiligingsgeschiedenis: een Windows ANI-parsingfout (de 'anih'-header) werd in het wild misbruikt (MS05-002 in 2005 en MS07-017/CVE-2007-0038 in 2007) voor het uitvoeren van externe code door simpelweg een kwaadaardige cursor te laden. Die specifieke bugs zijn allang gepatcht, maar de les blijft - installeer alleen cursorpakketten van betrouwbare bronnen en houd Windows up-to-date. Een cursor uit een onbetrouwbaar ZIP-bestand vormt een klein maar aanwezig risico op een niet-gepatcht systeem.
Formaatdetails
in een notendopProgramma's die ANI-bestanden openen
Technische details
diepe specificaties| Containerformaat | RIFF (Resource Interchange File Format) met formuliertype ACON (ANImated CONtent) |
| Magic bytes | 0x52 0x49 0x46 0x46 („RIFF”) op offset 0; „ACON” op offset 8 |
| Byte-volgorde | Overal Little-endian |
| Animatie-header chunk | „anih”-chunk slaat aantal frames, aantal stappen, standaard weergavesnelheid, framebreedte/-hoogte, bitcount en vlaggen op |
| Timing per frame | Optionele „rate”-chunk: één DWORD per stap gemeten in jiffies (elk 1/60 seconde); valt terug op de anih-headersnelheid indien afwezig |
| Frame-sequencing | Optionele „seq”-chunk maakt niet-sequentiële of herhaalde afspeelvolgorde van frames mogelijk, onafhankelijk van de opslagvolgorde |
| Opslagstructuur van frames | LIST-chunk van „icon”-subchunks; elke subchunk bevat een volledige cursorafbeelding in CUR/ICO-formaat |
| Kleurdiepte per frame | 1, 4, 8, 24 of 32 bits per pixel; 32 bpp bevat een 8-bit alfakanaal voor vloeiende anti-aliased randen |
| Hotspot | Elk frame bevat een hotspot (x, y) coördinaat die het pixel markeert dat registreert als het actieve klikpunt |
| Frame-afmetingen | Meestal 32x32 of 48x48 px; tot 256x256 px ondersteund voor schermen met hoge DPI |
| Compressie | Geen op RIFF-containerniveau; individuele frames worden opgeslagen als ongecomprimeerde op BMP gebaseerde CUR/ICO-bitmaps |
| Typische bestandsgrootte | 5 KB tot 200 KB, afhankelijk van het aantal frames en de kleurdiepte |
| MIME-type | application/x-navi-animation; ook herkend als image/x-ani |
| Platformondersteuning | Slechts systeemeigen in Windows; wordt rechtstreeks gebruikt door het Windows-cursorsubsysteem; geen ingebouwde ondersteuning op macOS of Linux |
| Uitgebracht | 1995 (Windows 95 - animated mouse pointers) |
| Laatste versie | Stable since the 1990s; format unchanged |
| Specificatie | learn.microsoft.com |