:py:mod:`dissect.esedb.esedb` ============================= .. py:module:: dissect.esedb.esedb Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.esedb.esedb.EseDB .. py:class:: 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. :param fh: The file-like object to open an ESE database on. :param impacket_compat: Whether to make the output impacket compatible. :raises InvalidDatabase: If the file-like object does not look like an ESE database. .. py:method:: has_small_pages() -> bool Return whether this database has small pages (<= 8K). .. py:method:: table(name: str) -> dissect.esedb.table.Table Get a table by name. :param name: The table to retrieve. .. py:method:: tables() -> list[dissect.esedb.table.Table] Get a list of all tables. .. py:method:: read_page(num: int) -> bytes Get the physical page data. :param num: The physical page number to retrieve. :raises IndexError: If the page number is out of bounds. .. py:method:: 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). :param num: The logical page number to retrieve. .. py:method:: pages() -> Iterator[dissect.esedb.page.Page] Iterate over all pages.