wie ktos jak powinno wygladac wywolanie tej funkcji? Albo zna jakis dokladny opis? Bo mnie (nawet teraz) msdn nie mowi zbyt wiele w tej kwestii.

No sory, ale ten opis mowi mi tylko ile bajtow mam wrzucic na stos, nic wiecej!
http://undocumented.ntinternals.net/...teProcess.html

napisalem taki kod (zakonczony access violation, czyli gdzies dalem 0 a powinien byc pointer, tylko gdzie!)
Kod:
format pe console
section '.code' code readable executable


push 0
push 0
push 0
push 0
push -1
push OBJECT_ATTRIBUTES
push 0x001F0000
push p
call [NtCreateProcess]

push [p]
push eax
push f
call [printf]
add esp,12
ret



section '.data' data readable writeable
p dd 0
f db '%p : %p',0
OBJECT_ATTRIBUTES:
dd 24
dd 0
dd ustring
dd 0
dd 0
dd 0




ustring:
dd 18
dd 18
db 'C',0,':',0,'\\',0,'a',0,'.',0,'e',0,'x',0,'e',0,0,0
section '.idata' import readable
dd 0,0,0,RVA msvcrt_name,RVA msvcrt_table
dd 0,0,0,RVA ntdll_name,RVA ntdll_table
dd 5 dup 0
msvcrt_table:
printf dd RVA _pritnf
dd 0
ntdll_table:
NtCreateProcess dd RVA _NtCreateProcess
dd 0
msvcrt_name db 'msvcrt.dll',0
ntdll_name db 'ntdll.dll',0
_pritnf db 0,0,'printf',0
_NtCreateProcess db 0,0,'NtCreateProcess',0