能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[讨论]内核锁里复杂操作会蓝屏?什么鬼
结贴了吧 我就在锁外操作了
好奇心作怪
说白了 就是 一个驱动的某个代码在没解锁的情况下被你拿到了控制权
你KeAttachProcess上去 往RING3写入 shellcode 然后发现不行
|
能力值:
( LV2,RANK:10 )
|
-
-
[讨论]内核锁里复杂操作会蓝屏?什么鬼
谢谢大家讨论
我是想 在自旋锁里 给用户空间分配一块内存 然后里写入
现在的情况是
锁内KeGetCurrentIrql() == 2
status = ZwAllocateVirtualMemory(ZwCurrentProcess(), &pBuffer, 0, &size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
这里status是成功的 pBuffer也是成功返回的内存地址 但是访问不了
锁外KeGetCurrentIrql() = 0 也就是我在锁外操作是没有任何问题的
我的程序是个裸驱动 给用户空间分配一块内存 当然是分配写到其他进程里
根据大家提示 降低到 PASSIVE_LEVEL或许是个办法 不知道稳定性如何
能有其他解决方案吗
KeGetCurrentIrql() == 2时
往目标进程分配写入内存
注意是分配的要是用户层内存
|
能力值:
( LV2,RANK:10 )
|
-
-
[讨论]内核锁里复杂操作会蓝屏?什么鬼
确实对内核研究的少
ExAllocatePool/ExAllocatePoolWithTag() 可以分配用户空间内存吗?
我是想给用户空间分配一块内存 然后在自旋锁里写入
现在的情况是锁内KeGetCurrentIrql() == 2
锁外KeGetCurrentIrql() = 0 也就是我在锁外操作没有问题
对于有点强迫症 我希望在锁内分配用户内存并写入
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|