Можно ли без отладчика определить процесс, вызвавший API-функцию?

Тема в разделе "WASM.BEGINNERS", создана пользователем Gambit, 6 фев 2011.

  1. Gambit

    Gambit New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    11
    сабж) какой-то троян вызывает постоянно OpenClipboard(), в результате скопировать/вставить ничего нельзя и clipbrd.exe висит. Можно ли узнать, какая программа в данный момент вызвала OpenClipboard()? Знаю, что сайс итп - наше все, но мну надо проверить так комп, куда сайс ставить не с подручно (;
     
  2. Gambit

    Gambit New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    11
    по поведению прога походит на это:
    Код (Text):
    1. #include <windows.h>
    2. char buf[10];
    3. int err;
    4. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    5. {
    6. while(TRUE){
    7.  OpenClipboard(NULL);
    8.  Sleep(1000);
    9. }
    10. }
     
  3. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    если просто: ну можно на время пропатчить dll с функцией для трейсинга инфы о процеесе. Если подойти нормально, нужно искать аэпиай спайи
     
  4. Gambit

    Gambit New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    11
    ;;нужно искать аэпиай спайи
    дело в том, что все они (вроде как) нацелены только на определенный процесс.. или есть те, которые следят глобально? Ткните носом, плиз (;
     
  5. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Gambit
    Смотрели, что возвращает GetClipboardOwner() ?
     
  6. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    Gambit
    Извини, я как-то не сталкивался с этим. а что если по ечереди следить за каждым процессом?
     
  7. Gambit

    Gambit New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    11
    green
    возвращает одно и то же значение "000801FA", независимо от того, запущена ли моделирующая поведение вируса прога во втором моем посте или нет );

    kernel16
    хе-хе (; вопрос в том, _как_ Получить список процессов - дело нехитрое... а дальше что делать?...
     
  8. Flint_ta

    Flint_ta New Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    312
    Убивай процессы по одному, методом исключения определишь.
     
  9. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    а если убить придётся слишком много? explorer.exe, сервисы...
    Gambit
    В шпионе кликать на каждый процесс и сидеть с блокнотом и наблюдать.
    add: антивирус есть? может он приклеился к другому процессу
     
  10. Gambit

    Gambit New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    11
    прога APISpy32 3.0 решила проблему (;
    В APISpy32.api записал USER32.DLL:OpenClipboard(HANDLE) и сам файл поместил в C:\Windows\ - процесс вышел на чистую воду (;
    завтра буду пробовать в боевые условиях. Спасибо всем за уделенное моей проблеме время (;