BinaryNinja - DWARF Plugin

Export as DWARF

BinaryNinja builtin plugin

Binary Ninja already embeds a DWARF export plugin that exposes most of the functionalities provided by this plugin. However, this plugin exports additional information, such as stack variables and basic blocks.

To export DWARF information from a BinaryNinja’s BinaryView representation, one can go in the menu: Plugins > LIEF > Export as DWARF

BinaryNinja DWARF exporter

Support & Limitations

This extension tries to convert most of the information registered in a BinaryView into DWARF structures, but this support can’t be exhaustive so here is an overview of what is exported and what is not.

BinaryNinja::BinaryView

  • Function

  • Data Variables

  • Types

  • Comments

BinaryNinja::Function

  • Name

  • Addresses range

  • Parameters

  • Type of parameters

  • Return type

  • Stack variables

  • Types of stack variables

  • Basic Blocks

  • Comments

BinaryNinja::DataVariable

  • Name

  • Type

  • Address

  • Comments

BinaryNinja::Type

  • BNTypeClass::VoidTypeClass

  • BNTypeClass::BoolTypeClass

  • BNTypeClass::IntegerTypeClass

  • BNTypeClass::FloatTypeClass

  • BNTypeClass::PointerTypeClass

  • BNTypeClass::PointerTypeClass

  • BNTypeClass::StructureTypeClass

    • BNTypeClass::ClassStructureType

    • BNTypeClass::UnionStructureType

    • BNTypeClass::StructStructureType

  • BNTypeClass::EnumerationTypeClass

  • BNTypeClass::NamedTypeReferenceClass

  • BNTypeClass::ArrayTypeClass

  • BNTypeClass::WideCharTypeClass

  • BNTypeClass::FunctionTypeClass

  • BNTypeClass::VarArgsTypeClass

  • BNTypeClass::ValueTypeClass

Any types not mentioned here are not supported.