PE-sieve
Scans all running processes. Recognizes and dumps a variety of potentially malicious implants (replaced/implanted PEs, shellcodes, hooks, in-memory patches).
Toggle main menu visibility
Loading...
Searching...
No Matches
scanners
mapping_scanner.h
Go to the documentation of this file.
1
2
#pragma once
3
4
#include <windows.h>
5
6
#include "
module_scanner.h
"
7
#include "
../utils/path_util.h
"
8
#include "
process_feature_scanner.h
"
9
10
namespace
pesieve
{
11
12
class
MappingScanReport
:
public
ModuleScanReport
13
{
14
public
:
15
MappingScanReport
(HMODULE _module,
size_t
_moduleSize)
16
:
ModuleScanReport
(_module, _moduleSize)
17
{
18
}
19
20
const
virtual
void
fieldsToJSON
(std::stringstream &outs,
size_t
level,
const
pesieve::t_json_level
&jdetails)
21
{
22
OUT_PADDED
(outs, level,
"\"module\" : "
);
23
outs <<
"\""
<< std::hex << (ULONGLONG)
module
<<
"\""
<<
",\n"
;
24
25
OUT_PADDED
(outs, level,
"\"module_file\" : \""
<<
pesieve::util::escape_path_separators
(this->
moduleFile
) <<
"\""
);
26
outs <<
",\n"
;
27
OUT_PADDED
(outs, level,
"\"mapped_file\" : \""
<<
pesieve::util::escape_path_separators
(this->
mappedFile
) <<
"\""
);
28
29
outs <<
",\n"
;
30
OUT_PADDED
(outs, level,
"\"status\" : "
);
31
outs << std::dec <<
status
;
32
}
33
34
const
virtual
bool
toJSON
(std::stringstream& outs,
size_t
level,
const
pesieve::t_json_level
&jdetails)
35
{
36
OUT_PADDED
(outs, level,
"\"mapping_scan\" : "
);
37
outs <<
"{\n"
;
38
fieldsToJSON
(outs, level + 1, jdetails);
39
outs <<
"\n"
;
40
OUT_PADDED
(outs, level,
"}"
);
41
return
true
;
42
}
43
44
std::string
mappedFile
;
45
};
46
47
49
class
MappingScanner
:
public
ProcessFeatureScanner
{
50
public
:
51
MappingScanner
(HANDLE hProc,
ModuleData
&
moduleData
)
52
:
ProcessFeatureScanner
(hProc),
moduleData
(
moduleData
)
53
{
54
}
55
56
virtual
MappingScanReport
*
scanRemote
();
57
58
ModuleData
&
moduleData
;
59
};
60
61
};
//namespace pesieve
pesieve::ElementScanReport::status
t_scan_status status
Definition
module_scan_report.h:43
pesieve::MappingScanReport
Definition
mapping_scanner.h:13
pesieve::MappingScanReport::mappedFile
std::string mappedFile
Definition
mapping_scanner.h:44
pesieve::MappingScanReport::toJSON
virtual const bool toJSON(std::stringstream &outs, size_t level, const pesieve::t_json_level &jdetails)
Definition
mapping_scanner.h:34
pesieve::MappingScanReport::MappingScanReport
MappingScanReport(HMODULE _module, size_t _moduleSize)
Definition
mapping_scanner.h:15
pesieve::MappingScanReport::fieldsToJSON
virtual const void fieldsToJSON(std::stringstream &outs, size_t level, const pesieve::t_json_level &jdetails)
Definition
mapping_scanner.h:20
pesieve::MappingScanner::MappingScanner
MappingScanner(HANDLE hProc, ModuleData &moduleData)
Definition
mapping_scanner.h:51
pesieve::MappingScanner::scanRemote
virtual MappingScanReport * scanRemote()
Definition
mapping_scanner.cpp:8
pesieve::MappingScanner::moduleData
ModuleData & moduleData
Definition
mapping_scanner.h:58
pesieve::ModuleData
Loads a module from the disk, corresponding to the module in the scanned process' memory.
Definition
module_data.h:15
pesieve::ModuleScanReport::ModuleScanReport
ModuleScanReport(HMODULE _module, size_t _moduleSize, t_scan_status _status=SCAN_NOT_SUSPICIOUS)
Definition
module_scan_report.h:58
pesieve::ModuleScanReport::module
HMODULE module
Definition
module_scan_report.h:74
pesieve::ModuleScanReport::moduleFile
std::string moduleFile
Definition
module_scan_report.h:77
pesieve::ProcessFeatureScanner::ProcessFeatureScanner
ProcessFeatureScanner(HANDLE _processHandle)
Definition
process_feature_scanner.h:15
pesieve.t_json_level
Definition
pesieve.py:83
OUT_PADDED
#define OUT_PADDED(stream, field_size, str)
Definition
format_util.h:12
module_scanner.h
pesieve::util::escape_path_separators
std::string escape_path_separators(std::string path)
Definition
path_util.cpp:27
pesieve
Definition
pesieve.py:1
path_util.h
process_feature_scanner.h
Generated by
1.17.0