В общем, после запуска процесса нужно занопить пару инструкций до того как они выполнятся. Всё бы ничего, но сам екзешник запакован и приходится лаунчером сначала в цикле считатывать память где находится этот код и смотреть распаковал пакер уже оригинальный код или нет и уже потом суспендить тред и патчить. Так вот бок в том, что поток моего патчера не всегда успевает вклинится между последовательностью действий распаковка-выполнение нужного кода потока пропатчиваемого процесса. Т.е. иногда проходит иногда нет . Перепробовал уже все варианты с process\thread приоритетами - нифига не помогает. Я думаю, что задача в принципе тривиальна, но в голову чё-то ничего не лезет кроме как наплодить кучу параллельных тредов-зомби чтобы они отобрали процессор у пациента, но это уже крайний случай....
лоадер можно написать по-разному, зависит от того чем запакована прога иногда можно временно поставить своеобразную точку останова jmp $ (EBFEh) или захучить какую-нибудь API чтобы гарантированно быть уверенным что прога не проскочит требуемое место, или, например, для XP+ можно вобще написать лоадер на Debug API