Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Вниз

Запрет запуска дочерных процессов.   Найти похожие ветки 

 
Vitan   (2005-12-14 02:08) [0]

Как сделать сабж для своего приложения, был бы благодарен за наводку...
--
Делать перехват ShellExecute и ему подобных не охота, так как не уверен, что это гут, тем более не уверен, что это то, что нужно - так как сыр бор из-за того, что просто напросто нужно отучить от запуска дочерних процессов одну длл, исходников которой нет,  а запус она по всей видимости делает по линии COM..

Да, вариант только для NT/XP тоже устроит, так что конкретные пинки в сторону становки всяких там прав в рантайме также приветсвуются...

Спасибо.


 
Slym ©   (2005-12-14 05:32) [1]

1. Берем дизасемблер или Отладчик (SoftIce например)...
2. Дизасемблируем эту dll...
3. Ищем вызовы ShellExecute или если COM CreateOleObj...
4. если есть условный переход, то инверсируем его или заменяем вызов на nop"ы
5. проверяем :)


 
Васяня   (2005-12-14 05:42) [2]


> Slym ©

ИМХО не факт... ты же на знаешь что делать длл... представь, например, что кодеры создающие эту библиотеку продумали этот вариант, и (ну поскольку мы не знешь что делает длл, предположим что она решает факториал) решение самого факториала происходит в теле стороннего процесса, конечно обсурд, но может же быть все :) То есть ты вызываешь функцию FACT(T: Integer): Int64; а эта функция находится с обработчике OnCreate всплывающего банера... тогда надо залазить в сам дочерний процесс его полностью дебагить и ставить джампы тем самым обрезая всплывающие окна и прочее...

З.Ы. я к тому что твой 4 пункт немножко разрастется :)


 
Slym ©   (2005-12-14 06:00) [3]

Васяня   (14.12.05 5:42) [2]
обработчике

Задача "незапускать дочерний процесс"... в постом случае решается так...
Судя по всему это аддон-банер или ссылка в инет...
Я не рассматривал вариантов когда dll:
1. упакована или шифрована.
2. Имеется проверка контрольной суммы или другая проверка целостности.
3. Когда имеются запутывание кода и множественный вызов "нежелательного" действия по коду DLL.
Все это в лоб (1 nop"ом) не решить!


 
Васяня   (2005-12-14 06:14) [4]


> Все это в лоб (1 nop"ом) не решить!

Совершенно прав :) А вообще самай лучшый подход попробовать портировать те процедуры / функции что он использует в библиотеке в делфи... но тут без знания ассемблера не обойтись :)


 
Vitan   (2005-12-14 10:46) [5]

2 Slym

Я, конечно, благодарен за желание помочь, но я все же писал "Делать перехват ShellExecute и ему подобных не охота,"

> Судя по всему это аддон-банер или ссылка в инет...

да, что-то  из этой парафии.


 
Игорь Шевченко ©   (2005-12-14 10:47) [6]


> Как сделать сабж для своего приложения


Посмотреть в сторону объектов Job ? Там много всяких разных запретов


 
Vitan   (2005-12-14 11:05) [7]

Игорь Шевченко, чувствую что то, что нужно.. Но еще бы 2-3 умных слова с этой парафии, чтобы немного более конкретно с гуглом поговорить можно было бы..


 
Игорь Шевченко ©   (2005-12-14 11:34) [8]


> Но еще бы 2-3 умных слова


Job objects


 
Vitan   (2005-12-14 15:16) [9]

Игорь Шевченко, в общем то с помощью SetInformationJobObject + JOB_OBJECT_LIMIT_ACTIVE_PROCESS ограничение было наложено.. Спасибо за подсказку...

Но. Дело оказалось немного не в том... Адваре банер запускается в IE, родителельским процессом для которого есть svchost :-(.
Единственное, что удалось заметить, что такие IE запускаются с ключом
-embeddded (параметр коммандной строки), для штатно запущенных IE такой ключ отсутсвует...
Понятно, можно периодически сканировать список процессов и убивать IE, для которых родительским процессом есть svchost и есть в наличии ключ
-embeddded, но что-то не охота.. Некрасиво, да и не факт, что не убью чего-то лишнего.. Можно ловить новые окна на уровне системы и анализировать процесс (на предмет IE, svchost, -embeddded) - но снова чисто субьективно что-то не то. Должно же быть менее хацкеское решение...

  Как бы  можно было бы решить эту проблему (запуска нежелательного ИЕ)?
Решения интересует на уровне собственного кода, то есь программные, настройка фаервола как вариант решения в силу определенных причин не проходит...


 
Vitan   (2005-12-14 15:23) [10]

- embeddded,
извиняюсь - embedded


 
Игорь Шевченко ©   (2005-12-14 15:38) [11]

Vitan   (14.12.05 15:16) [9]

Я бы запретил сервис :) Я бы посмотрел Process Explorer"ом Руссиновича (http://www.sysinternals.com) какие сервисы зарегистрированы в этом процессе svchost и запретил бы запуск конкретной службы, которая запускает IE c ключом -embedded


 
Vitan   (2005-12-14 17:06) [12]

Вот какая вещь... Не всегда IE запускается под svchost, иногда и нормально..
Но вот что удалось заметить - при приостановке процессов соотв. IE (тем же Process Explorer"ом Руссиновича) основное приложение также останавливается, то есть между ними какаято-связь есть.. Вот чем эту связь отследить - пока не соображу.. На основании этой связи наверное и принималось бы решение о прибеение соотв. ИЕ, в идеале - на взлете последней бы..
Какую-то б утилиту, что показывала бы совместно используемые ресурсы или обекты между двумя просесами.. Размечтался...


 
Игорь Шевченко ©   (2005-12-14 17:15) [13]

Можно, например, включить аудит процессов и посмотреть, кто именно запускает IE.


 
Slym ©   (2005-12-15 10:50) [14]

Переименуй IE или удали...
Связь ты сам установил: Job :)


 
Набережных С. ©   (2005-12-15 12:38) [15]


> Vitan   (14.12.05 15:23) [10]
> - embeddded,
> извиняюсь - embedded

Может быть, embedding .Тогда это  означает, что IE запускается как СОМ-сервер, отсюда и родитель svc-host. А в этом случае jobs не помогут:(



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
2-1140265408
BaBayka007
2006-02-18 15:23
2006.03.05
Цикл?.... а вот как - что-то совсем у меня ни как.....:)


2-1140251499
Vandet
2006-02-18 11:31
2006.03.05
Здравствуйте помогите пожалуйста


1-1138703043
API
2006-01-31 13:24
2006.03.05
Эффект сворачивания окна (анимация)


4-1134515286
Vitan
2005-12-14 02:08
2006.03.05
Запрет запуска дочерных процессов.


15-1139565712
Koala
2006-02-10 13:01
2006.03.05
Планшет? какой выбрать....?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский