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
dwarf2json — converter informações de símbolos e tipos ELF/DWARF no JSON intermediário do vol3 | Kitploit
Ferramentas/GitHubGitHub/volatilityfoundation/dwarf2json
Forensia de MemóriaEngenharia ReversaForensia DigitalUtilitários e FrameworksAnálise de Binários
GitHubvolatilityfoundation/dwarf2json

dwarf2json

converter informações de símbolos e tipos ELF/DWARF no JSON intermediário do vol3

Ver Repositório
15737há 1 anoRevisado 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

Introdução

dwarf2json é um utilitário em Go que processa arquivos contendo informações de símbolos e tipos para gerar saída JSON de Arquivo de Símbolos Intermediário (ISF) do Volatility3, adequada para análise de Linux e macOS.

build

Para compilar (Go 1.18+ necessário):

root@kitploit:~
  $ go build

Para executar:

root@kitploit:~
  $ ./dwarf2json --help
  Usage: ./dwarf2json COMMAND

  A tool for generating intermediate symbol file (ISF)

  Commands:
    linux  generate ISF for Linux analysis
    mac    generate ISF for macOS analysis

  Options:
  -h, --help     Show this screen.
  -v, --version  Show tool and output schema version.

Nota: o processamento de arquivos DWARF grandes requer um mínimo de 8 GB de RAM.

Processamento Linux

O dwarf2json oferece suporte ao processamento de informações de DWARF e tabela de símbolos de arquivos ELF e de símbolos de arquivos de entrada System.map para produzir ISF para análise de Linux.

O usuário pode selecionar se deseja incluir símbolo, tipo ou ambos para cada arquivo de entrada.

root@kitploit:~
  $ ./dwarf2json linux --help
  Usage: dwarf2json linux [OPTIONS]

        --elf PATH           ELF file PATH to extract symbol and type information
        --elf-symbols PATH   ELF file PATH to extract only symbol information
        --elf-types PATH     ELF file PATH to extract only type information
        --system-map PATH    System.Map file PATH to extract symbol information

Por exemplo, para incluir símbolos e tipos de um determinado arquivo DWARF do kernel Linux, pode-se usar:

root@kitploit:~
  $ ./dwarf2json linux --elf /usr/lib/debug/boot/vmlinux-4.4.0-137-generic > output.json

Os offsets de símbolos extraídos das informações da tabela de símbolos têm precedência sobre aqueles extraídos das informações DWARF. Assim, os símbolos extraídos de arquivos especificados com a opção --elf-symbols têm precedência sobre os símbolos extraídos de arquivos especificados com --elf. Os offsets de símbolos de System.Map, especificados com a opção --system-map, têm a maior precedência. Se houver conflito entre as diferentes fontes de informações de símbolos, o offset de System.Map será usado.

É permitido fornecer vários arquivos de entrada para uma determinada opção. Por exemplo, ./dwarf2json --elf file1 --elf file2 ... processaria tanto file1 quanto file2. Quando informações conflitantes de símbolos ou tipos forem encontradas, os dados do último arquivo especificado na invocação do comando terão precedência.

Processamento macOS

O dwarf2json oferece suporte ao processamento de informações de DWARF e tabela de símbolos de arquivos Mach-O para produzir ISF para análise de macOS.

O usuário pode selecionar se deseja incluir símbolo, tipo ou ambos para cada arquivo de entrada.

root@kitploit:~
  $ ./dwarf2json mac --help
  Usage: dwarf2json mac [OPTIONS]

        --arch NAME            architecture for universal FAT files. NAME is one of {i386|x86_64}
        --macho PATH           Mach-O file PATH to extract symbol and type information
        --macho-symbols PATH   Mach-O file PATH to extract only symbol information
        --macho-types PATH     Mach-O file PATH to extract only type information

Por exemplo, para incluir símbolos e tipos de um determinado arquivo DWARF do kernel macOS e símbolos de um kernel macOS, pode-se usar:

root@kitploit:~
  $ ./dwarf2json mac --macho /path/kernel.dSYM/Contents/Resources/DWARF/kernel \
    --macho-symbols /path/kernel > output.json

Os offsets de símbolos extraídos das informações da tabela de símbolos têm precedência sobre aqueles extraídos das informações DWARF. Assim, os símbolos extraídos de arquivos especificados com a opção --macho-symbols têm precedência sobre os símbolos extraídos de arquivos especificados com --macho.

É permitido fornecer vários arquivos de entrada para uma determinada opção. Por exemplo, ./dwarf2json --macho file1 --macho file2 ... processaria tanto file1 quanto file2. Quando informações conflitantes de símbolos ou tipos forem encontradas, os dados do último arquivo especificado na invocação do comando terão precedência.

Ao processar binários universais FAT Mach-O, a opção --arch precisa ser usada para selecionar a arquitetura de um dos arquivos Mach-O incorporados.

Por exemplo, a geração do arquivo JSON ISF para a arquitetura i386 de um kit de depuração do kernel OS X 10.7 pode ser feita com:

root@kitploit:~
  $ ./dwarf2json mac --arch i386 \
  --macho mach_kernel.dSYM/Contents/Resources/DWARF/mach_kernel \
  --macho-symbols mach_kernel > mach_kernel.json
Baixar ferramenta