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
utils
workingset_enum.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <windows.h>
4
#include <set>
5
6
#ifdef _DEBUG
7
#include <iostream>
8
#endif
9
10
#ifndef PAGE_SIZE
11
#define PAGE_SIZE 0x1000
12
#endif
13
14
namespace
pesieve
{
15
namespace
util {
16
17
typedef
struct
_mem_region_info
18
{
19
ULONGLONG
alloc_base
;
20
ULONGLONG
base
;
21
size_t
size
;
22
23
_mem_region_info
()
24
:
alloc_base
(0),
base
(0),
size
(0)
25
{
26
}
27
28
_mem_region_info
(ULONGLONG _alloc_base, ULONGLONG _base,
size_t
_size)
29
:
alloc_base
(_alloc_base),
base
(_base),
size
(_size)
30
{
31
}
32
33
_mem_region_info
(
const
_mem_region_info
& other)
34
{
35
this->base = other.
base
;
36
this->alloc_base = other.
alloc_base
;
37
this->size = other.
size
;
38
}
39
40
bool
operator<
(
const
_mem_region_info
& rhs)
const
41
{
42
return
this->base < rhs.
base
;
43
}
44
45
#ifdef _DEBUG
46
void
print()
const
47
{
48
std::cout <<
"Region:\t"
<< std::hex << this->alloc_base <<
" :\t"
;
49
if
(this->alloc_base != this->base) {
50
std::cout << this->base <<
" :\t"
;
51
}
52
else
{
53
std::cout <<
"*"
<<
" :\t"
;
54
}
55
std::cout << this->size << std::endl;
56
}
57
#endif
58
59
}
mem_region_info
;
60
61
size_t
enum_workingset
(HANDLE processHandle, std::set<mem_region_info> ®ions);
62
63
DWORD
count_workingset_entries
(HANDLE processHandle);
64
};
65
};
pesieve::util::count_workingset_entries
DWORD count_workingset_entries(HANDLE processHandle)
Definition
workingset_enum.cpp:85
pesieve::util::enum_workingset
size_t enum_workingset(HANDLE processHandle, std::set< mem_region_info > ®ions)
Definition
workingset_enum.cpp:64
pesieve::util::DWORD
DWORD(__stdcall *_PssCaptureSnapshot)(HANDLE ProcessHandle
pesieve::util::mem_region_info
struct pesieve::util::_mem_region_info mem_region_info
pesieve
Definition
pesieve.py:1
pesieve::util::_mem_region_info::_mem_region_info
_mem_region_info()
Definition
workingset_enum.h:23
pesieve::util::_mem_region_info::size
size_t size
Definition
workingset_enum.h:21
pesieve::util::_mem_region_info::base
ULONGLONG base
Definition
workingset_enum.h:20
pesieve::util::_mem_region_info::_mem_region_info
_mem_region_info(ULONGLONG _alloc_base, ULONGLONG _base, size_t _size)
Definition
workingset_enum.h:28
pesieve::util::_mem_region_info::alloc_base
ULONGLONG alloc_base
Definition
workingset_enum.h:19
pesieve::util::_mem_region_info::_mem_region_info
_mem_region_info(const _mem_region_info &other)
Definition
workingset_enum.h:33
pesieve::util::_mem_region_info::operator<
bool operator<(const _mem_region_info &rhs) const
Definition
workingset_enum.h:40
Generated by
1.17.0