-
Автор темы
- #1
Как только инжекчу код вылетает синий экран в ебальник, вот код (он находит ячейку памяти изменяет ее значение)
driver.c:
#include <ntifs.h>
#include <ntddk.h>
HANDLE process = (HANDLE)0x3820;
DWORD64 addr = 0x4BA2B0;
DWORD32 testVal = 0;
NTSTATUS NTAPI MmCopyVirtualMemory
(
PEPROCESS SourceProcess,
PVOID SourceAddress,
PEPROCESS TargetProcess,
SIZE_T BufferSize,
KPROCESSOR_MODE PreviousMode,
PSIZE_T ReturnSize
);
void DriverUnload(PDRIVER_OBJECT pDriver)
{
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pRegistryPath)
{
pDriver->DriverUnload = DriverUnload;
PEPROCESS pProcess;
SIZE_T size = 0;
if (NT_SUCCESS(PsLookupProcessByProcessId(process, &pProcess)))
{
MmCopyVirtualMemory(
pProcess,
(PVOID)addr,
PsGetCurrentProcess,
&testVal,
sizeof(DWORD32),
KernelMode,&size);
DbgPrintEx(0, 0, "Readed val: %d", testVal);
testVal = 228;
MmCopyVirtualMemory(PsGetCurrentProcess(),
&testVal,
pProcess,
(PVOID)addr,
sizeof(DWORD32),
KernelMode, &size);
DbgPrintEx(0, 0, "Writed %d", testVal);
}
return STATUS_SUCCESS;
}