class FileMetadata(filename=None, handle=None)[source]

class FileMetadata represents the file being analyzed by Binary Ninja. It is responsible for opening, closing, creating the database (.bndb) files, and is used to keep track of undoable actions.

__init__(filename=None, handle=None)[source]

Instantiates a new FileMetadata class.

  • filename – The string path to the file to be opened. Defaults to None.
  • handle – A handle to the underlying C FileMetadata object. Defaults to None.


__init__([filename, handle]) Instantiates a new FileMetadata class.
begin_undo_actions() begin_undo_actions start recording actions taken so the can be undone at some point.
close() Closes the underlying file handle.
commit_undo_actions() commit_undo_actions commit the actions taken since the last commit to the undo database.
create_database(filename[, progress_func])
navigate(view, offset)
open_existing_database(filename[, progress_func])
redo() redo redo the last commited action in the undo database.
set_default_session_data(name, value)
undo() undo undo the last commited action in the undo database.


analysis_changed Boolean result of whether the auto-analysis results have changed (read-only)
filename The name of the open bndb or binary filename (read/write)
has_database Whether the FileMetadata is backed by a database (read-only)
modified Boolean result of whether the file is modified (Inverse of ‘saved’ property) (read/write)
offset The current offset into the file (read/write)
original_filename The original name of the binary opened if a bndb, otherwise reads or sets the current filename (read/write)
raw Gets the “Raw” BinaryView of the file
saved Boolean result of whether the file has been saved (Inverse of ‘modified’ property) (read/write)
session_data Dictionary object where plugins can store arbitrary data associated with the file