Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
XLMMacroDeobfuscator — Estrae e deoffusca macro XLM (note anche come macro di Excel 4.0) | Kitploit
Strumenti/GitHubGitHub/dissectmalware/xlmmacrodeobfuscator
Analisi StaticaAnalisi Dinamica (Sandboxing)Reverse EngineeringAnalisi Malware
GitHubdissectmalware/xlmmacrodeobfuscator

XLMMacroDeobfuscator

Estrae e deoffusca macro XLM (note anche come macro di Excel 4.0)

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
5871184 anni faRevisionato da Kitploit

XLMMacroDeobfuscator

XLMMacroDeobfuscator può essere utilizzato per decodificare macro XLM offuscate (note anche come macro di Excel 4.0). Utilizza un emulatore XLM interno per interpretare le macro, senza eseguire completamente il codice.

Supporta i formati xls, xlsm e xlsb.

Utilizza xlrd2, pyxlsb2 e un proprio parser per estrarre celle e altre informazioni rispettivamente da file xls, xlsb e xlsm.

Puoi anche trovare la grammatica XLM in xlm-macro-lark.template

Installazione dell'emulatore

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

oppure

root@kitploit:~
pip install xlmmacrodeobfuscator[defusedxml] --force
  1. Installazione dell'ultima versione di sviluppo
root@kitploit:~
pip install -U https://github.com/DissectMalware/XLMMacroDeobfuscator/archive/master.zip --force

Esecuzione dell'emulatore

Per deoffuscare le macro nei documenti Excel:

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

Per estrarre solo le macro nei documenti Excel (senza alcuna deoffuscazione):

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

Per ottenere solo le macro deoffuscate e senza indentazione:

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

Per esportare l'output in formato JSON:

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

Per vedere un esempio di output JSON, consulta questo link.

Per usare un file di configurazione:

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

Il file default.config deve essere un file json valido, come:

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

Riga di comando

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            mostra questo messaggio di aiuto ed esce
  -c FILE_PATH, --config-file FILE_PATH
                        Specifica un file di configurazione (deve essere un file JSON valido)
  -f FILE_PATH, --file FILE_PATH
                        Il percorso di un file XLSM
  -n, --noninteractive  Disabilita la shell interattiva
  -x, --extract-only    Estrai solo le celle senza emulazione
  --sort-formulas       Ordina le formule estratte in base al loro indirizzo di cella (richiede -x)
  --defined-names       Estrai tutti i nomi definiti
  -2, --no-ms-excel     [Deprecato] Non usare MS Excel per elaborare file XLS
  --with-ms-excel       Usa MS Excel per elaborare file XLS
  -s, --start-with-shell
                        Apri una shell XLM prima di interpretare le macro nell'input
  -d DAY, --day DAY     Specifica il giorno del mese
  --output-formula-format OUTPUT_FORMULA_FORMAT
                        Specifica il formato per le formule di output ([[CELL-ADDR]], [[INT-FORMULA]], [[STATUS]])
  --extract-formula-format EXTRACT_FORMULA_FORMAT
                        Specifica il formato per le formule estratte ([[CELL-ADDR]], [[CELL-FORMULA]], [[CELL-VALUE]])
  --no-indent           Non mostrare l'indentazione prima delle formule
  --silent              Non stampare l'output
  --export-json FILE_PATH
                        Esporta l'output in JSON
  --start-point CELL_ADDR
                        Avvia l'interpretazione da un indirizzo di cella specifico
  -p PASSWORD, --password PASSWORD
                        Password per decifrare il documento protetto
  -o OUTPUT_LEVEL, --output-level OUTPUT_LEVEL
                        Imposta il livello di dettaglio da mostrare (0:tutti i comandi, 1: comandi senza salti 2:comandi importanti 3: stringhe nei comandi importanti).
  --timeout N           ferma l'emulazione dopo N secondi (0: nessuna interruzione, N>0: ferma dopo N secondi)

Libreria

L'esempio seguente mostra come XLMMacroDeobfuscator può essere usato in un progetto Python per deoffuscare macro 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: il logo di xlmdeofuscator non verrà mostrato quando lo si utilizza come libreria

Requisiti

Leggi requirements.txt per ottenere l'elenco delle librerie Python da cui dipende XLMMacroDeobfuscator.

xlmdeobfuscator può essere eseguito su qualsiasi sistema operativo per estrarre e deoffuscare macro in file xls, xlsm e xlsb. Non è necessario installare MS Excel.

Nota: se si desidera utilizzare MS Excel (su Windows), è necessario installare la libreria pywin32 e usare lo switch --with-ms-excel. Se viene usato --with-ms-excel, xlmdeobfuscator tenta prima di caricare i file xls con MS Excel; se fallisce, utilizza la libreria xlrd2.

Progetti che utilizzano XLMMacroDeofuscator

XLMMacroDeofuscator è adottato nei seguenti progetti:

  • CAPE Sandbox
  • FAME
  • REMNUX
  • IntelOwl
  • Assemblyline 4 dal Canadian Centre for Cyber Security
  • oletools da @decalage2

Contattami se hai integrato XLMMacroDeofuscator nel tuo progetto.

Come contribuire

Se hai trovato un bug o desideri suggerire un miglioramento, crea un nuovo problema nella pagina degli issue.

Sentiti libero di contribuire al progetto facendo un fork del repository e proponendo una pull request.

Puoi contattarmi su Twitter (@DissectMalware) tramite messaggio diretto.

Scarica lo strumento