阅读:3729回复:4
NtCreateUserProcess
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)之类的 |
|
|
沙发#
发布于:2007-01-19 09:51
Section Handle是第几个?
|
|
|
板凳#
发布于:2007-01-19 09:56
引用第1楼killvxk于2007-01-19 11:51发表的“”: 没有SectionHandle。这个函数自己读文件,创建Section,再创建Process,和NtCreateProcess(Ex)完全是不同的概念。 自己反一下就知道了 |
|
|
地板#
发布于:2007-01-21 22:48
比较感兴趣的是第二个参数,一个结构指针,其中包含了进程路径和命令行。大致是这个样子:
{ ULONG A1; ULONG A2; WCHAR *CommandLine; ULONG A3; ULONG A4; WCHAR *ImagePath; } ; |
|
地下室#
发布于:2007-01-22 06:19
引用第3楼GNiDiA于2007-01-22 00:48发表的“”: 第二个参数并不是一直有这些内容的,有时候有,有时候没有,要看是谁调用NtCreateUserProcess。我怀疑其实第二个参数只是一个ULONG_PTR,只有第一个地址有效。可能某些callers调用的时候,传的是一个struct的第一个member的地址,那个struct其他部分有command line和image path。 |
|
|