Wat is het XLM-bestandsformaat?
.xlm is een verouderd Excel-macroblad dat in 1992 werd geïntroduceerd met Microsoft Excel 4.0. Het slaat macroprogramma's in spreadsheetstijl op die zijn geschreven in de XLM-macrotaal - een op formules gebaseerd scriptingsysteem dat één Excel-generatie ouder is dan Visual Basic for Applications (VBA). Elke macrofunctie beslaat een werkbladcel, waardoor macro's zichtbaar zijn als een raster van instructies in plaats van een afzonderlijke codemodule.
Intern gebruiken .xlm-bestanden de OLE2 Compound File Binary (CFBF)-container en delen ze de klassieke D0 CF 11 E0 magic-byte-header met .xls, .doc en .ppt-bestanden. De macrogegevens bevinden zich in een BIFF-stream die is gemarkeerd als een macroblad; er is geen uniek magisch getal dat .xlm onderscheidt van een gewoon werkmapbestand, dus identificatie hangt af van die interne stream-vlag.
VBA verving XLM in Excel 5.0 (1993), en het formaat is sindsdien bevroren. Microsoft ondersteunt de uitvoering van XLM nog steeds voor achterwaartse compatibiliteit, maar heeft XLM-macro's standaard geblokkeerd in Excel vanaf 2021, na een golf van malwarecampagnes (ongeveer 2018-2020) die het formaat misbruikten om beveiligingen te omzeilen die specifiek op VBA waren afgestemd.
Tegenwoordig verschijnen XLM-payloads vaker ingebed in .xlsm of .xlsb werkmappen dan als zelfstandige .xlm-bestanden. Een kwaadaardig blad kan ingebouwde Excel-macrofuncties zoals EXEC en CALL aanroepen om willekeurige systeemopdrachten uit te voeren zonder VBA-gerichte scanners te activeren. Open een .xlm-bestand alleen van een volledig vertrouwde bron.
Beveiliging & veiligheid
RISICO: HIGHExcel 4.0 (XLM) macro's zijn een goed gedocumenteerd middel voor malwareverspreiding. Omdat ze ouder zijn dan VBA, werden ze tussen 2018 en 2021 gebruikt om antivirussoftware te omzeilen en banking trojans en ransomware-loaders te installeren, meestal via een Auto_Open-macro die direct bij het openen van de werkmap wordt uitgevoerd. Regels voor gebruikers: schakel nooit macro's in een .xlm (of .xls/.xlsm met macro's) in die u niet verwachtte; houd het Vertrouwenscentrum van Excel ingesteld op het blokkeren van Excel 4.0-macro's (standaard in het huidige Excel sinds 2021); open verdachte bestanden in de Beveiligde weergave of een geïsoleerde VM; analisten kunnen oletools (olevba) en XLMMacroDeobfuscator gebruiken om de macrocode te extraheren zonder deze uit te voeren. Een los .xlm-bestand dat via e-mail/chat binnenkomt, moet als vijandig worden beschouwd totdat het tegendeel is bewezen.
Formaatdetails
in een notendopProgramma's die XLM-bestanden openen
Technische details
diepe specificaties| Containerformaat | OLE2 Compound File Binary Format (CFBF) |
| Intern streamformaat | BIFF (Binary Interchange File Format) records binnen een „Workbook”/„Book” stream |
| Byte-volgorde | Little-endian |
| Codering | Binair (BIFF-records) |
| Magic bytes | D0 CF 11 E0 A1 B1 1A E1 op offset 0 (gedeelde OLE2/CFBF-header) |
| MIME-type | application/vnd.ms-excel |
| Macrotaal | Excel 4.0 XLM - op formules gebaseerd, cel-resident; elke macro-instructie is een waarde in een werkbladcel |
| Beveiligingsclassificatie | Hoog risico - uitvoering van XLM-macro's standaard geblokkeerd in Microsoft Excel sinds 2021 |
| Opmerkelijke gevaarlijke functies | EXEC, CALL, REGISTER, RUN - kunnen willekeurige OS-opdrachten aanroepen vanuit het macroblad |
| Ontwikkelaar | Microsoft |
| Vervangen door | VBA-macro's (.xlsm / .xlsb werkmappen), geïntroduceerd in Excel 5.0 (1993) |
| Ondersteunde platforms | Windows (alle moderne Excel), macOS (Excel for Mac); leesondersteuning in LibreOffice Calc |
| Typische bestandsgrootte | Enkele KB tot enkele honderden KB |
| Compressie | Geen - BIFF-records worden ongecomprimeerd opgeslagen |
| Versleutelingsondersteuning | Optioneel; met een wachtwoord beveiligde werkmappen kunnen RC4- of AES-versleuteling gebruiken rond de OLE2-container |
| Macro-uitvoeringsmodel | Macro's opgeslagen als celformules in een speciaal macroblad-tabblad; van boven naar beneden geëvalueerd door de Excel-berekeningsengine |
| Uitgebracht | 1992 (Excel 4.0 macro language, .xlm macro-sheet files) |
| Laatste versie | Excel 4.0 macro language (frozen 1992); never updated - superseded by VBA in Excel 5.0 (1993) |
| Specificatie | learn.microsoft.com |
XLM conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over XLM-bestanden.