41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#pragma once
|
|
#include "kd_driver.h"
|
|
|
|
typedef struct _RTL_PROCESS_MODULE_INFORMATION
|
|
{
|
|
HANDLE Section;
|
|
PVOID MappedBase;
|
|
PVOID ImageBase;
|
|
ULONG ImageSize;
|
|
ULONG Flags;
|
|
USHORT LoadOrderIndex;
|
|
USHORT InitOrderIndex;
|
|
USHORT LoadCount;
|
|
USHORT OffsetToFileName;
|
|
UCHAR FullPathName[256];
|
|
} RTL_PROCESS_MODULE_INFORMATION, * PRTL_PROCESS_MODULE_INFORMATION;
|
|
|
|
typedef struct _RTL_PROCESS_MODULES
|
|
{
|
|
ULONG NumberOfModules;
|
|
RTL_PROCESS_MODULE_INFORMATION Modules[1];
|
|
} RTL_PROCESS_MODULES, * PRTL_PROCESS_MODULES;
|
|
|
|
namespace utils
|
|
{
|
|
|
|
auto GetKernelModule(const std::string& module_name) -> uint64_t;
|
|
BOOLEAN bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask);
|
|
uintptr_t FindPattern(uintptr_t dwAddress, uintptr_t dwLen, BYTE* bMask, const char* szMask);
|
|
PVOID FindSection(const char* sectionName, uintptr_t modulePtr, PULONG size);
|
|
|
|
std::wstring GetFullTempPath();
|
|
|
|
bool CreateFileFromMemory(const std::wstring& desired_file_path, const char* address, size_t size);
|
|
|
|
auto calc_comm_verify_check(int a, int b, int c, int d)->ULONG64;
|
|
|
|
auto get_random_val(ULONG64 a, ULONG64 b)->ULONG64;
|
|
|
|
auto GetVersion()->OSVERSIONINFOW;
|
|
} |