Проблема с пачтингом

Тема в разделе "WASM.RESEARCH", создана пользователем dimonn, 8 окт 2006.

  1. dimonn

    dimonn New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2006
    Сообщения:
    38
    Адрес:
    Sim-City
    В общем, после запуска процесса нужно занопить пару инструкций до того как они выполнятся. Всё бы ничего, но сам екзешник запакован и приходится лаунчером сначала в цикле считатывать память где находится этот код и смотреть распаковал пакер уже оригинальный код или нет и уже потом суспендить тред и патчить. Так вот бок в том, что поток моего патчера не всегда успевает вклинится между последовательностью действий распаковка-выполнение нужного кода потока пропатчиваемого процесса. Т.е. иногда проходит иногда нет :dntknw:.
    Перепробовал уже все варианты с process\thread приоритетами - нифига не помогает. Я думаю, что задача в принципе тривиальна, но в голову чё-то ничего не лезет кроме как наплодить кучу параллельных тредов-зомби чтобы они отобрали процессор у пациента, но это уже крайний случай....
     
  2. tar4

    tar4 New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2006
    Сообщения:
    43
    Что ты подразумеваешь под лаунчером и как осуществляешь проверку на распакованность проги?
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    лоадер можно написать по-разному, зависит от того чем запакована прога

    иногда можно временно поставить своеобразную точку останова jmp $ (EBFEh)
    или захучить какую-нибудь API чтобы гарантированно быть уверенным что
    прога не проскочит требуемое место, или, например, для XP+ можно вобще
    написать лоадер на Debug API