The Sleuth Kit  4.11.1
Functions
hashkeeper.c File Reference

Contains functions to read and process hash keeper database files. More...

#include "tsk_hashdb_i.h"

Functions

uint8_t hk_getentry (TSK_HDB_INFO *hdb_info, const char *hash, TSK_OFF_T offset, TSK_HDB_FLAG_ENUM flags, TSK_HDB_LOOKUP_FN action, void *cb_ptr)
 Find the corresponding name at the given offset. More...
 
uint8_t hk_makeindex (TSK_HDB_INFO *hdb_info_base, TSK_TCHAR *dbtype)
 Process the database to create a sorted index of it. More...
 
TSK_HDB_INFOhk_open (FILE *hDb, const TSK_TCHAR *db_path)
 
uint8_t hk_test (FILE *hFile)
 Test the file to see if it is a hashkeeper database. More...
 

Detailed Description

Contains functions to read and process hash keeper database files.

Function Documentation

uint8_t hk_getentry ( TSK_HDB_INFO hdb_info,
const char *  hash,
TSK_OFF_T  offset,
TSK_HDB_FLAG_ENUM  flags,
TSK_HDB_LOOKUP_FN  action,
void *  cb_ptr 
)

Find the corresponding name at the given offset.

The offset was likely determined from the index. The entries in the DB following the one specified are also processed if they have the same hash value and their name is different. The callback is called for each entry.

Note: This routine assumes that &hdb_info->lock is locked by the caller.

Parameters
hdb_infoData base to get data from.
hashMD5 hash value that was searched for
offsetByte offset where hash value should be located in db_file
flags
actionCallback used for each entry found in lookup
cb_ptrPointer to data passed to callback
Returns
1 on error and 0 on success

References TSK_HDB_BINSRCH_INFO::hDb, tsk_error_reset(), tsk_error_set_errno(), tsk_error_set_errstr(), TSK_HDB_FLAG_EXT, TSK_HDB_HTYPE_MD5_LEN, TSK_HDB_MAXLEN, tsk_verbose, TSK_WALK_ERROR, and TSK_WALK_STOP.

uint8_t hk_makeindex ( TSK_HDB_INFO hdb_info_base,
TSK_TCHAR dbtype 
)

Process the database to create a sorted index of it.

Consecutive entries with the same hash value are not added to the index, but will be found during lookup.

Parameters
hdb_info_baseHash database to make index of
dbtypeText of database type (should always be TSK_HDB_DBTYPE_HK_STR)
Returns
1 on error and 0 on success.

References TSK_HDB_INFO::db_fname, TSK_HDB_BINSRCH_INFO::hDb, hdb_binsrch_idx_add_entry_str(), hdb_binsrch_idx_finalize(), hdb_binsrch_idx_initialize(), PRIttocTSK, tsk_error_reset(), tsk_error_set_errno(), tsk_error_set_errstr(), tsk_error_set_errstr2(), TSK_HDB_HTYPE_MD5_LEN, TSK_HDB_MAXLEN, and tsk_verbose.

uint8_t hk_test ( FILE *  hFile)

Test the file to see if it is a hashkeeper database.

Parameters
hFileFile handle to hash database
Returns
1 if hk and 0 if not

References TSK_HDB_MAXLEN.


Copyright © 2007-2020 Brian Carrier. (carrier -at- sleuthkit -dot- org)
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.