Как побороть MUTEX?

Тема в разделе "WASM.BEGINNERS", создана пользователем LastNoob, 20 июл 2022.

  1. LastNoob

    LastNoob Member

    Публикаций:
    0
    Регистрация:
    28 янв 2018
    Сообщения:
    80
    Есть довольно странная программа, которая запускает саму себя.
    По крайней мере пришел к такому выводу.
    Использую IDA pro.


    Запустил программу, посмотрел через ProcMon, после какого-то времени работы увидел, что PID'ы у программы с одним именем разные.

    Поставил bpt на функцию CreateProcessW, после чего исполнение кода происходит без остановок в другой копии программы, смотрел аргументы, с которыми запускается в стеке что-то есть из папки temp, но в ProcMon нет никаких аргументов на вызове CreateProcess.
    Попробовал запустить с теми же аргументами из стека, ситуация не поменялась.

    Можно ли как-то поймать в отладчик новую программу на раннем этапе, где-то в EntryPoint?
    Думаю, что самое интересное в ней.
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    LastNoob, а что мешает поставить брейк прямо в entryPoint? адрес известен. если совсем никак - ида меняешь первую инструкцию на 0xcc
     
  3. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Используй API монитор.
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.955
    Назначь программе отладчик через IFEO.
    Код (Text):
    1. Windows Registry Editor Version 5.00
    2.  
    3. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<someexe>.exe]
    4. "Debugger"="D:\\<somepath>\\ollydbg.exe \"%1\""
     
    Последнее редактирование: 21 июл 2022
    LastNoob нравится это.
  5. LastNoob

    LastNoob Member

    Публикаций:
    0
    Регистрация:
    28 янв 2018
    Сообщения:
    80
    Это новая копия того же .exe файла, то есть адресное пространство другое, bpt надо ставить в новой программе, а она еще не запущена, вопрос был в том, как отловить ее до запуска.

    Попробовал вариант f13nd, довольно интересное решение, благодарю