0
我試圖讀取00000001 RAM中的數據並將其複製到硬盤中(剛學的!)的文件,所以我寫了這一點,並編譯和運行它使用驅動程序從特定位置讀取RAM數據?
#include <ntddk.h>
void DriverUnload(PDRIVER_OBJECT pDriverObject)
{
DbgPrint("Driver Unloaded!");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
DWORD *pointer;
pointer = 0x00000001;
DriverObject->DriverUnload = DriverUnload;
DbgPrint("Driver Loaded!\n");
DbgPrint("Data at 0x00000000 is %x\n",*pointer);
return STATUS_SUCCESS;
}
所以我得到了BSOD幸運的是,我跑這使用我的Vmware :-) 我一直認爲,只有應用程序沒有權利直接從內存中讀取。
現在我的問題是驅動程序使用直接物理地址或虛擬地址? 我的意思是什麼類型的值&指針返回一個物理或虛擬的情況下的驅動程序編程(環1或2)。我知道環3應用程序將返回虛擬地址。 是的,我已經開始閱讀司機書籍只是想更快地知道。