Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/dissectmalware/xlmmacrodeobfuscator
Análise EstáticaAnálise Dinâmica (Sandboxing)Engenharia ReversaAnálise de Malware
GitHubdissectmalware/xlmmacrodeobfuscator

XLMMacroDeobfuscator

Extrair e desofuscar macros XLM (também conhecidas como Macros do Excel 4.0)

Ver Repositório
587118há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

XLMMacroDeobfuscator

O XLMMacroDeobfuscator pode ser usado para decodificar macros XLM ofuscadas (também conhecidas como macros do Excel 4.0). Ele utiliza um emulador XLM interno para interpretar as macros, sem executar completamente o código.

Ele suporta os formatos xls, xlsm e xlsb.

Utiliza xlrd2, pyxlsb2 e seu próprio analisador para extrair células e outras informações de arquivos xls, xlsb e xlsm, respectivamente.

Você também pode encontrar a gramática XLM em xlm-macro-lark.template

Instalando o emulador

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

ou

root@kitploit:~
pip install xlmmacrodeobfuscator[defusedxml] --force
  1. Instalar a versão de desenvolvimento mais recente
root@kitploit:~
pip install -U https://github.com/DissectMalware/XLMMacroDeobfuscator/archive/master.zip --force

Executando o emulador

Para desofuscar macros em documentos Excel:

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

Para apenas extrair macros de documentos Excel (sem qualquer desofuscação):

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

Para obter apenas as macros desofuscadas e sem indentação:

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

Para exportar a saída no formato JSON:

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

Para ver um exemplo de saída JSON, consulte este link.

Para usar um arquivo de configuração:

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

O arquivo default.config deve ser um arquivo JSON válido, como:

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

Linha de 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            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)

Biblioteca

O exemplo a seguir mostra como o XLMMacroDeobfuscator pode ser usado em um projeto Python para desofuscar macros XLM:

root@kitploit:~
from XLMMacroDeobfuscator.deobfuscator import process_file

result = process_file(file='caminho/para/um/arquivo/excel', 
            noninteractive= True, 
            noindent= True, 
            output_formula_format='[[CELL-ADDR]], [[INT-FORMULA]]',
            return_deobfuscated= True,
            timeout= 30)

for record in result:
    print(record)
  • Nota: o logotipo do xlmdeobfuscator não será exibido quando usado como biblioteca.

Requisitos

Leia o arquivo requirements.txt para obter a lista de bibliotecas Python das quais o XLMMacroDeobfuscator depende.

O xlmdeobfuscator pode ser executado em qualquer sistema operacional para extrair e desofuscar macros em arquivos xls, xlsm e xlsb. Não é necessário instalar o MS Excel.

Observação: se você deseja usar o MS Excel (no Windows), é necessário instalar a biblioteca pywin32 e usar a opção --with-ms-excel. Se --with-ms-excel for usado, o xlmdeobfuscator primeiro tentará carregar arquivos xls com o MS Excel; se falhar, usará a biblioteca xlrd2.

Projetos que usam o XLMMacroDeobfuscator

O XLMMacroDeobfuscator é adotado nos seguintes projetos:

  • CAPE Sandbox
  • FAME
  • REMNUX
  • IntelOwl
  • Assemblyline 4 pelo Centro Canadense de Cibersegurança
  • oletools por @decalage2

Entre em contato comigo se você incorporou o XLMMacroDeobfuscator em seu projeto.

Como contribuir

Se você encontrou um bug ou gostaria de sugerir uma melhoria, crie uma nova issue na página de issues.

Sinta-se à vontade para contribuir com o projeto fazendo um fork e enviando um pull request.

Você pode entrar em contato comigo (@DissectMlaware) no Twitter por mensagem direta.

Baixar ferramenta