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

Вниз

Процесс запуска EXE-файла   Найти похожие ветки 

 
fester   (2004-11-17 14:42) [0]

Есть файл 1.exe. Как отловить его запуск и перед запуском 1.exe выполнить какой-либо код.


 
TUser ©   (2004-11-17 14:44) [1]

поставить хук на вызов апи функций
подменить сам 1.exe

ps. не пиши вирусов


 
Игорь Шевченко ©   (2004-11-17 14:49) [2]

Через реестр


 
fester   (2004-11-17 16:21) [3]

это не вирус, хук на какое сообщение, я не могу найти wm_...


 
Digitman ©   (2004-11-17 17:03) [4]


> fester   (17.11.04 16:21) [3]
> это не вирус, хук на какое сообщение, я не могу найти wm_...


какое нафих сообщение, если стартуемый процесс не является GUI-процессом ?

в общем случае решение единственное - kernel-mode driver
примеры - на wasm.ru


 
fester   (2004-11-17 17:26) [5]

Digitman. тогда подскажи как делать? я наверно не догоняю.....


 
Digitman ©   (2004-11-17 17:37) [6]


> fester   (17.11.04 17:26) [5]


упомянутый wasm.ru тебе ни о чем не говорит ?
жми туда и ищи пример !


 
Anatoly Podgoretsky ©   (2004-11-17 17:39) [7]

Зачем его отлавливать, можно можно обойтись командным файлом?


 
Digitman ©   (2004-11-17 17:45) [8]


> Anatoly Podgoretsky ©   (17.11.04 17:39) [7]


"ловцов"-то тут разных - по пояс и выше) ... проблемы в том, что как правило мало кто из них в состоянии вразумительно пояснить хотя бы что значит "процесс", что значит "отловить"..


 
fester   (2004-11-17 18:13) [9]

Такие люди отвечают :)) Ничего плохого замутить не хочу :)) Рихтера читали, и чем отличается процесс от потока знаем :))Вот возможно ли "отловить"запуск процесса мы не знаем :(( Надо не допустить запуск определенной программы.....выполнить действия до запуска


 
Digitman ©   (2004-11-17 18:18) [10]


> fester   (17.11.04 18:13) [9]


так..

прекращай клоунаду.

истина лежит вблизи ф-ции

PsSetCreateProcessNotifyRoutine()


 
fester   (2004-11-17 18:48) [11]

Спасибо....это для друга :)) wasm - любимый ресурс, особннно нравится "дао программизма" :)) Жаль с асмом разбираться лень :))


 
DelphiN! ©   (2004-11-19 08:29) [12]

HKEY_CLASSES_ROOT\EXEFILE
                ...


 
vovchik   (2004-11-19 08:48) [13]

Digitman
истина лежит вблизи ф-ции

PsSetCreateProcessNotifyRoutine()

Эта функция работает только для запуска драйверов.
----------------------------------------------------

DelphiN!
HKEY_CLASSES_ROOT\EXEFILE

если делать проверку этой ветки, то надо каждую долю времени проверять, а это нагрузка на память. Или может я не то думаю???


 
Alekc   (2004-11-19 17:28) [14]


> HKEY_CLASSES_ROOT\EXEFILE
>
> если делать проверку этой ветки, то надо каждую долю времени
> проверять, а это нагрузка на память. Или может я не то думаю???

Там можно указать обработчик файлов типа "exe", т.е. твоя прога будет вызываться перед перед запуском любого exe-файла... Но если ты потом свой exe нечаянно удалишь, или он будет работать неправильно, то случится *опа...


 
Ihor Osov'yak ©   (2004-11-19 18:47) [15]

Первый вариант - PsSetCreateProcessNotifyRoutine - уже упоминали - см. [10].

Есть еще один способ, не совсем очевидный  - драйвер-фильтр файловой системы и отслеживание IRP_MJ_CREATE с последующим анализом
currentIrpStack->Parameters.Create.SecurityContext->DesiredAccess на предмет наличия флажка FILE_EXECUTE. Преимущество этого способа по сравнению с вариантом из [10] - то, что мы получаем нотификацию "до того" и есть возможность отменить запуск процесса, а также то, что мы получаем нотификацию не только об "откритии" основного файла, а и нотификацию об отображении всех подгружаемых длл для соотв. процесса.


 
Ihor Osov'yak ©   (2004-11-19 18:51) [16]

ах, да, сори в 15 речь вообще об контроле запуска любого процесса. Если нужно отслеживать запуск конкретного процесса (1.exe)- то есть возможность зарегистрировать свою программу как отладчик этого процесса.. Ньюансов не помню, в документацию лень смотреть - поищите что-то вокруг отладки сервисов - этот прием один из возможных вариантов отладки сервисов - как правило, в faq о написании сервисов конкретно указывается, что нужно прописать в реестри, чтобы стать отладчиком для соотв. исполнительного файла..



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

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

Наверх





Память: 0.48 MB
Время: 0.035 c
1-1103795423
TUser
2004-12-23 12:50
2005.01.09
Как может оптимизатор пропускать такое?


1-1103649058
dance
2004-12-21 20:10
2005.01.09
Синхронизация потоков


3-1102538410
stalk001
2004-12-08 23:40
2005.01.09
количество строк в dbgride


1-1103699242
MakNik
2004-12-22 10:07
2005.01.09
RadioGroup


14-1103625332
Мой вопрос такой
2004-12-21 13:35
2005.01.09
Разминка для ума, чего больше, звезд на небе или кол-во





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский