Hello. I started learning windows drivers few days ago and i must say i have great fun with it. Managed to hide processes and do some other basic stuff, now i decided to create a memory cloaking driver.
I am following tutorials i found on the internet but i cannot make it work
http://web.engr.illinois.edu/~kingst/sp ... ection.txt
http://resources.infosecinstitute.com/t ... addresses/
First I have to translate virtual memory from chosen process into physical right? So I'm getting EPROCESS structure with PsLookupProcessByProcessId. Then i read DirectoryTableBase = 0x07D61000 from the structure (cr3=0x0018500) Moving on, i am trying to read contents of this address which causes a crash. I read somewhere that its because there is nothing under this virtual address, cr3 is physical, well im confused. By the way, do in kernel driver using *(ULONG*)Address to i read physical memory directly or virtual? Patchin the LIST_ENTRY structure to hide process worked globally so i thought it writes directly the physical memory, but after some tries im really confused what really happens, i cant find good tutorials on internet. How do deal with this problem? How to read or write physical memory then?
Thanks in advance
I am following tutorials i found on the internet but i cannot make it work
http://web.engr.illinois.edu/~kingst/sp ... ection.txt
http://resources.infosecinstitute.com/t ... addresses/
First I have to translate virtual memory from chosen process into physical right? So I'm getting EPROCESS structure with PsLookupProcessByProcessId. Then i read DirectoryTableBase = 0x07D61000 from the structure (cr3=0x0018500) Moving on, i am trying to read contents of this address which causes a crash. I read somewhere that its because there is nothing under this virtual address, cr3 is physical, well im confused. By the way, do in kernel driver using *(ULONG*)Address to i read physical memory directly or virtual? Patchin the LIST_ENTRY structure to hide process worked globally so i thought it writes directly the physical memory, but after some tries im really confused what really happens, i cant find good tutorials on internet. How do deal with this problem? How to read or write physical memory then?
Thanks in advance