Find Related products on Amazon

Shop on Amazon

DWARF as a Shared Reverse Engineering Format

Published on: 2025-06-18 16:34:47

Introduction When reverse engineering binaries, we could want, at some point, to share the reverse-engineered information with others. The DWARF format, originally designed to hold debug information associated with the original source code, is also well-suited for storing reverse-engineered informations such as structure, function names. This blog post introduces a new API in LIEF extended to create DWARF files. It also introduces two plugins for Ghidra and BinaryNinja to export binary analysis into DWARF. Creating DWARF with LIEF (extended) LIEF extended now provides a comprehensive API to create DWARF files. This API is available in Python, Rust, and C++ and it looks like this: 1 import lief 2 3 elf = lief . ELF . parse ( "./libd5A7BCF0524B8.so" ) 4 5 editor : lief . dwarf . Editor = lief . dwarf . Editor . from_binary ( elf ) 6 unit : lief . dwarf . editor . CompilationUnit = editor . create_compilation_unit () 7 unit . set_producer ( "Generated by LIEF (LLVM backend)" ) ... Read full article.