rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
阅读:3583回复:4

NtCreateUserProcess

楼主#
更多 发布于:2007-01-19 06:13
  NTSTATUS NTAPI NtCreateUserProcess(
    PHANDLE ProcessHandle,
    ULONG_PTR Parameter1,
    ULONG_PTR Parameter2,
    ULONG_PTR Parameter3,
    ULONG_PTR ProcessSecurityDescriptor,
    ULONG_PTR ThreadSecurityDescriptor,
    ULONG_PTR Parameter6,
    ULONG_PTR Parameter7,
    PRTL_USER_PROCESS_PARAMETERS ProcessParameters,
    ULONG_PTR Parameter9,
    ULONG_PTR Parameter10
    );

Vista上的新函数,用来创建process。以前的NtCreateProcess(Ex)都不用了。

前些天要用到,自己反了一下,有需要的XD参考一下。已在Ultimate/Home上测试过

其他的参数有的可能是(BOOL Inherit)之类的
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2007-01-19 09:51
Section Handle是第几个?
没有战争就没有进步 X3工作组 为您提供最好的军火
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-01-19 09:56
引用第1楼killvxk2007-01-19 11:51发表的“”:
Section Handle是第几个?


没有SectionHandle。这个函数自己读文件,创建Section,再创建Process,和NtCreateProcess(Ex)完全是不同的概念。

自己反一下就知道了
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
GNiDiA
驱动小牛
驱动小牛
  • 注册日期2006-10-11
  • 最后登录2017-10-09
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2007-01-21 22:48
比较感兴趣的是第二个参数,一个结构指针,其中包含了进程路径和命令行。大致是这个样子:

{
    ULONG               A1;
    ULONG               A2;
    WCHAR            *CommandLine;
    ULONG               A3;
    ULONG               A4;
    WCHAR            *ImagePath;
} ;
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-01-22 06:19
引用第3楼GNiDiA2007-01-22 00:48发表的“”:
比较感兴趣的是第二个参数,一个结构指针,其中包含了进程路径和命令行。大致是这个样子:

{
    ULONG               A1;
    ULONG               A2;
.......


第二个参数并不是一直有这些内容的,有时候有,有时候没有,要看是谁调用NtCreateUserProcess。我怀疑其实第二个参数只是一个ULONG_PTR,只有第一个地址有效。可能某些callers调用的时候,传的是一个struct的第一个member的地址,那个struct其他部分有command line和image path。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部