address.QuadPart = PhysicalAddress; bResult =SuperCallDriver(DeviceHandle, IOCTL_SPEEDFAN_READ_PHYSICAL_MEMORY, &address,sizeof(address), Buffer, NumberOfBytes);
uint64_tpAddress =0; if(!CallKernelFunction(device_handle, &pAddress, kernel_MmAllocateContiguousMemory, NumberOfBytes, MAXULONG64))//Changed pool tag since an extremely meme checking diff between allocation size and average for detection... return0; returnpAddress; } uint64_tasus_driver::MmA...
memory Added param --mdl to map in mdl memory Added param --indPages to map in allocated independent pages Added param --PassAllocationPtr to pass allocation ptr as first param Added the possibility to modify params before call driver entry Now you can pass directly bytes to mapdriver ...
memory Added param --mdl to map in mdl memory Added param --indPages to map in allocated independent pages Added param --PassAllocationPtr to pass allocation ptr as first param Added the possibility to modify params before call driver entry Now you can pass directly bytes to mapdriver ...
} Bytes; struct{ ULONG BaseMiddle :8; ULONG Type :5; ULONG Dpl :2; ULONG Present :1; ULONG LimitHigh :4; ULONG System :1; ULONG LongMode :1; ULONG DefaultBig :1; ULONG Granularity :1; ULONG BaseHigh :8; } Bits; }; ULONG BaseUpper; ...
_In_reads_bytes_(NumberOfBytes) PVOID Buffer, _In_ ULONG NumberOfBytes, _In_ BOOLEAN DoWrite) { BOOL bResult = FALSE; DWORD dwError = ERROR_SUCCESS; __try { if(DoWrite) { //写物理内存每次只能写四个字节 DWORD dwLoopCount = NumberOfBytes /sizeof(ULONG); ...
kernel Added param --free to automatically unmap the allocated memory Added param --mdl to map in mdl memory Added param --PassAllocationPtr to pass allocation ptr as first param Added the possibility to modify params before call driver entry Now you can pass directly bytes to mapdriver ...
request.PhysicalAddress.QuadPart = PhysicalAddress; __try { if(DoWrite) { ULONG nAllocateBufferLength =sizeof(NTIOLIB64_PHYSICAL_MEMORY_INFO) + NumberOfBytes; PBYTE pBufferWrite = (PBYTE)malloc(nAllocateBufferLength); if(pBufferWrite) { RtlZeroMemory...
__int64 nCopyPer2BytesLength;// rcx _WORD* pBufferPer2Bytes;// rdi _WORD* pMappedAddressPer2Bytes;// rsi if(nInputBufferLength !=16) return0xC000000Di64; nTotalSize = pMemoryInfo->Length * pMemoryInfo->CopyAlign; if(nOutputBufferLength < nTotalSize) ...
memory Added param --mdl to map in mdl memory Added param --indPages to map in allocated independent pages Added param --PassAllocationPtr to pass allocation ptr as first param Added the possibility to modify params before call driver entry Now you can pass directly bytes to mapdriver ...