Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dwarf2json — ELF/DWARF 심볼 및 타입 정보를 vol3의 중간 JSON으로 변환합니다 | Kitploit
도구/GitHubGitHub/volatilityfoundation/dwarf2json
Memory ForensicsReverse EngineeringDigital ForensicsUtilities & FrameworksBinary Analysis
GitHubvolatilityfoundation/dwarf2json

dwarf2json

ELF/DWARF 심볼 및 타입 정보를 vol3의 중간 JSON으로 변환합니다

저장소 보기
157371년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

소개

dwarf2json는 심볼 및 타입 정보를 포함하는 파일을 처리하여 Linux 및 macOS 분석에 적합한 Volatility3 중간 심볼 파일(ISF) JSON 출력을 생성하는 Go 유틸리티입니다.

build

빌드하려면 (Go 1.18+ 필요):

root@kitploit:~
  $ go build

실행하려면:

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.

참고: 대용량 DWARF 파일을 처리하려면 최소 8GB RAM이 필요합니다.

Linux 처리

dwarf2json는 ELF 파일의 DWARF 및 심볼 테이블 정보와 System.map 입력 파일의 심볼을 처리하여 Linux 분석용 ISF를 생성하는 것을 지원합니다.

사용자는 각 입력 파일에 대해 심볼, 타입 또는 둘 다 포함할지 선택할 수 있습니다.

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

예를 들어, 특정 Linux 커널 DWARF 파일에 대한 심볼과 타입을 포함하려면 다음과 같이 할 수 있습니다:

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

심볼 테이블 정보에서 추출된 심볼의 심볼 오프셋은 DWARF 정보에서 추출된 것보다 우선합니다. 따라서 --elf-symbols 플래그로 지정된 파일에서 추출된 심볼은 --elf 플래그로 지정된 파일에서 추출된 심볼보다 우선합니다. --system-map 플래그로 지정된 System.Map의 심볼 오프셋은 가장 높은 우선순위를 가집니다. 서로 다른 심볼 정보 소스 간에 충돌이 있는 경우 System.Map의 오프셋이 사용됩니다.

특정 플래그에 대해 여러 입력 파일을 제공하는 것이 허용됩니다. 예를 들어, ./dwarf2json --elf file1 --elf file2 ...는 file1과 file2를 모두 처리합니다. 충돌하는 심볼 또는 타입 정보가 발견되면 명령 호출에서 마지막으로 지정된 파일의 데이터가 우선합니다.

MacOS 처리

dwarf2json는 Mach-O 파일의 DWARF 및 심볼 테이블 정보를 처리하여 macOS 분석용 ISF를 생성하는 것을 지원합니다.

사용자는 각 입력 파일에 대해 심볼, 타입 또는 둘 다 포함할지 선택할 수 있습니다.

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

예를 들어, 특정 macOS 커널 DWARF 파일에 대한 심볼과 타입, 그리고 macOS 커널의 심볼을 포함하려면 다음과 같이 할 수 있습니다:

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

심볼 테이블 정보에서 추출된 심볼의 심볼 오프셋은 DWARF 정보에서 추출된 것보다 우선합니다. 따라서 --macho-symbols 플래그로 지정된 파일에서 추출된 심볼은 --macho 플래그로 지정된 파일에서 추출된 심볼보다 우선합니다.

특정 플래그에 대해 여러 입력 파일을 제공하는 것이 허용됩니다. 예를 들어, ./dwarf2json --macho file1 --macho file2 ...는 file1과 file2를 모두 처리합니다. 충돌하는 심볼 또는 타입 정보가 발견되면 명령 호출에서 마지막으로 지정된 파일의 데이터가 우선합니다.

Mach-O 유니버설 FAT 바이너리를 처리할 때는 --arch 플래그를 사용하여 포함된 Mach-O 파일 중 하나의 아키텍처를 선택해야 합니다.

예를 들어, OS X 10.7 커널 디버그 키트의 i386 아키텍처에 대한 ISF JSON 파일을 생성하려면 다음과 같이 할 수 있습니다:

root@kitploit:~
  $ ./dwarf2json mac --arch i386 \
  --macho mach_kernel.dSYM/Contents/Resources/DWARF/mach_kernel \
  --macho-symbols mach_kernel > mach_kernel.json
도구 다운로드