Не успеваю внедрить dll

Тема в разделе "WASM.WIN32", создана пользователем Flasher, 26 апр 2008.

  1. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Проблема с лоадером.
    Моя программа сама запускает нужный файл и должен потом туда внедрить свой dll для хука определенных функций.
    Схема обычная:
    CreateProcess, потом по PROCESS_INFORMATION.hProcess -> VirtualAllocEx\WriteProcessMemory\CreateRemoteThread.

    На мошних машинах внедряется с 20-ого раза, чаще всего даже бывает, что внедряется, но не успевает хукать.

    Не подскажите как решить эту проблему?
    Надо как-то остановить работу файла пока я не закончил свои темные дела, а потом сново продолжить.
     
  2. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    а почему бы не запускать процес замороженным? а после того, как сделаешь свои темные дела, ResumeThread???
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    схема должна быть такая:
    запустить процесс "засуспенденным" и вписать на Entry Point jmp $ (0xEB,0xFE),
    отпустить процесс, подгрузить длл которая поставит хуки, "засуспендить" процесс
    опять и вернуть оригинальные байты с Entry Point на место, отпустить процесс

    трюк c jmp $ нужен для работоспособности в любых системах, например в 2k и XP dll
    подгружается в "засуспенденный" процесс с разным эффектом
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Проще создать поток остановленным, изменить CONTEXT.regEax(Адрес ModuleEntryPoint) или ниже
    CONTEXT.regEip(ThreadInitRoutine) на свой код и выполнить после инжекта ResumeThread.
     
  5. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Описание проблемы чуток каряво написал, хорошо что вы поняли о чем я :)
    Благодарю за идеи, тему можно считать исчерпанным.