首页
社区
课程
招聘
[求助]驱动内读取进程中DLL代码段问题
发表于: 2022-1-12 23:58 5935

[求助]驱动内读取进程中DLL代码段问题

2022-1-12 23:58
5935

在驱动中想要读取进程内的代码段,但是当lpParameter指向的地址位于进程中DLL的代码段时,MmProbeAndLockPages触发C000005

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
PMDL pmdl = IoAllocateMdl(lpParameter, dwCodesize, FALSE, FALSE, NULL);
if (pmdl)
{
    kprintf("IoAllocateMdl STATUS_SUCCESS\n");
    __try
    {
       MmProbeAndLockPages(pmdl, UserMode, IoReadAccess);
       PVOID psafebuf = MmGetSystemAddressForMdlSafe(pmdl, NormalPagePriority);
       if (psafebuf)
       {
           kprintf("[+]MmGetSystemAddressForMdlSafe STATUS_SUCCESS\n");
            .....
        }
       else
       {
          kprintf("[+]MmGetSystemAddressForMdlSafe STATUS_UNSUCCESS:\n");
        }
       MmUnlockPages(pmdl);
       IoFreeMdl(pmdl);
      }
    __except (EXCEPTION_EXECUTE_HANDLER)
    {
        kprintf("[+]MmProbeAndLockPages:%X\n",GetExceptionCode());
I        IoFreeMdl(pmdl);
    
}

用MmCopyMemory去copy代码段则是错误C0000018(STATUS_CONFLICTING_ADDRESSES)。

MmCopyVirtualMemory去copy代码段则是错误8000000D(STATUS_PARTIAL_COPY),NumberOfBytesCopied=0。

请各位大佬赐教


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (1)
雪    币: 6
活跃值: (338)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有没有KeStackAttachProcess或者修改dirbase
2022-1-14 19:53
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册