Надо значит создавать процесс и до того как к ентри поинт пойдет управление, поставить хуков в процессе. Как вариант можно создавать процесс в приостановленном режиме и на точке входа записать прыжок к заранее записанному шеллкоду в процессе. Но я где-то тут на форуме очень давно читал про одну технику как это можно сделать. Суть в том что когда главный поток процесса еще находится на выполнении в загрузчике где то, то там где то на стеке лежит адрес точки входа который можно просто перезаписать и дальше просто возобновить поток и все будет по красоте. Но я че то это не смог найти сейчас
Вообще адрес точки входа в PE-заголовке лежит, но нафига всё вот это вот, если можно в процессе, созданном с флагом CREATE_SUSPENDED, тупо создать свой поток?
alex_dz, здесь ссылки на Статьи Коцита с сайтов tgsa.narod.ru, cyberforum.ru и codeby.net, ссылки обновляются по мере появления новых статей
Это реакция оли на секцию tls, а потому на практике трюк не завоевал доверия, и его нужно расценивать как просто ещё одну возможность в теории. Сейчас любой отладчик в настройках имеет опцию "Перехватывать TLS на старте" - достаточно взвести эту галку, как упрёмся в защитный механизм.