aboutsummaryrefslogtreecommitdiff
path: root/include/KInterface.h
diff options
context:
space:
mode:
authorsegfault <toni@impl.cc>2020-12-12 20:08:22 +0100
committersegfault <toni@impl.cc>2020-12-12 20:08:22 +0100
commit2c2383838ce791392782aeb5ca3cd0607c92e22e (patch)
tree477fa41c75fae922c33f7b63ed07c9a23a826a76 /include/KInterface.h
parent444b885aa818e7a4a91870181950b260a53b8fc9 (diff)
Added KMemDriver GetProcesses to enumerate all processes from kernel space.
* fixed missing NUL termination for converted ASCII strings
Diffstat (limited to 'include/KInterface.h')
-rw-r--r--include/KInterface.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/include/KInterface.h b/include/KInterface.h
index 540548b..3fee236 100644
--- a/include/KInterface.h
+++ b/include/KInterface.h
@@ -28,17 +28,18 @@ public:
bool Init();
bool Handshake();
bool Ping();
+ bool Processes(std::vector<PROCESS_DATA>& dest);
bool Pages(HANDLE targetPID,
std::vector<MEMORY_BASIC_INFORMATION>& dest,
PVOID start_address = NULL);
bool Modules(HANDLE targetPID,
std::vector<MODULE_DATA>& dest);
bool Exit();
- bool RPM(HANDLE targetPID, PVOID address, BYTE *buf, SIZE_T size,
+ bool RPM(HANDLE targetPID, PVOID address, BYTE* buf, SIZE_T size,
PKERNEL_READ_REQUEST result);
- bool WPM(HANDLE targetPID, PVOID address, BYTE *buf, SIZE_T size,
+ bool WPM(HANDLE targetPID, PVOID address, BYTE* buf, SIZE_T size,
PKERNEL_WRITE_REQUEST result);
- bool VAlloc(HANDLE targetPID, PVOID *address, SIZE_T *size, ULONG protection);
+ bool VAlloc(HANDLE targetPID, PVOID* address, SIZE_T* size, ULONG protection);
bool VFree(HANDLE targetPID, PVOID address, SIZE_T size);
bool VUnlink(HANDLE targetPID, PVOID address);
@@ -70,8 +71,8 @@ public:
return buf;
}
template <class T>
- static void Wpm(HANDLE targetPID, PVOID address, T *buf) {
- if (!KInterface::getInstance().WPM(targetPID, address, (BYTE*)buf, sizeof *buf, NULL))
+ static void Wpm(HANDLE targetPID, PVOID address, T* buf) {
+ if (!KInterface::getInstance().WPM(targetPID, address, (BYTE*)buf, sizeof * buf, NULL))
throw std::runtime_error("KMemory WPM failed");
}
};
@@ -80,14 +81,14 @@ class KMemoryBuf
{
public:
template <size_t SIZE>
- static SSIZE_T Rpm(HANDLE targetPID, PVOID address, BYTE *dest) {
+ static SSIZE_T Rpm(HANDLE targetPID, PVOID address, BYTE* dest) {
KERNEL_READ_REQUEST rr = { 0 };
if (!KInterface::getInstance().RPM(targetPID, address, &dest[0], SIZE, &rr))
return -1;
return rr.SizeRes;
}
template <size_t SIZE>
- static SSIZE_T Wpm(HANDLE targetPID, PVOID address, BYTE *dest) {
+ static SSIZE_T Wpm(HANDLE targetPID, PVOID address, BYTE* dest) {
KERNEL_WRITE_REQUEST wr = { 0 };
if (!KInterface::getInstance().WPM(targetPID, address, &dest[0], SIZE, &wr))
return -1;