PE-sieve
Scans all running processes. Recognizes and dumps a variety of potentially malicious implants (replaced/implanted PEs, shellcodes, hooks, in-memory patches).
Loading...
Searching...
No Matches
scanner.h
Go to the documentation of this file.
1#pragma once
2
3#include <windows.h>
4#include <string>
5#include <map>
6
7#include <peconv.h>
8#include "scan_report.h"
9#include "module_data.h"
10
11namespace pesieve {
12
57
58}; //namespace pesieve
Loads a module from the disk, corresponding to the module in the scanned process' memory.
Definition module_data.h:15
A base class of all the reports detailing on the output of the performed module's scan.
The report aggregating the results of the performed scan.
Definition scan_report.h:19
The root scanner, responsible for enumerating all the elements to be scanned within a given process,...
Definition scanner.h:14
size_t scanWorkingSet(ProcessScanReport &pReport)
Definition scanner.cpp:284
size_t scanModules(ProcessScanReport &pReport)
Definition scanner.cpp:336
const bool isReflection
Definition scanner.h:52
size_t scanThreads(ProcessScanReport &pReport)
Definition scanner.cpp:471
ProcessScanner(HANDLE procHndl, bool is_reflection, pesieve::t_params _args)
Definition scanner.cpp:69
static t_scan_status scanForHooks(HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report, bool scan_data, bool scan_inaccessible)
Definition scanner.cpp:134
size_t scanModulesIATs(ProcessScanReport &pReport)
Definition scanner.cpp:424
pesieve::t_params args
Definition scanner.h:53
static t_scan_status scanForHollows(HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report)
Definition scanner.cpp:78
bool resolveHooksTargets(ProcessScanReport &process_report)
Definition scanner.cpp:150
bool filterDotNetReport(ProcessScanReport &process_report)
Definition scanner.cpp:179
ModuleScanReport * scanForMappingMismatch(ModuleData &modData, ProcessScanReport &process_report)
Definition scanner.cpp:327
static t_scan_status scanForIATHooks(HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report, t_iat_scan_mode filter)
Definition scanner.cpp:110
ProcessScanReport * scanRemote()
The main function of ProcessScanner, deploying the scan. Throws exceptions in case of a failure.
Definition scanner.cpp:216
std::set< std::string > ignoredModules
Definition scanner.h:55
Buffers the data from the module loaded in the scanned process into the local memory.
size_t fill_iat(BYTE *vBuf, size_t vBufSize, IN const peconv::ExportsMapper *exportsMap, IN OUT IATBlock &iat, IN ThunkFoundCallback *callback)
Definition iat_finder.h:31
enum pesieve::module_scan_status t_scan_status