Different ways to install kernel hooks under Windows NT based systems

1. Via installing a standard device driver
Calling the CreateService API with the service type parameter set to SERVICE_KERNEL_DRIVER makes the driver to be installed into the kernel. The Service Control Manager (SCM) then will tack care of starting and unloading the driver. This is the only documented way.

2. Using SystemLoadAndCallImage
The Native API NtSetSystemInformation is generally used to set information that affects the operation of the system. While the information class SystemLoadAndCallImage would load a module into the kernel address space and call its entry point. It is very simple but it's impossible to automatically start the driver on system boot. It seems that smss.exe use this method to load win32 subsystem during startup.
REF: Windows NT/2000 Native API Reference

3. Through the Windows object /Device/PhysicalMemory
This method has been explained in details by crazylord, but it is quite complicated and challenging and I have not mastered yet.
REF: Playing with Windows /dev/(k)mem, Phrack Inc, Volume 0x0b, Issue 0x3b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值