Hello world from kernel!
KmdfHelloWorld folder
This is my first kernel-mode driver. It does the following things:
- Say hello to you when it is loaded
- Handle major functions (IRP). Specifically,
IRP_MJ_CREATE
,IRP_MJ_CLOSE
, andIRP_MJ_WRITE
- Setup an IO device so you can communicate with it
- For IRP_MJ_WRITE: the driver will obtain the received buffer and output it
The driver does nothing meaningful but it is meaningful to me :)
A valuable experience.
DriverTester folder
This is my first driver loader. It does the following things:
- Ask you to input the driver (.sys) file
- Create service
- Start service
- Get an IO handle to the driver
- Allow you to type the message to be sent to the driver
- Close the IO handle
- Stop service
- Delete service
This driver tester is used to test the KmdfHelloWorld driver.
Again, this program does nothing meaningful but it is meaningful to me :)
A valuable experience, too.
I found this helpful tutorial, which helped me a lot. I followed the tutorial to implement my programs. Thank you for the valuable and detailed tutorial! ❤
I tried to follow the tutorial to implement SSDT hook but I failed because my driver is x64 :(
I heard that KeServiceDescriptorTable
is not exported on x64 systems, so I can't do that on my computer :(
I also tried some methods but it didn't work :(
Anyway, this is my first driver. I hope you can find what you need in this repo :)