阅读:3786回复:6
求教,有什么办法在驱动中向进程注入DLL
我在驱动中设置了LoadImageNotifyRoutine和CreateProcessNotifyRoutine,有没有方法在这个两个函数中向当前的进程注入一个DLL?
|
|
沙发#
发布于:2007-11-14 16:21
不太可能吧,也许有高人可以做到,不敢想象
|
|
|
板凳#
发布于:2007-11-14 21:02
一个间接的方法
NTDLL.DLL的LdrLoadDll()可以用来加载DLL。在内核中插入APC代码调用LdrLoadDll()。 |
|
地板#
发布于:2007-11-14 21:14
问题是LdrLoadDll是在NTDLL.DLL里导出的,我不能静态链接这个DLL,否则Driver在系统启动时启不起来,有什么办法可以动态获取LdrLoadDll的地址吗?
|
|
地下室#
发布于:2007-11-15 13:29
Yes, call ZwxxxVirtualMemory
|
|
|
5楼#
发布于:2007-11-15 13:49
你说的ZwxxxVirtualMemory是用来做什么呢,直接修改Image?然后分配一个空间,填UserMode 的Thunk,然后inline hook Exe的entryPoint?如果可成的话,倒是可以在第一个线程启动之前执行一段我的代码,不知道你说的是不是这个意思?
|
|
6楼#
发布于:2007-11-15 14:18
搞不定,从LoadImageNotify里取的ImageBase指向的ImageSection是只读的,没办法写,所以也没办法修改,用IoAllocateMdl,然后MmProbeAndLockPages失败,用ZwSecureVirtualMemory也不能修页面属性,直接返回NULL,NtProtectVirtualMemory之类的不能用,在NTDLL里导出的
|
|