Skip to content
API Documentation
BastionGuard™
file_carver.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "disk_reader.hpp"
4#include <cstdint>
5#include <utility>
6#include <string>
7#include <vector>
8
9struct CarvedFile {
10 std::string type;
11 std::string extension;
12 uint64_t offset {0};
13 uint64_t size {0};
14 double confidence {0.0};
15 std::string detail;
16 std::string output_path;
17};
18
20public:
21 static bool carve_to_directory(DiskReader& reader,
22 const std::string& output_dir,
23 std::vector<CarvedFile>& carved,
24 std::vector<std::string>& logs,
25 std::string& error);
26
27 static bool carve_ranges_to_directory(DiskReader& reader,
28 const std::vector<std::pair<uint64_t, uint64_t>>& ranges,
29 const std::string& output_dir,
30 std::vector<CarvedFile>& carved,
31 std::vector<std::string>& logs,
32 std::string& error);
33};
static bool carve_ranges_to_directory(DiskReader &reader, const std::vector< std::pair< uint64_t, uint64_t > > &ranges, const std::string &output_dir, std::vector< CarvedFile > &carved, std::vector< std::string > &logs, std::string &error)
static bool carve_to_directory(DiskReader &reader, const std::string &output_dir, std::vector< CarvedFile > &carved, std::vector< std::string > &logs, std::string &error)
uint64_t offset
std::string type
std::string extension
std::string output_path
std::string detail
double confidence
uint64_t size