From d790ece6a4d4c33f866681680b0649280e741146 Mon Sep 17 00:00:00 2001 From: apriestman <apriestman@basistech.com> Date: Fri, 8 Oct 2021 11:47:06 -0400 Subject: [PATCH] Cleanup --- bindings/java/jni/auto_db_java.cpp | 38 +++++++++++------------------- tsk/auto/auto_db.cpp | 32 +++++++------------------ 2 files changed, 22 insertions(+), 48 deletions(-) diff --git a/bindings/java/jni/auto_db_java.cpp b/bindings/java/jni/auto_db_java.cpp index e64a55f5a..0e2854a7b 100644 --- a/bindings/java/jni/auto_db_java.cpp +++ b/bindings/java/jni/auto_db_java.cpp @@ -1228,7 +1228,8 @@ TskAutoDbJava::addUnallocatedPoolBlocksToDb(size_t & numPool) { /* Create the unallocated space files */ TSK_FS_ATTR_RUN * unalloc_runs = tsk_pool_unallocated_runs(pool_info); TSK_FS_ATTR_RUN * current_run = unalloc_runs; - //vector<TSK_DB_FILE_LAYOUT_RANGE> ranges; + vector<TSK_DB_FILE_LAYOUT_RANGE> ranges; + //fprintf(stderr, "Adding pool unallocated runs\n"); while (current_run != NULL) { if (addUnallocBlockFileInChunks(current_run->addr * pool_info->block_size, current_run->len * pool_info->block_size, unallocVolObjId, m_curImgId) == TSK_ERR) { @@ -1241,14 +1242,14 @@ TskAutoDbJava::addUnallocatedPoolBlocksToDb(size_t & numPool) { //ranges.push_back(tempRange); //int64_t fileObjId = 0; - ////if (TSK_ERR == addUnallocBlockFile(unallocVolObjId, 0, current_run->len * pool_info->block_size, ranges, fileObjId, m_curImgId)) { + //if (TSK_ERR == addUnallocBlockFile(unallocVolObjId, 0, current_run->len * pool_info->block_size, ranges, fileObjId, m_curImgId)) { // registerError(); - // // tsk_fs_attr_run_free(unalloc_runs); - return TSK_ERR; - // } + // tsk_fs_attr_run_free(unalloc_runs); + // return TSK_ERR; + //} current_run = current_run->next; - // ranges.clear(); + ranges.clear(); } tsk_fs_attr_run_free(unalloc_runs); } @@ -1924,17 +1925,7 @@ TSK_RETVAL_ENUM TskAutoDbJava::addUnallocVsSpaceToDb(size_t & numVsP) { return TSK_ERR; } - // Create an unalloc file with unalloc part, with vs part as parent - //vector<TSK_DB_FILE_LAYOUT_RANGE> ranges; - //const uint64_t byteStart = vsInfo->offset + vsInfo->block_size * vsPart.start; - //const uint64_t byteLen = vsInfo->block_size * vsPart.len; - //TSK_DB_FILE_LAYOUT_RANGE tempRange(byteStart, byteLen, 0); - //ranges.push_back(tempRange); - //int64_t fileObjId = 0; - //if (addUnallocBlockFile(vsPart.objId, 0, tempRange.byteLen, ranges, fileObjId, m_curImgId) == TSK_ERR) { - // registerError(); - // return TSK_ERR; - //} + // Create an unalloc file (or files) with unalloc part, with vs part as parent const uint64_t byteStart = vsInfo->offset + vsInfo->block_size * vsPart.start; const uint64_t byteLen = vsInfo->block_size * vsPart.len; if (addUnallocBlockFileInChunks(byteStart, byteLen, vsPart.objId, m_curImgId) == TSK_ERR) { @@ -1973,11 +1964,13 @@ TSK_RETVAL_ENUM TskAutoDbJava::addUnallocImageSpaceToDb() { return TSK_OK; } +/** +* Adds unallocated block files to the database, chunking if enabled. +* +* @returns TSK_OK on success, TSK_ERR on error +*/ TSK_RETVAL_ENUM TskAutoDbJava::addUnallocBlockFileInChunks(uint64_t byteStart, TSK_OFF_T totalSize, int64_t parentObjId, int64_t dataSourceObjId) { - printf("\n###\nAdding unalloc file: parent: %lld, image: %lld, original start: 0x%llx, total size: 0x%llx \n", - parentObjId, dataSourceObjId, byteStart, totalSize); - if (m_maxChunkSize <= 0) { // No chunking - write the entire file TSK_DB_FILE_LAYOUT_RANGE tempRange(byteStart, totalSize, 0); @@ -1995,7 +1988,7 @@ TSK_RETVAL_ENUM TskAutoDbJava::addUnallocBlockFileInChunks(uint64_t byteStart, T vector<TSK_DB_FILE_LAYOUT_RANGE> ranges; while (bytesLeft > 0) { - if (maxChunkSize > bytesLeft) { + if (maxChunkSize >= bytesLeft) { chunkSize = bytesLeft; bytesLeft = 0; } @@ -2008,11 +2001,8 @@ TSK_RETVAL_ENUM TskAutoDbJava::addUnallocBlockFileInChunks(uint64_t byteStart, T ranges.push_back(tempRange); int64_t fileObjId = 0; - printf("Adding range starting at 0x%llx with size 0x%llx\n", startingOffset, chunkSize); TSK_RETVAL_ENUM retval = addUnallocBlockFile(parentObjId, 0, chunkSize, ranges, fileObjId, dataSourceObjId); if (retval != TSK_OK) { - printf("Error adding unalloc file: parent: %lld, image: %lld, original start: 0x%llx, total size: 0x%llx, range start: 0x%llx, range size: 0x%llx\n", - parentObjId, dataSourceObjId, byteStart, totalSize, startingOffset, chunkSize); return retval; } ranges.clear(); diff --git a/tsk/auto/auto_db.cpp b/tsk/auto/auto_db.cpp index 7e9ac85b8..9f9d335c8 100755 --- a/tsk/auto/auto_db.cpp +++ b/tsk/auto/auto_db.cpp @@ -112,23 +112,20 @@ void TskAutoDb::setNoFatFsOrphans(bool noFatFsOrphans) void TskAutoDb::setAddUnallocSpace(bool addUnallocSpace) { setAddUnallocSpace(addUnallocSpace, -1); - m_maxChunkSize = (int64_t)512 * 1024 * 1024; } void TskAutoDb::setAddUnallocSpace(bool addUnallocSpace, int64_t minChunkSize) { m_addUnallocSpace = addUnallocSpace; m_minChunkSize = minChunkSize; - //m_maxChunkSize = -1; - m_maxChunkSize = (int64_t)512 * 1024 * 1024; + m_maxChunkSize = -1; } void TskAutoDb::setAddUnallocSpace(int64_t minChunkSize, int64_t maxChunkSize) { m_addUnallocSpace = true; m_minChunkSize = minChunkSize; - //m_maxChunkSize = maxChunkSize; - m_maxChunkSize = (int64_t)512 * 1024 * 1024; + m_maxChunkSize = maxChunkSize; } /** @@ -380,27 +377,15 @@ TskAutoDb::addUnallocatedPoolBlocksToDb(size_t & numPool) { /* Create the unallocated space files */ TSK_FS_ATTR_RUN * unalloc_runs = tsk_pool_unallocated_runs(pool_info); TSK_FS_ATTR_RUN * current_run = unalloc_runs; - vector<TSK_DB_FILE_LAYOUT_RANGE> ranges; while (current_run != NULL) { - //if (addUnallocBlockFileInChunks(current_run->addr * pool_info->block_size, current_run->len * pool_info->block_size, unallocVolObjId, m_curImgId) == TSK_ERR) { - // registerError(); - // tsk_fs_attr_run_free(unalloc_runs); - // return TSK_ERR; - //} - - TSK_DB_FILE_LAYOUT_RANGE tempRange(current_run->addr * pool_info->block_size, current_run->len * pool_info->block_size, 0); - - ranges.push_back(tempRange); - int64_t fileObjId = 0; - if (m_db->addUnallocBlockFile(unallocVolObjId, 0, current_run->len * pool_info->block_size, ranges, fileObjId, m_curImgId)) { + if (addUnallocBlockFileInChunks(current_run->addr * pool_info->block_size, current_run->len * pool_info->block_size, unallocVolObjId, m_curImgId) == TSK_ERR) { registerError(); tsk_fs_attr_run_free(unalloc_runs); return TSK_ERR; } current_run = current_run->next; - ranges.clear(); } tsk_fs_attr_run_free(unalloc_runs); } @@ -1381,11 +1366,13 @@ TSK_RETVAL_ENUM TskAutoDb::addUnallocImageSpaceToDb() { return retImgFile; } +/** +* Adds unallocated block files to the database, chunking if enabled. +* +* @returns TSK_OK on success, TSK_ERR on error +*/ TSK_RETVAL_ENUM TskAutoDb::addUnallocBlockFileInChunks(uint64_t byteStart, TSK_OFF_T totalSize, int64_t parentObjId, int64_t dataSourceObjId) { - printf("\n###\nAdding unalloc file: parent: %lld, image: %lld, original start: 0x%llx, total size: 0x%llx \n", - parentObjId, dataSourceObjId, byteStart, totalSize); - if (m_maxChunkSize <= 0) { // No chunking - write the entire file TSK_DB_FILE_LAYOUT_RANGE tempRange(byteStart, totalSize, 0); @@ -1416,11 +1403,8 @@ TSK_RETVAL_ENUM TskAutoDb::addUnallocBlockFileInChunks(uint64_t byteStart, TSK_O ranges.push_back(tempRange); int64_t fileObjId = 0; - printf("Adding range starting at 0x%llx with size 0x%llx\n", startingOffset, chunkSize); TSK_RETVAL_ENUM retval = m_db->addUnallocBlockFile(parentObjId, 0, chunkSize, ranges, fileObjId, dataSourceObjId); if (retval != TSK_OK) { - printf("Error adding unalloc file: parent: %lld, image: %lld, original start: 0x%llx, total size: 0x%llx, range start: 0x%llx, range size: 0x%llx\n", - parentObjId, dataSourceObjId, byteStart, totalSize, startingOffset, chunkSize); return retval; } ranges.clear(); -- GitLab