dissect.esedb
#
Subpackages#
Submodules#
Package Contents#
Classes#
EseDB class. |
- class dissect.esedb.EseDB(fh: BinaryIO, impacket_compat: bool = False)#
EseDB class.
Loads an ESE database from the given file handle. Optionally enable impacket compatible data output.
Impacket compatibility limits what values are parsed and returns most values as a hex string. Most notably, long and multi values are not parsed.
- Parameters:
fh – The file-like object to open an ESE database on.
impacket_compat – Whether to make the output impacket compatible.
- Raises:
InvalidDatabase – If the file-like object does not look like an ESE database.
- has_small_pages() bool #
Return whether this database has small pages (<= 8K).
- table(name: str) dissect.esedb.table.Table #
Get a table by name.
- Parameters:
name – The table to retrieve.
- tables() list[dissect.esedb.table.Table] #
Get a list of all tables.
- read_page(num: int) bytes #
Get the physical page data.
- Parameters:
num – The physical page number to retrieve.
- Raises:
IndexError – If the page number is out of bounds.
- page(num: int) dissect.esedb.page.Page #
Get a logical page.
The first two pages in the file are the Header and Shadow Header pages. Logical pages start at physical page 2 (zero-indexed).
- Parameters:
num – The logical page number to retrieve.
- pages() Iterator[dissect.esedb.page.Page] #
Iterate over all pages.
- exception dissect.esedb.Error#
Bases:
Exception
Common base class for all non-exit exceptions.
- exception dissect.esedb.InvalidDatabase#
Bases:
Error
Common base class for all non-exit exceptions.