关于内核创建进程初始化失败的问题

见习学术士 2014-04-01 11:08:15
在网上看到又内核如何创建进程的代码,主要流程是
1,使用 ZwOpenFile 打开文件,创建映射 ZwCreateSection.
2. 调用 ZwCreateProcess
本步骤主要是创建进程的 PEB 、 EPROCESS 、 VAD 等核心内核结构。
3. 创建堆栈、 CONTEXT 、进程参数等,并创建主线程 ZwCreateThread(SUSPEND)
4. 通知 Csrss.exe
5. 调用 ZwResumeThread 恢复线程的执行。

现在问题在 通知 Csrss.exe,因为网上那份代码是NATIVE APP,使用CsrClientCallServer 来通知CSRSS的,这个API在NTDLL中,是R3下才有的,现在移植到R0下无法使用,网上有一个通过直接通过获取CSRSS中EPROCESS的OBJECTTABLE句柄,使用ExEnumHandleTable 来处理,最后直接NtRequestWaitReplyPort完成通知,可是在最后程序运行后还是初始化失败,特在此发一帖,寻求解答~
...全文
601 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
见习学术士 2014-04-03
  • 打赏
  • 举报
回复
引用 9 楼 oyljerry 的回复:
跟OS有关吗,XP是否可以
XP 2003SERVER 都不行,VISTA下好像可以直接使用ZwCreateUserProcess 就不用调用CSR系列函数了,但是我试过之后也是不行~
见习学术士 2014-04-02
  • 打赏
  • 举报
回复
引用 1 楼 u012997273 的回复:
好底层,不知道楼主是做好事,还是坏事,帮顶一下
必须遵纪守法
oyljerry 2014-04-02
  • 打赏
  • 举报
回复
跟OS有关吗,XP是否可以
见习学术士 2014-04-02
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
初始化失败的错误信息是什么
好像是0XC0000014 就是看雪里面那几个天真都有的问题 zhuwg】的:关于从系统内核创建一个进程的深入学习: http://bbs.pediy.com/showthread.php?t=80403 【第八个门】的 :贴点内核态中创建用户态进程的代码: http://bbs.pediy.com/showthread.php?t=80179 【weolar】的:详解进程创建中与csrss的通信流程: http://bbs.pediy.com/showthread.php?p=814153
见习学术士 2014-04-02
  • 打赏
  • 举报
回复
引用 5 楼 xuddk727 的回复:
瞎了,该是这个http://bbs.pediy.com/showthread.php?p=814153
引用 6 楼 VisualEleven 的回复:
http://bbs.pediy.com/showthread.php?t=80403 看下这里有帮助没?
都看过了,都没有解决最后通信失败的问题
u012997273 2014-04-02
  • 打赏
  • 举报
回复
好底层,不知道楼主是做好事,还是坏事,帮顶一下
Eleven 2014-04-02
  • 打赏
  • 举报
回复
http://bbs.pediy.com/showthread.php?t=80403 看下这里有帮助没?
许文君 2014-04-02
  • 打赏
  • 举报
回复
许文君 2014-04-02
  • 打赏
  • 举报
回复
oyljerry 2014-04-02
  • 打赏
  • 举报
回复
初始化失败的错误信息是什么

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧