dissect.database¶
Subpackages¶
dissect.database.bsddissect.database.esedissect.database.ese.toolsdissect.database.ese.btreedissect.database.ese.c_esedissect.database.ese.compressiondissect.database.ese.cursordissect.database.ese.esedissect.database.ese.exceptiondissect.database.ese.indexdissect.database.ese.lcmapstringdissect.database.ese.pagedissect.database.ese.recorddissect.database.ese.sorting_tabledissect.database.ese.tabledissect.database.ese.util
dissect.database.sqlite3
Submodules¶
Package Contents¶
Classes¶
- class dissect.database.DB(fh: BinaryIO)¶
Berkeley DB.
- Parameters:
fh – File-like object containing the Berkeley DB data.
- fh¶
- page_size¶
- page¶
- property is_btree: bool¶
Return whether the database of a
DB_BTREEtype.
- property is_recno: bool¶
Return whether the database is a
DB_RECNOtype.
- property is_hash: bool¶
Return whether the database is a
DB_HASHtype.
- class dissect.database.ESE(fh: BinaryIO, impacket_compat: bool = False)¶
ESE database 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.
- fh¶
- impacket_compat = False¶
- header¶
- page_size¶
- version¶
- format_major¶
- format_minor¶
- catalog¶
- page¶
- property has_small_pages: bool¶
Return whether this database has small pages (<= 8K).
- table(name: str) dissect.database.ese.table.Table¶
Get a table by name.
- Parameters:
name – The table to retrieve.
- tables() list[dissect.database.ese.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.
- pages() collections.abc.Iterator[dissect.database.ese.page.Page]¶
Iterate over all pages.
- exception dissect.database.Error¶
Bases:
ExceptionCommon base class for all non-exit exceptions.