Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

memory-driver-communication

This Project is semi-operational

Communicating between Kernel Driver and user mode process using memory access functions.

outline for process logic:

usermode:  
|===================| 
| Usermode process  |
| ________ _________| 
| Ubuffer | Kbuffer | 
|===================| 

===============kerel boundary================
 

kernel: 
|===================| 
| kernel driver     |  
|MmCopyVirtualMemory| 
|===================| 

Kernel driver would use MmCopyVirtualMemory to read and write to a usermode process.
KBuffer->kernel driver
UBuffer<-kernel driver

This driver is loaded with KDMapper and then creates a thread that then lives on and lets main finish.

Why use this communication method?

When manually mapping a kernel driver with a program like KDMapper, the cache of the driver is erased, leaving IOCTL communication impossible and causing the computer to crash whenever an attempt is made to use IOCTL on a driver that was manually mapped with KDMapper.

ToDo

Get rid of the hardcoded values for the address and the PID or make the program retive these hardcoded files in a different manor that just hardcoding them

About

Communicating between Kernel Driver and user mode process using memory access functions.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages