Привет всем. Недавно разбирал установщик одной программы. Установщик (setup.exe) делает то и это, после чего создаёт временную папку и копирует туда некоторые файлы и самого себя. Затем он запускает эту новосозданную свою копию. Ну, создаёт новый процесс. Пытаясь отловить момент запуска, я ставил точки останова на CreateProcessW, CreateProcessInternalW, ZwCreateProcess, ZwCreateProcessEx. И ничего. Останова не происходит, а новый процесс создаётся. Таки вопрос: какие есть способы запуска процесса из ring3?
Immunity Debugger, int3 на начало функций. Не думаю также, что отлаживаемая программа использовала какие-либо антиотладочные приёмы. Кстати, пытался остановить ещё на CreateProcessWithLogonW и CreateProcessWithTokenW.
Sol_Ksacap WinExec, ShellExecute, CreateProcessA/W, CreateProcessExA/W -> ZwCreateProcess(Ex). Все полюбому сведутся к ZwCreateProcess(Ex)
Всё тривиально. Оригинальный Setup.exe [запрос]-> Служба Windows Installer (msiexec.exe) [запуск]-> Финальный Setup.exe.