阅读:2699回复:10
驱动中怎样分配可执行内存?
我hook ntfs的dispatch的时候,发现可以在winobj中看到我的驱动hook了哪个dispatch。我想如果在内核中分配一块可执行的内存,把我的代码复制过去再hook,winobj应该是不知道是哪个驱动hook的了。
但是ExAllocatePool***这些函数,我看来ddk,貌似都没有分配可执行内存的参数呢? 恳请哪位知道的大哥指点一下。。。 |
|
沙发#
发布于:2007-06-03 14:07
自己顶一下了。
会还是不会的牛人都顶一顶噻。。。 |
|
板凳#
发布于:2007-06-05 08:05
直接可以?我试试哈。
那天看到一篇文章说内核也有DEP,如下。我还以为不能执行呢。 我先实验一下了来哈。 /* • 内核模式 DEP 对于用户模式和内核模式,DEP 的工作原理相同。在内核模式下,不能分别为每个驱动程序启用或禁用内存区域 DEP。默认情况下,在 32 位 Windows 版本上,DEP 仅适用于堆栈。在 64 位 Windows 版本上,DEP 适用于堆栈、页面缓冲池和会话池。内核模式下的访问冲突将导致出现 Bugcheck 0x000000FC: ATTEMPTED_EXECUTE_OF_NONEXECUTE_MEMORY。 兼容性问题 */ |
|
地板#
发布于:2007-06-06 09:10
恩,实验了一下。果然能执行。
谢谢各位指点哈。 不过killvxk说的IRQL应该是个问题。 |
|