- Отслеживать, какая программа запускает определенный процесс?
- 3 ответа
- Метод 1 — WMIC
- Метод 2 — Монитор процесса
- 1. Информация о командной строке в диспетчере задач
- 2. Информация о процессе в Process Explorer
- 3. Приостановка процесса
- 4. Пользовательская программа
- 5. Планировщик заданий
- 6. Инфекционная чистка
- Как узнать, от имени какого пользователя в Windows 10 запущен тот или иной процесс
- Как найти вирус в списке процессов Windows
Отслеживать, какая программа запускает определенный процесс?
Существует определенный процесс, который меня беспокоит, который непрерывно запускается примерно через минуту после его убийства через командную строку или диспетчер задач.
В настоящее время я собираюсь использовать метод Batch-файла каждые 15 секунд, убивая его, если он есть. Тем не менее, я бы очень хотел остановить то, что его запускает.
Существуют ли какие-либо методы для Windows 7 для отслеживания запуска процесса?
3 ответа
Есть вещь, называемая PPID (идентификатор родительского процесса), но относительно «сложно» найти в Windows, потому что это не столбец, отображаемый в диспетчере задач, и я даже не вижу его для столбцов в проводнике процессов.
Два способа сделать это
Оба эти метода довольно быстрые
Метод 1 — WMIC
И это делает остальную часть этого довольно простого
Остальное довольно очевидно.
Итак, давайте предположим, что вы хотите найти, кто запустил calc.exe
и calc.exe вы видите из диспетчера задач, это PID 7384
WMIC показывает ассоциации между PID и PPID. Затем найдите 10896 в диспетчере задач (10896 — это PPID, указанный для идентификатора calc.exe 7384), а в диспетчере задач я вижу, что процесс с PID 10896 — это cmd.exe, который является процессом, который я использовал для запуска calc. exe И действительно, cmd.exe является родительским процессом, который породил calc.exe
Метод 2 — Монитор процесса
Вы можете сделать это на мониторе процесса sysinternals.
нажмите filter..filter в строке меню и добавьте фильтр, фильтрующий имя или путь или PID процесса, например. имя процесса calc.exe или фильтр для пути и введите c: \ windows \ system32 \ calc.exe
Мне удалось использовать имя процесса
>
Сделайте OK .. и файл..capture, если он еще не захвачен.
Дважды щелкните правой кнопкой мыши, чтобы в этом случае загрузилось изображение calc.exe и появилось диалоговое окно свойств, щелкните правильную вкладку, «процесс», и вы увидите PID и PPID (идентификатор родительского процесса).
И, конечно, когда вы знаете PPID, как сейчас, вы можете найти его в диспетчере задач, чтобы узнать, какой процесс породил его.
Если это был процесс, который выполнялся в фоновом режиме, я бы, вероятно, использовал Process Explorer или wmic подходы к процессу, обозначенные —- +: = 2 =: + —- или Barlop . Если процесс является переходным и запускает /выдает очень быстро, оставляя недостаточно времени для выполнения необходимых кликов и нажатий клавиш, я бы использовал Process Monitor, как описано nixda.
Я немного опаздываю на эту вечеринку, но ради завершения:
Другая альтернатива этому (если по какой-либо причине вы не хотите использовать Process Monitor), необходимо использовать встроенное отслеживание процессов. Это можно активировать, выбрав:
Панель управления -> Администрирование -> Локальная политика безопасности -> Локальная политика -> Политика аудита . Если в панели управления нет средств администрирования, другой способ открыть локальную политику безопасности — нажать кнопку «Пуск» и набрать secpol.msc .
Вы должны увидеть несколько параметров аудита, включая отслеживание процессов аудита . Включите это для категории Успех .
>
Теперь в Event Viewer -> Журналы Windows -> Безопасность , вы увидите событие для «создания процесса» (это идентификатор события 4688) и имя /путь создаваемого процесса и поле под названием Идентификатор процесса создания . Это содержит шестнадцатеричное представление PID процесса, который создал этот процесс (его можно легко преобразовать, используя calc.exe в представлении Programmer ).
Несколько возможных предложений попробовать (в случайном порядке), некоторые из которых могут не дать допустимых результатов или ваших попыток уже. Я не пробовал их самостоятельно, поэтому я просто предлагаю идеи, которые другие могут пропустить. Мозговой штурм . Имейте в виду, что большинство моих предложений направлены на устранение проблем, а не на решение его по первопричине. они представляют собой так называемые отчаянные меры или план Z .
1. Информация о командной строке в диспетчере задач
Вы отметили столбец Command в диспетчере задач, предоставил ли он эту информацию? Полагаю, вы уже пробовали это.
2. Информация о процессе в Process Explorer
Если Command пуст, я бы попробовал Process Explorer из SysInternals и посмотрел, получаю ли я больше информации об этом конкретном процессе.
3. Приостановка процесса
Если вы не можете найти корень своей проблемы, вы можете попробовать приостановить процесс, чтобы он все еще присутствовал, но он ничего не делает. Вы можете сделать это либо с помощью Монитора ресурсов
или SysInternals Process Explorer
Неизвестный процесс, который запускает его, скорее всего, проверяет процессы (по имени), и если он видит, что его нет, он запускает его. Если вы приостановите его, он будет существовать, поэтому этот процесс инициализации может не порождать новый экземпляр.
Это может привести к сбою, если в процессе инициализации используются другие средства обнаружения процессов (межпроцессная связь), но этот тип обнаружения процесса намного сложнее, поэтому более легкие варианты выигрывают.
4. Пользовательская программа
Мы можем иметь дело с двумя процессами здесь. Первый , который проверяет существование второго процесса и начинает его (что вы убиваете). Когда второй запускается, вы можете увидеть свою командную строку, но зная, что это не поможет вам даже не запускать ее, и вы скорее можете после первого процесса, который фактически инициирует все. Жесткая удача.
Но поскольку вы, кажется, сообразительны в компьютере, вы можете заменить второй процесс (если известна командная строка) своим собственным исполняемым файлом, который ничего не делает и просто сидит там. Он должен иметь одно и то же имя процесса. Он также может начинаться и заканчиваться сразу же.
Если вы действительно хороши в разработке ОС на низком уровне, вы можете написать второй процесс, чтобы также проверить, кто его запустил, если это возможно. Я не уверен, но Windows API должен предоставить такую информацию. Тогда это приведет вас к корню вашей проблемы.
5. Планировщик заданий
Возможно, ваш процесс не генерируется другими процессами, а определенная заданная задача задания заданий выполняется каждую минуту. Я не уверен, что вы уже проверили это, но это может быть так.
6. Инфекционная чистка
Рассмотрена вирусная инфекция? Попробуйте обнаружить его и очистить.
Как узнать, от имени какого пользователя в Windows 10 запущен тот или иной процесс
Windows 10 является многопользовательской системой, и означает это не только возможность создания в ней нескольких пользовательских профилей, но также и возможность одновременного запуска приложений. Примером тому являются системные службы, работающие под своей особой учетной записью с наивысшими правами, также в Windows могут запускаться на выполнение созданные администратором в планировщике заданий задачи.
А вот и другой пример. Если на компьютере имеется как минимум две активные учетные записи, то, находясь в одной учетке, можно запустить программу от имени другой прямо из контекстного меню Проводника. Для этого при клике ПКМ по ярлыку приложения нужно зажать клавишу Shift и выбрать в меню опцию запуска от имени другого пользователя. Как узнать, какой именно пользователь запустил тот или иной процесс? Есть два способа это сделать: с помощью Диспетчера задач и с помощью командной строки.
Первый способ самый простой. Откройте Диспетчер задач, переключитесь на вкладку «Подробности», найдите интересующий вас процесс и посмотрите связанное с ним имя пользователя в одноименной колонке слева.
Перейти к нужному процессу на вкладке «Подробно» можно также из основной вкладки «Процессы», если кликнуть по нему правой кнопкой мыши и выбрать «Подробно».
Способ с командной строкой столь же прост, но не столь же удобен.
Запустите консоль CMD от имени администратора и выполните в ней команду tasklist /V | more .
При этом вы получите структурированный список всех работающих в системе процессов. Крайняя справа колонка как раз будет содержать полное имя пользователя, запустившего тот или иной процесс. Например, имя учетной записи, запустившей системные процессы будет выглядеть как NT AUTHORITY/СИСТЕМА , а процессы, запущенные встроенным администратором и прочими пользователями как Имя_Компьютера/Имя_пользователя .
Как найти вирус в списке процессов Windows
Когда в системе что-то не так или просто хочется проконтролировать эффективность установленного на компьютере антивируса, мы обычно нажимаем три заветные клавиши Ctrl, Alt, Del и запускаем Диспетчер задач, надеясь обнаружить вирус в списке процессов. Но в нем мы видим лишь большое количество работающих на компьютере программ, каждая из которых представлена своим процессом. И где же тут скрывается вирус? Ответить на этот вопрос вам поможет наша сегодняшняя статья
Для того чтобы определить, есть вирус в процессах или его там нет, нужно очень внимательно вглядеться в список процессов. В операционной системе Windows Vista в обязательном порядке нажмите кнопочку «Отображать процессы всех пользователей», иначе вы толком ничего и не увидите. Прежде всего, обратите внимание на описание процесса в столбике «Описание». Если описания нет или оно какое-то «корявенькое», это должно вас насторожить. Ведь разработчики программ имеют привычку подписывать свои творения на понятном русском или английском языках.
Отметив взглядом процессы с подозрительным описанием, обращаем взор на следующий столбик – «Пользователь». Вирусы обычно запускаются от имени пользователя, реже в виде служб и от имени системы — SYSTEM, LOCAL SERVICE или NETWORK SERVICE.
Итак, найдя процесс с подозрительным описанием, запускаемый от имени пользователя или непонятно от чьего имени, щелкните нему правой кнопкой мышки и в появившемся контекстном меню выберите пункт «Свойства». Откроется окошко со свойствами программы, которая запустила данный процесс. Особое внимание обратите на вкладку «Подробно», где указана информация о разработчике, версии файла и его описание, а также на пункт «Размещение» вкладки «Общие» — здесь указан путь к запущенной программе.
Если путь «Размещение» ведет в каталог Temp, Temporary Internet Files или еще в какое-либо подозрительное место (например, в папку некой программы каталога Program Files, но вы уверены, что такую программу вы не устанавливали), то, ВОЗМОЖНО, данный процесс принадлежит вирусу. Но все это лишь наши догадки, за подробной информацией, конечно же, лучше обратиться к интернету. Неплохие списки процессов есть на сайтах what-process.com http://www.tasklist.org и http://www.processlist.com . Если после всех поисков ваши опасения на счет подозрительного процесса подтвердятся, можете радоваться – на вашем компьютере поселился вирус, троян или другой зловред, которого нужно срочно ликвидировать.
Но окошко со свойствами запустившего процесс файла из Диспетчера задач может и не открыться. Поэтому помимо стандартных средств Windows нужно пользоваться различными полезными утилитами, способными выдать максимум информации о подозрительном процессе. Одну из таких программ – Starter – мы уже рассматривали (http://www.yachaynik.ru/content/view/88/).
В Starter на вкладкее«Процессы» представлена исчерпывающая информация о выделенном процессе: описание программы и имя файла, который запустил процесс, информация о разработчике, список модулей (программных компонентов), задействованных процессом.
Таким образом, нет нужды копаться в свойствах файла, запустившего процесс – всё и так, как на ладони. Тем не менее, это не мешает щелкнуть по подозрительному процессу правой кнопкой мышки и выбрать «Свойства», чтобы получить доскональные сведения о файле процесса в отдельном окошке.
Чтобы попасть в папку программы, который принадлежит процесс, щелкните по названию процесса правой кнопкой мыши и выберите «Проводник в папку процесса».
Но самая удобная опция в Starter – возможность начать поиск информации о процессе прямо из окна программы. Для этого щелкните правой кнопкой мышки по процессу и выберите «Искать в Интернет».
После того, как вы получите полную информацию о файле, запустившем процесс, его разработчике, назначении и мнение о процессе в сети интернет, сможете достаточно точно определить – вирус перед вами или мирная программа-трудяга. Здесь действует тот же принцип, что и в Диспетчере задач. Подозрительны те процессы и модули процессов, для которых не указан разработчик, в описании которых ничего нет либо написано что-то невнятное, процесс или задействованные им модули запускаются из подозрительной папки. Например, Temp, Temporary Internet Files или из папки в Program Files, но вы точно помните, что указанную там программу вы не устанавливали. И, наконец, если в интернете четко сказано, что данный процесс принадлежит вирусу, радуйтесь – зловреду не удалось спрятаться от вас!
Одно из самых распространенных заблуждений начинающих чайников касается процесса svchost.exe. Пишется он именно так и никак иначе: svshost.exe, scvhost.exe, cvshost.exe и другие вариации на эту тему – вирусы, маскирующиеся под хороший процесс, который, кстати, принадлежит службам Windows. Точнее, один процесс svchost.exe может запускать сразу несколько системных служб. Поскольку служб у операционной системы много и все они нужны ей, процессов svchost.exe тоже много.
В Windows XP процессов svchost.exe должно быть не более шести. Пять процессов svchost.exe – нормально, а вот уже семь – стопроцентная гарантия, что на вашем компьютере поселился зловред. В Windows Vista процессов svchost.exe больше шести. У меня, к примеру, их четырнадцать. Но и системных служб в Windows Vista намного больше, чем в предыдущей версии этой ОС.
Узнать, какие именно службы запускаются процессом svchost.exe, вам поможет другая полезная утилита – Process Explorer. Скачать последнюю версию Process Explorer вы можете с официального сайта Microsoft: technet.microsoft.com
Process Explorer выдаст вам описание процесса, запустившую его программу, наименование разработчика и множество полезной технической информации, понятной разве что программистам.
Наведите мышку на имя интересующего вас процесса, и вы увидите путь к файлу, запустившему данный процесс.
А для svchost.exe Process Explorer покажет полный перечень служб, относящихся к выделенному процессу. Один процесс svchost.exe может запускать несколько служб или всего одну.
Чтобы увидеть свойства файла, запустившего процесс, щелкните по интересующему вас процессу правой кнопкой мышки и выберите «Properties» («Свойства»).
Для поиска информации о процессе в интернете при помощи поисковой системы Google, просто щелкните по названию процесса правой кнопкой мыши и выберите «Google».
Как и ранее, подозрения должны вызвать процессы без описания, без наименования разработчика, запускающиеся из временных папок (Temp, Temporary Internet Files) или из папки программы, которую вы не устанавливали, а также идентифицируемые в интернете как вирусы.
И помните, для качественно работы программ Process Explorer и Starter в Windows Vista, их нужно запускать с административными правами: щелкните по исполняемому файлу программы правой кнопкой мышки и выберите «Запуск от имени администратора».