как сделать, что бы моя программа стала процессом другой программы

Тема в разделе "WASM.BEGINNERS", создана пользователем prihod, 9 дек 2005.

  1. prihod

    prihod New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2005
    Сообщения:
    1
    Как сделать средствами языка С++ Builder , что бы моя программа стала процессом другой программы т.е, что бы в диспетчере задач windows прога не отображалась, вариант
    Код (Text):
    1.  
    2. typedef int (CALLBACK*     lpfn)(int, int);
    3.  lpfn        func;
    4.  HINSTANCE   hDLL;
    5.  hDLL = LoadLibrary("kernel32.dll");
    6.  func = (lpfn)GetProcAddress(hDLL,"RegisterServiceProcess");
    7.  func(GetCurrentProcessId(), 1);
    8.  Hide();
    9.  


    Не подходит. Еще хотелось бы узнать, если моя программа стала процессом другой программы смогу ли я ее exe файл переименовать, удалить, для того чтобы убить мой процесс придется ли убивать и процесс программы “донора” ? Можно ли вклиниться(стать нитью) в процесс Explorer ?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Если тебе нужен BCB, не ошибся ли форумом?

    Твой код - для 9х.

    Что такое "процесс другой программы"? Оформи свой код как библиотеку, заставь нужный процесс загрузить её, вот и станешь частью его.

    Пока процесс жив, удалить исполняемый файл нельзя, переименовать - можно.





    Будешь библиотекой - достаточно FreeLibraryEndExitThread.



    Вклиниться в проводник можно, CreateRemoteThread и т.п. Читай статьи по теме.