На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Перехват запуска программ
    [удалено модератором] Нужно определить посредством ПЕРЕХВАТА АПИшных функций запуск нового приложения в системе. Как это лучше реализовать? Очень нужно. Заранее СПАСИБО.

    Эта тема была разделена из темы "Внедрение библиотеки в чужой процесс"
      На чистом VB никак
        [удалено модератором]
        Перехват функций в windows нету. Есть издевательство, которое не применяется не в одной нормальной программе.
        Все серьезные программы юзают специальную возможность в windows для отлова создания процессов, но из VB это возможность недоступна, совсем.
        Это мне напоминает маразм из области "скрыть процесс от диспетчера задач". Куча статей по всему инету на эту тему - и ни один антивирус от диспетчера не спасается. Почему? Нежуели потому что их создатели не знают про такую возможнность? А может просто понимают, что это никогда не нужно(благо для программиста всегда открыты такие фичи как, к примеру, системные потоки, отложенные вызовы и куча чего еще, которые итак нигде не отображаются)
        Сообщение отредактировано: SCINER -
          Чисто в самообразовательных целях:
          А можно поподробнее про
          Цитата ANDLL @
          специальную возможность в windows для отлова создания процессов

          Или хотя бы как эта возможность называется (уж не создавать ли для этого драйвер режима ядра?), чтобы можно было поискать инфу.
          Сообщение отредактировано: G-Hex -
            Для G-Hex. Посмотри, очень интересно http://www.wasm.ru/article.php?article=apihook_1

            Спасибо за ответы. Буду рыть дальше.
              Цитата G-Hex @
              уж не создавать ли для этого драйвер режима ядра
              Разумеется, создавать :) Есть причины, по которым таие вещи не делаются в для обычных пржек.
              Функция PsSetCreateProcessNotifyRoutine(Ex)
                ANDLL
                Пусть оффтоп, но что имеет в виду AVZ когда пишет что функция перехвачена?
                  Цитата Nerey @
                  ANDLL
                  Пусть оффтоп, но что имеет в виду AVZ когда пишет что функция перехвачена?

                  Много чего. К примеру:
                  - Изменилась таблица импорта
                  - Изменилось тело ф-ции (первые байты ф-ции изменили на jmp MyFunction)
                  И т.д.
                  Суть в том, что _правильного_ способа перехвата не существует. Существует множество кривых и неправильных (правда, работающих), но корректных не существует и существовать не может в силу специфики работы данного механизма.
                    Чуть более ясно. А изменение таблицы импорта не есть наиболее чистый способ?
                      Ндас...Ответы поставили меня совсем в тупик. А именно слово "ДРАЙВЕР". Может вопрос не сюда, но может на Делфи кто-то знает решение.... :wall:
                        Кстати пример по использованию PsSetCreateProcessNotifyRoutine http://www.codeproject.com/threads/procmon.asp
                        прадва на C++, но такова уж реальность VB программистов, что некоторые примеры можно найти только на ругих языках :)
                          Сложность написания дравйвера не в знании языка. Выучить C++ куда проще, чем научится писать системные тулзы. Отслыки типа "такова уж реальность VB программистов" это какаято бердятина

                          Добавлено
                          Цитата ANDLL @
                          [удалено иодерптором]
                          Йоптдераторам пора уже научится ставить галочку "отредактировано", это не моё желание, это требование выскоих чинов, занесенное в faq

                          Добавлено
                          Цитата Nerey @
                          А изменение таблицы импорта не есть наиболее чистый способ?
                          Конкретно создание процесса вообще никак нельзя перехватить в пользовательском режиме - я могу тупо запихать нужные параметры в стек и вызвать sysenter - расскажите как будете перехватывать? И вообще да, ничего чистого тут нет, хотя наверное это лучше чем переписывание ее кода.

                          Добавлено
                          http://www.experts-exchange.com/Programming/Misc/Q_21260270.html
                          Как вы думаете, много этот сайт зарабатывает?
                            Йоптдератор очень торопился :whistle:.
                              Цитата ANDLL @
                              Конкретно создание процесса вообще никак нельзя перехватить в пользовательском режиме - я могу тупо запихать нужные параметры в стек и вызвать sysenter - расскажите как будете перехватывать? И вообще да, ничего чистого тут нет, хотя наверное это лучше чем переписывание ее кода.

                              По-моему такие извращения не нужны автору темы.
                                Спасибо всем за ответы. Нашел решение в Делфи. Это перехват CreateThread. Пытался CreateProcess, но там какие-то бока с передачей дальше (после хука) параметров. Указатели всякие и т.п.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0549 ]   [ 16 queries used ]   [ Generated: 5.12.24, 17:09 GMT ]