Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
XLMMacroDeobfuscator — Extraer y desofuscar macros XLM (también conocido como Macros de Excel 4.0) | Kitploit
Herramientas/GitHubGitHub/dissectmalware/xlmmacrodeobfuscator
Análisis EstáticoAnálisis Dinámico (Sandboxing)Ingeniería InversaAnálisis de Malware
GitHubdissectmalware/xlmmacrodeobfuscator

XLMMacroDeobfuscator

Extraer y desofuscar macros XLM (también conocido como Macros de Excel 4.0)

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
587118hace 4 añosRevisado por Kitploit

XLMMacroDeobfuscator

XLMMacroDeobfuscator se puede utilizar para decodificar macros XLM ofuscadas (también conocidas como macros de Excel 4.0). Utiliza un emulador XLM interno para interpretar las macros, sin ejecutar completamente el código.

Soporta los formatos xls, xlsm y xlsb.

Usa xlrd2, pyxlsb2 y su propio analizador para extraer celdas y otra información de archivos xls, xlsb y xlsm, respectivamente.

También puedes encontrar la gramática XLM en xlm-macro-lark.template

Instalación del emulador

  1. Instalar usando pip
root@kitploit:~
pip install XLMMacroDeobfuscator --force

o

root@kitploit:~
pip install xlmmacrodeobfuscator[defusedxml] --force
  1. Instalar la versión de desarrollo más reciente
root@kitploit:~
pip install -U https://github.com/DissectMalware/XLMMacroDeobfuscator/archive/master.zip --force

Ejecución del emulador

Para desofuscar macros en documentos de Excel:

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

Para solo extraer macros en documentos de Excel (sin ninguna desofuscación):

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

Para obtener solamente las macros desofuscadas y sin sangría:

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

Para exportar la salida en formato JSON

root@kitploit:~
xlmdeobfuscator --file documento.xlsm --export-json resultado.json

Para ver un ejemplo de salida JSON, consulte este enlace.

Para usar un archivo de configuración

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

El archivo default.config debe ser un archivo JSON válido, como por ejemplo:

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

Línea de Comandos

root@kitploit:~

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

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

Error: falta --file

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            muestra este mensaje de ayuda y sale
  -c FILE_PATH, --config-file FILE_PATH
                        Especifica un archivo de configuración (debe ser un archivo JSON válido)
  -f FILE_PATH, --file FILE_PATH
                        La ruta de un archivo XLSM
  -n, --noninteractive  Desactiva la shell interactiva
  -x, --extract-only    Solo extrae celdas sin emulación
  --sort-formulas       Ordena las fórmulas extraídas según su dirección de celda (requiere -x)
  --defined-names       Extrae todos los nombres definidos
  -2, --no-ms-excel     [Obsoleto] No usar MS Excel para procesar archivos XLS
  --with-ms-excel       Usar MS Excel para procesar archivos XLS
  -s, --start-with-shell
                        Abre una shell XLM antes de interpretar las macros en la entrada
  -d DAY, --day DAY     Especifica el día del mes
  --output-formula-format OUTPUT_FORMULA_FORMAT
                        Especifica el formato para las fórmulas de salida ([[CELL-ADDR]], [[INT-FORMULA]] y [[STATUS]]
  --extract-formula-format EXTRACT_FORMULA_FORMAT
                        Especifica el formato para las fórmulas extraídas ([[CELL-ADDR]], [[CELL-FORMULA]] y [[CELL-VALUE]]
  --no-indent           No mostrar sangría antes de las fórmulas
  --silent              No imprimir la salida
  --export-json FILE_PATH
                        Exportar la salida a JSON
  --start-point CELL_ADDR
                        Iniciar la interpretación desde una dirección de celda específica
  -p PASSWORD, --password PASSWORD
                        Contraseña para descifrar el documento protegido
  -o OUTPUT_LEVEL, --output-level OUTPUT_LEVEL
                        Establece el nivel de detalle a mostrar (0: todos los comandos, 1: comandos sin salto, 2: comandos importantes, 3: cadenas en comandos importantes)
  --timeout N           detener la emulación después de N segundos (0: sin interrupción, N>0: detener después de N segundos)

Librería

El siguiente ejemplo muestra cómo se puede usar XLMMacroDeobfuscator en un proyecto de Python para desofuscar 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)
  • Nota: el logo de xlmdeobfuscator no se mostrará cuando se use como librería

Requisitos

Por favor, lea requirements.txt para obtener la lista de librerías Python de las que depende XLMMacroDeobfuscator.

xlmdeobfuscator se puede ejecutar en cualquier sistema operativo para extraer y desofuscar macros en archivos xls, xlsm y xlsb. No es necesario instalar MS Excel.

Nota: si desea usar MS Excel (en Windows), debe instalar la librería pywin32 y usar el modificador --with-ms-excel. Si se usa --with-ms-excel, xlmdeobfuscator primero intenta cargar los archivos xls con MS Excel; si falla, usa la librería xlrd2.

Proyectos que usan XLMMacroDeofuscator

XLMMacroDeofuscator está adoptado en los siguientes proyectos:

  • CAPE Sandbox
  • FAME
  • REMNUX
  • IntelOwl
  • Assemblyline 4 del Centro Canadiense de Ciberseguridad
  • oletools por @decalage2

Por favor, contácteme si ha incorporado XLMMacroDeofuscator en su proyecto.

Cómo Contribuir

Si encontró un error o desea sugerir una mejora, cree un nuevo issue en la página de issues.

No dude en contribuir al proyecto bifurcándolo y enviando un pull request.

Puede contactarme ([@DissectMlaware] en Twitter) a través de un mensaje directo en Twitter.

Descargar herramienta