50 if (
report ==
nullptr)
return;
105 std::vector<ModuleScanReport*>::iterator itr =
moduleReports.begin();
A base class of all the reports detailing on the output of the performed module's scan.
static t_scan_status get_scan_status(const ModuleScanReport *report)
A container of all the process modules that were scanned.
ScannedModule * findModuleContaining(ULONGLONG address, size_t size=0) const
size_t getScannedSize(ULONGLONG start_address) const
bool appendToModulesList(ModuleScanReport *report)
ScannedModule * getModuleAt(ULONGLONG address) const
The report aggregating the results of the performed scan.
size_t countResultsPerType(const t_report_type type, const t_scan_status result) const
virtual const bool toJSON(std::stringstream &stream, size_t level, const t_results_filter &filter, const pesieve::t_json_level &jdetails) const
std::string mainImagePath
ProcessScanReport(DWORD _pid, bool _is64bit, bool _isReflection, t_params *_usedParams)
void appendReport(ModuleScanReport *report)
bool isModuleReplaced(HMODULE module_base)
pesieve::t_report generateSummary() const
peconv::ExportsMapper * exportsMap
std::string listModules(size_t level, const t_results_filter &filter, const t_json_level &jdetails) const
std::set< ModuleScanReport * > reportsByType[REPORT_TYPES_COUNT]
std::vector< ModuleScanReport * > moduleReports
@ REPORT_UNREACHABLE_SCAN
void deleteModuleReports()
bool hasModule(ULONGLONG page_addr)
static t_report_type getReportType(ModuleScanReport *report)
bool hasModuleContaining(ULONGLONG page_addr, size_t size)
size_t countHdrsReplaced() const
ScannedModule * getModuleContaining(ULONGLONG field_addr, size_t field_size=0) const
size_t getScannedSize(ULONGLONG address) const
bool hasAnyShownType(const t_results_filter &filter)
void appendToType(ModuleScanReport *report)
size_t countSuspiciousPerType(const t_report_type type) const
The root scanner, responsible for enumerating all the elements to be scanned within a given process,...
Represents a basic info about the scanned module, such as its base offset, size, and the status.
enum pesieve::module_scan_status t_scan_status
The types used by PE-sieve API.
Final summary about the scanned process.