首页
社区
课程
招聘
[求助]使用CreateProcess时如何指定父进程句柄?
发表于: 2011-5-20 21:51 8793

[求助]使用CreateProcess时如何指定父进程句柄?

2011-5-20 21:51
8793
如题!
希望能有具体的解决方法,或比较好的参考。
如果只是说Hook NtCreateProcess之类的就不要了,太复杂!

在网上搜索过了,好像没有好的具体的解决方法,只好在这里求助高人了!
谢谢!

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 3107
活跃值: (1249)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
莫非想过XXX的父进程检测大法??
2011-5-20 22:57
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
http://www.cr173.com/html/11519_1.html

不过vista以上才能用这个方法
2011-5-21 05:25
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能详细讲讲吗?
2011-5-22 11:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gie
5
如果缺少DLL的话 可以到www.filediag.com下载一个
2012-2-29 00:04
0
雪    币: 544
活跃值: (264)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
XP SP3 kernel32.dll里面

CreateProcessW调用CreateProcessInternalW,在CreateProcessInternalW里面调用ntdll!NtCreateProcessEx创建进程。如下

.text:7C8192AD                 push    [ebp+var_8E4]
.text:7C8192B3                 push    ebx
.text:7C8192B4                 push    [ebp+var_8D0]
.text:7C8192BA                 push    [ebp+var_670]
.text:7C8192C0                 push    [ebp+var_804]
.text:7C8192C6                 or      esi, 0FFFFFFFFh
.text:7C8192C9                 push    esi    //父进程句柄
.text:7C8192CA                 push    [ebp+var_838]
.text:7C8192D0                 push    1F0FFFh
.text:7C8192D5                 lea     eax, [ebp+ProcessHandle]
.text:7C8192DB                 push    eax
.text:7C8192DC                 call    ds:__imp__NtCreateProcessEx@36

可以看到父进程句柄只能是0FFFFFFFFh。所以要改父进程句柄的话,只能HOOK ntdll.dll里面的NtCreateProcessEx函数。VirtualProtect修改ntdll!NtCreateProcessEx为可写,然后跳到自定义函数,再去改父进程。
2012-2-29 01:28
0
游客
登录 | 注册 方可回帖
返回
//