PE-sieve
Scans all running processes. Recognizes and dumps a variety of potentially malicious implants (replaced/implanted PEs, shellcodes, hooks, in-memory patches).
|
The report aggregating the results of the performed scan. More...
#include <scan_report.h>
Public Types | |
enum | t_report_type { REPORT_MAPPING_SCAN , REPORT_HEADERS_SCAN , REPORT_CODE_SCAN , REPORT_MEMPAGE_SCAN , REPORT_ARTEFACT_SCAN , REPORT_UNREACHABLE_SCAN , REPORT_SKIPPED_SCAN , REPORT_IAT_SCAN , REPORT_THREADS_SCAN , REPORT_TYPES_COUNT } |
Public Member Functions | |
ProcessScanReport (DWORD _pid, bool _is64bit, bool _isReflection, t_params *_usedParams) | |
~ProcessScanReport () | |
void | appendReport (ModuleScanReport *report) |
size_t | getScannedSize (ULONGLONG address) const |
bool | hasModule (ULONGLONG page_addr) |
bool | hasModuleContaining (ULONGLONG page_addr, size_t size) |
bool | isModuleReplaced (HMODULE module_base) |
ScannedModule * | getModuleContaining (ULONGLONG field_addr, size_t field_size=0) const |
virtual const bool | toJSON (std::stringstream &stream, size_t level, const t_results_filter &filter, const pesieve::t_json_level &jdetails) const |
pesieve::t_report | generateSummary () const |
DWORD | getPid () |
bool | isManagedProcess () |
Static Public Member Functions | |
static t_report_type | getReportType (ModuleScanReport *report) |
Public Attributes | |
std::string | mainImagePath |
std::vector< ModuleScanReport * > | moduleReports |
peconv::ExportsMapper * | exportsMap |
Protected Member Functions | |
std::string | listModules (size_t level, const t_results_filter &filter, const t_json_level &jdetails) const |
void | deleteModuleReports () |
void | appendToType (ModuleScanReport *report) |
size_t | countResultsPerType (const t_report_type type, const t_scan_status result) const |
size_t | countSuspiciousPerType (const t_report_type type) const |
size_t | countHdrsReplaced () const |
bool | hasAnyShownType (const t_results_filter &filter) |
Protected Attributes | |
DWORD | pid |
bool | is64bit |
bool | isManaged |
bool | isReflection |
t_params * | usedParams |
size_t | errorsCount |
ModulesInfo | modulesInfo |
std::set< ModuleScanReport * > | reportsByType [REPORT_TYPES_COUNT] |
Friends | |
class | ProcessScanner |
class | ResultsDumper |
The report aggregating the results of the performed scan.
Definition at line 18 of file scan_report.h.
Definition at line 21 of file scan_report.h.
|
inline |
Definition at line 36 of file scan_report.h.
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
|
inlineprotected |
Definition at line 103 of file scan_report.h.
pesieve::t_report pesieve::ProcessScanReport::generateSummary | ( | ) | const |
|
inline |
|
inline |
Definition at line 93 of file scan_report.h.
|
static |
Definition at line 53 of file scan_report.cpp.
|
inline |
|
protected |
|
inline |
|
inline |
|
inline |
Definition at line 94 of file scan_report.h.
bool pesieve::ProcessScanReport::isModuleReplaced | ( | HMODULE | module_base | ) |
Definition at line 115 of file scan_report.cpp.
|
protected |
|
virtual |
|
friend |
Definition at line 134 of file scan_report.h.
|
friend |
Definition at line 135 of file scan_report.h.
|
protected |
Definition at line 129 of file scan_report.h.
peconv::ExportsMapper* pesieve::ProcessScanReport::exportsMap |
Definition at line 98 of file scan_report.h.
|
protected |
Definition at line 125 of file scan_report.h.
|
protected |
Definition at line 126 of file scan_report.h.
|
protected |
Definition at line 127 of file scan_report.h.
std::string pesieve::ProcessScanReport::mainImagePath |
Definition at line 96 of file scan_report.h.
std::vector<ModuleScanReport*> pesieve::ProcessScanReport::moduleReports |
Definition at line 97 of file scan_report.h.
|
protected |
Definition at line 131 of file scan_report.h.
|
protected |
Definition at line 124 of file scan_report.h.
|
protected |
Definition at line 132 of file scan_report.h.
|
protected |
Definition at line 128 of file scan_report.h.