Skip to content

Instantly share code, notes, and snippets.

@leha-bot
Last active March 25, 2018 20:53
Show Gist options
  • Save leha-bot/d24e42a0aa768f5670446172ff8b3a6e to your computer and use it in GitHub Desktop.
Save leha-bot/d24e42a0aa768f5670446172ff8b3a6e to your computer and use it in GitHub Desktop.
  1. NtCreateUserProcess с флагом для создания пустого процесса. Потом поверх пустого процесса и создаются пико-процессы. https://github.com/Microwave89/createuserprocess/blob/master/createuserprocess/main.c - пример вызова этого процесса. Эта функция появилась в висте+ https://github.com/Budskii/ulib-win/blob/master/demo/ddk/safe/safe.h#L458 пойнтер на нее, там выше есть struct. http://rsdn.org/forum/winapi/4972311.hot тред по ней же. https://en.wikipedia.org/wiki/Process_Environment_Block тут тоже есть инфа

https://www.intuit.ru/studies/courses/10471/1078/lecture/16573 - интересно, что на интуите есть инфа по этой функции. По ходу, они дернули ее из windows internals.

Интерфейс функции:

NtCreateUserProcess(PHANDLE ProcessHandle,
                                        PHANDLE ThreadHandle,
                                        PVOID Parameter2,
                                        PVOID Parameter3,
                                        PVOID ProcessSecurityDescriptor,
                                        PVOID ThreadSecurityDescriptor,
                                        PVOID Parameter6,
                                        PVOID Parameter7,
                                        PRTL_USER_PROCESS_PARAMETERS ProcessParameters,
                                        PVOID Parameter9,
                                        PVOID pProcessUnKnow)

Структура PRTL_USER_PROCESS_PARAMETERS описана в мсдне, но лучше ее глянуть в либе ulib-win: https://github.com/Budskii/ulib-win/blob/master/demo/ddk/safe/safe.h#L268

Функция NtCreateProcess в ReactOS: https://github.com/reactos/reactos/blob/master/ntoskrnl/ps/process.c#L1344

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment