PE-sieve
Scans all running processes. Recognizes and dumps a variety of potentially malicious implants (replaced/implanted PEs, shellcodes, hooks, in-memory patches).
|
The root scanner, responsible for enumerating all the elements to be scanned within a given process, and performing apropriate scans on them. More...
#include <scanner.h>
Public Member Functions | |
ProcessScanner (HANDLE procHndl, bool is_reflection, pesieve::t_params _args) | |
~ProcessScanner () | |
ProcessScanReport * | scanRemote () |
The main function of ProcessScanner, deploying the scan. Throws exceptions in case of a failure. | |
Static Public Member Functions | |
static t_scan_status | scanForHollows (HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report) |
static t_scan_status | scanForHooks (HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report, bool scan_data, bool scan_inaccessible) |
static t_scan_status | scanForIATHooks (HANDLE hProcess, ModuleData &modData, RemoteModuleData &remoteModData, ProcessScanReport &process_report, t_iat_scan_mode filter) |
Protected Member Functions | |
size_t | scanModules (ProcessScanReport &pReport) |
size_t | scanModulesIATs (ProcessScanReport &pReport) |
size_t | scanThreads (ProcessScanReport &pReport) |
size_t | scanWorkingSet (ProcessScanReport &pReport) |
ModuleScanReport * | scanForMappingMismatch (ModuleData &modData, ProcessScanReport &process_report) |
bool | resolveHooksTargets (ProcessScanReport &process_report) |
bool | filterDotNetReport (ProcessScanReport &process_report) |
Protected Attributes | |
HANDLE | processHandle |
bool | isDEP |
const bool | isReflection |
ProcessSymbolsManager | symbols |
pesieve::t_params | args |
std::set< std::string > | ignoredModules |
The root scanner, responsible for enumerating all the elements to be scanned within a given process, and performing apropriate scans on them.
pesieve::ProcessScanner::ProcessScanner | ( | HANDLE | procHndl, |
bool | is_reflection, | ||
pesieve::t_params | _args ) |
A constructor of ProcessScanner.
procHndl | : a HANDLE to the process to be scanned (must be opened with appropriate access rights) |
is_reflection | : a flag indicating if the given handle (procHndl) leads to a raw process, or the process reflection |
args | : the configuration of the scan (defined as t_params) |
Definition at line 82 of file scanner.cpp.
|
protected |
|
protected |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
ProcessScanReport * pesieve::ProcessScanner::scanRemote | ( | ) |
The main function of ProcessScanner, deploying the scan. Throws exceptions in case of a failure.
Definition at line 230 of file scanner.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |