Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
XLMMacroDeobfuscator — Extraire et désoscurcir les macros XLM (alias macros Excel 4.0) | Kitploit
Outils/GitHubGitHub/dissectmalware/xlmmacrodeobfuscator
Analyse StatiqueAnalyse Dynamique (Sandboxing)Rétro-ingénierieAnalyse de Malware
GitHubdissectmalware/xlmmacrodeobfuscator

XLMMacroDeobfuscator

Extraire et désoscurcir les macros XLM (alias macros Excel 4.0)

Voir le dépôt
587118il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

XLMMacroDeobfuscator

XLMMacroDeobfuscator peut être utilisé pour décoder les macros XLM obfusquées (également connues sous le nom de macros Excel 4.0). Il utilise un émulateur XLM interne pour interpréter les macros, sans exécuter complètement le code.

Il prend en charge les formats xls, xlsm et xlsb.

Il utilise xlrd2, pyxlsb2 et son propre analyseur pour extraire les cellules et autres informations des fichiers xls, xlsb et xlsm respectivement.

Vous pouvez également trouver la grammaire XLM dans xlm-macro-lark.template

Installation de l'émulateur

  1. Installer avec pip
root@kitploit:~
pip install XLMMacroDeobfuscator --force

ou

root@kitploit:~
pip install xlmmacrodeobfuscator[defusedxml] --force
  1. Installer la dernière version de développement
root@kitploit:~
pip install -U https://github.com/DissectMalware/XLMMacroDeobfuscator/archive/master.zip --force

Exécution de l'émulateur

Pour désobfusquer les macros dans des documents Excel :

root@kitploit:~
xlmdeobfuscator --file document.xlsm

Pour seulement extraire les macros des documents Excel (sans aucune désobfuscation) :

root@kitploit:~
xlmdeobfuscator --file document.xlsm -x

Pour obtenir uniquement les macros désobfusquées et sans indentation :

root@kitploit:~
xlmdeobfuscator --file document.xlsm --no-indent --output-formula-format "[[INT-FORMULA]]"

Pour exporter la sortie au format JSON :

root@kitploit:~
xlmdeobfuscator --file document.xlsm --export-json result.json

Pour voir un exemple de sortie JSON, veuillez consulter ce lien.

Pour utiliser un fichier de configuration :

root@kitploit:~
xlmdeobfuscator --file document.xlsm -c default.config

Le fichier default.config doit être un fichier JSON valide, par exemple :

root@kitploit:~
{
	"no-indent": true,
	"output-formula-format": "[[CELL-ADDR]] [[INT-FORMULA]]",
	"non-interactive": true,
	"output-level": 1
}

Ligne de commande

root@kitploit:~

          _        _______
|\     /|( \      (       )
( \   / )| (      | () () |
 \ (_) / | |      | || || |
  ) _ (  | |      | |(_)| |
 / ( ) \ | |      | |   | |
( /   \ )| (____/\| )   ( |
|/     \|(_______/|/     \|
   ______   _______  _______  ______   _______           _______  _______  _______ _________ _______  _______
  (  __  \ (  ____ \(  ___  )(  ___ \ (  ____ \|\     /|(  ____ \(  ____ \(  ___  )\__   __/(  ___  )(  ____ )
  | (  \  )| (    \/| (   ) || (   ) )| (    \/| )   ( || (    \/| (    \/| (   ) |   ) (   | (   ) || (    )|
  | |   ) || (__    | |   | || (__/ / | (__    | |   | || (_____ | |      | (___) |   | |   | |   | || (____)|
  | |   | ||  __)   | |   | ||  __ (  |  __)   | |   | |(_____  )| |      |  ___  |   | |   | |   | ||     __)
  | |   ) || (      | |   | || (  \ \ | (      | |   | |      ) || |      | (   ) |   | |   | |   | || (\ (
  | (__/  )| (____/\| (___) || )___) )| )      | (___) |/\____) || (____/\| )   ( |   | |   | (___) || ) \ \__
  (______/ (_______/(_______)|/ \___/ |/       (_______)\_______)(_______/|/     \|   )_(   (_______)|/   \__/

    
XLMMacroDeobfuscator(v0.2.0) - https://github.com/DissectMalware/XLMMacroDeobfuscator

Error: --file is missing

usage: deobfuscator.py [-h] [-c FILE_PATH] [-f FILE_PATH] [-n] [-x]
                       [--sort-formulas] [--defined-names] [-2]
                       [--with-ms-excel] [-s] [-d DAY]
                       [--output-formula-format OUTPUT_FORMULA_FORMAT]
                       [--extract-formula-format EXTRACT_FORMULA_FORMAT]
                       [--no-indent] [--silent] [--export-json FILE_PATH]
                       [--start-point CELL_ADDR] [-p PASSWORD]
                       [-o OUTPUT_LEVEL] [--timeout N]

optional arguments:
  -h, --help            show this help message and exit
  -c FILE_PATH, --config-file FILE_PATH
                        Specify a config file (must be a valid JSON file)
  -f FILE_PATH, --file FILE_PATH
                        The path of a XLSM file
  -n, --noninteractive  Disable interactive shell
  -x, --extract-only    Only extract cells without any emulation
  --sort-formulas       Sort extracted formulas based on their cell address
                        (requires -x)
  --defined-names       Extract all defined names
  -2, --no-ms-excel     [Deprecated] Do not use MS Excel to process XLS files
  --with-ms-excel       Use MS Excel to process XLS files
  -s, --start-with-shell
                        Open an XLM shell before interpreting the macros in
                        the input
  -d DAY, --day DAY     Specify the day of month
  --output-formula-format OUTPUT_FORMULA_FORMAT
                        Specify the format for output formulas ([[CELL-ADDR]],
                        [[INT-FORMULA]], and [[STATUS]]
  --extract-formula-format EXTRACT_FORMULA_FORMAT
                        Specify the format for extracted formulas ([[CELL-
                        ADDR]], [[CELL-FORMULA]], and [[CELL-VALUE]]
  --no-indent           Do not show indent before formulas
  --silent              Do not print output
  --export-json FILE_PATH
                        Export the output to JSON
  --start-point CELL_ADDR
                        Start interpretation from a specific cell address
  -p PASSWORD, --password PASSWORD
                        Password to decrypt the protected document
  -o OUTPUT_LEVEL, --output-level OUTPUT_LEVEL
                        Set the level of details to be shown (0:all commands,
                        1: commands no jump 2:important commands 3:strings in
                        important commands).
  --timeout N           stop emulation after N seconds (0: not interruption
                        N>0: stop emulation after N seconds)

Bibliothèque

L'exemple suivant montre comment XLMMacroDeobfuscator peut être utilisé dans un projet Python pour désobfusquer des macros XLM :

root@kitploit:~
from XLMMacroDeobfuscator.deobfuscator import process_file

result = process_file(file='path/to/an/excel/file', 
            noninteractive= True, 
            noindent= True, 
            output_formula_format='[[CELL-ADDR]], [[INT-FORMULA]]',
            return_deobfuscated= True,
            timeout= 30)

for record in result:
    print(record)
  • Note : le logo de xlmdeofuscator ne sera pas affiché lorsque vous l'utilisez comme bibliothèque.

Prérequis

Veuillez lire requirements.txt pour obtenir la liste des bibliothèques Python dont dépend XLMMacroDeobfuscator.

xlmdeobfuscator peut être exécuté sur n'importe quel système d'exploitation pour extraire et désobfusquer les macros dans les fichiers xls, xlsm et xlsb. Vous n'avez pas besoin d'installer MS Excel.

Remarque : si vous souhaitez utiliser MS Excel (sous Windows), vous devez installer la bibliothèque pywin32 et utiliser l'option --with-ms-excel. Si --with-ms-excel est utilisé, xlmdeobfuscator tente d'abord de charger les fichiers xls avec MS Excel ; en cas d'échec, il utilise la bibliothèque xlrd2.

Projets utilisant XLMMacroDeofuscator

XLMMacroDeofuscator est adopté dans les projets suivants :

  • CAPE Sandbox
  • FAME
  • REMNUX
  • IntelOwl
  • Assemblyline 4 par le Centre canadien pour la cybersécurité
  • oletools par @decalage2

Veuillez me contacter si vous avez intégré XLMMacroDeofuscator dans votre projet.

Comment contribuer

Si vous avez trouvé un bogue ou souhaitez suggérer une amélioration, veuillez créer un nouveau ticket sur la page des issues.

N'hésitez pas à contribuer au projet en le forkkant et en soumettant une pull request.

Vous pouvez me joindre ([@DissectMlaware] sur Twitter) via un message direct.

Télécharger l’outil