Объединение процессов

Тема в разделе "WASM.BEGINNERS", создана пользователем RFX, 3 мар 2009.

  1. RFX

    RFX New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2009
    Сообщения:
    4
    Добрый день! 2 вопросика к вам знающие люди)
    1)Как в делфи можно допусти, запускаем 1 програмку(имя процесса progOne.exe) и 2-ю программу( progTwo.exe ), и процесс 1-й программы объединяется с процессом 2-й и работают как один процесс progTwo.exe?
    2)Скрыть процесс программы из диспетчера задач ?
    Если не поняли говорите, попробую объяснить по-другому)
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Только с помощью магии Девида Блейна
     
  3. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    HANDLE hBlaine = GetModuleHandle("kernel32.dll");
    davidBlaineMagic = GetProcAddress(hBlaine,"CreateRemoteThread");
     
  4. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    ну да тебе jaja смешно и правильно помог=)...Через создание удаленного потока можно,но я думаю тебе не это надо,так как хочешь ты сделать имхо нельзя...,а чтобы скрыть от диспетчера задач либо функции сплайсить Process32First,Process32Next если конечно task manager через них ищет либо отключай file protection и правь сам task manager=)
    А вообще что ты хочешь сделать?зачем два процесса тебе?Создай в одном процессе 2 потока...
     
  5. RFX

    RFX New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2009
    Сообщения:
    4
    дело в том что мне нужно присоединить 1-й процесс ко 2-му, а уменя нет исходного кода 2-го процесса, если бы были исходники то все вопросы были бы решены)
     
  6. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    Еще есть среди народных умельцев индивидуалы, которые в цикле посылают LVM_DELETEITEM листвьюву диспетчера задач.
    Да и зачем все это? Все-таки у вашей задачи должны быть более простые пути решения.
     
  7. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    добавь второй exe в ресурсы первого. потом при запуске сохраняй на винт. потом FileMapping и настройка релоков если надо... потом CreateRemoteThread/GetThreadContext\SetThreadContext...Можно полностью подменить процессы если надо...пиши задачу конкретней...
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Имхо это невозможно, нонсенс.
     
  9. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    Ухахахах я бы тогда все процессы объединил с Winlogon.exe и вот бы классно было=)))
     
  10. RFX

    RFX New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2009
    Сообщения:
    4
    собственно задача такая, мне нужно чтобы мою программу(сам процесс программы, античит), не смогли закрыть, вот почему я хочу присоединить к другому процессу(самой игры), если пользователь закроет то и закроется сама игра) просто попросили написать античит для игры и вот щас мучаюсь)
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    mupsy
    Что смешного ?
    К примеру два хэндла было одинаковых, при "обьеденении" какой использовать, если использовать первый, то для второго процесса не пойдёт.
    Как быть с адресным пространством, потоками, системными таблицами и прочим ?
     
  12. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Clerk
    У Вас талант к усложнению простой задачи. +1 к jaja: простейший инжект dll через CreateRemoteThread без вообще каких-либо наворотов, и хэндлы "с адресным пространством, потоками, системными таблицами и прочим" общие.
     
  13. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    RFX
    Нет такого понятия, как объединение процессов. Для слежения за закрытием процессов есть другие методы.
     
  14. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    Я не над твои сообщением смеюсь,а просто подумал что если бы мона было так сказать склеить два процесса в один,то мона склеить и 10 в один=)вот над чем...
     
  15. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    А не проще ли создать какой-нибудь процесс, который бы проверял существование процесса античита и создавал бы в случае его отсутствия.
     
  16. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    В саму игру вставь поток который отслеживает закрытие процесса античита...Мона сделать как циклом который переодически проеряет на существование процесса античит что то типа такого:
    While(TRUE)
    {
    if(OpenProcess()==NULL)
    TerminateProcess(Процесс игры);
    else
    Sleep(1000);
    }

    либо через WaitForSingleObject и тоже ждать когда произойдет завершение процесса античита,так что не надо будет ломать голову над сокрытием от task manager...
    Ну может конечно я что то тута натупил,но я думаю так=)
     
  17. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    Так тогда закроют этот процесс который проверяет отсутствие античита=))
     
  18. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    Код (Text):
    1. int _tmain(int argc, _TCHAR* argv[])
    2. {
    3.     STARTUPINFO si;
    4.     PROCESS_INFORMATION pi;
    5.     memset(&si,0,sizeof(si));
    6.     memset(&pi,0,sizeof(pi));
    7.     if(NULL==OpenProcess())
    8.              CreateProcess(античит);
    9.     CreateProcess(argv[0],0,0,0,0,0,0,0,&si,&pi);
    10.     return 0;
    11. }
    И про закрытый античит можно не волноваться
     
  19. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    можно кста античит в dll прилинковать к exe игры. тогда игра без него ещё и запускаццо 'не будеть'. и назвать его dx3d9.dll)
     
  20. RFX

    RFX New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2009
    Сообщения:
    4
    а вот как вставить проверку запущен ли античит, в ланчер игры, если он(ланчер) скомпилированый и исходников нет?) Если поставить эту проверку то можно будет и не мучаться)