![]() |
Нарушение иерархии процессов
Пусть есть процесс #1. Он создаёт процесс #2. Но через 2 секунды #1 убивается вместе с потомками, т.е. с #2. А хочется, чтобы вотрой процесс остался... И, собственно говоря, вопрос: как сделать так, чтобы процесс #2 не считал процесс #1 своим предком?
|
если сделать промежуток не 2 сек а прикинем хотя бы 10 то можно воспользоваться прогой Hidepro (HideProcess)...
|
создать отдельный просецц с перви4ным потоком
|
ProTeuS, так вот в этом то и вопрос:
Как на API присвоить процессу первичный поток? |
CreateThread();... без указания процесса-родителя
|
CreateThread() создает поток внутри порождающего процесса.
Чтобы создать независимый процесс надо вызывать CreateProccess(); |
рас уж тема про процессы : есть у кого пример на C# инжекта своего процесса в адресное пространчтво другого процесса?
|
Jes
http://hellknights.void.ru/releases/0x48k-blacksun-rcs-v10prebeta.rar смотир исходники, там есть. переделать на C# не составляет труда |
Если процесс #1 создаст процесс #3, который в свою очередь создаст процесс #2 а сам сразу же прекратит существование, то процесс #2 не будет считать процесс #1 своим предком
|
Цитата:
|
Итак, вот он - гениальный работающий способ: пишем батник со строкой типа @start calc.exe и запускаем из программы этот батник. Всё!=)
|
мда :/
api + shellExecute ? |
Цитата:
CreateProcess() с cmd.exe, параметрами и скрытым окном и то уж проще ... |
да не работает CreateProcess() с inherit_handles=false - Process Explorer наглядно рисует, что чем создано.
|
Цитата:
Код:
procedure StartProcess(const sName:ansistring); |
Да тоже самое всё... просто разные вариации на тему:) А, по-хорошему, записать всё равно что-нибудь надо будет... А cmd в 9x не прокатит..
|
| Время: 08:31 |