시스템 수준 코드를 작성하지 않고도 Windows 프로세스가 시작되는 시기를 감지할 수 있나요?

시스템 수준 코드를 작성하지 않고도 Windows 프로세스가 시작되는 시기를 감지할 수 있나요?

성능 모니터링, WMI 또는 기타 무료 도구를 사용하여 특정 프로세스가 시작되는 시기를 감지하거나 더 나은 방법으로 시작하려고 하는 방법이 있습니까? 그런 다음 해당 프로세스의 진입점 함수에 전달된 명령줄 매개변수를 캡처합니다.

프로세스가 어느 시점에 시작되어 이미 실행 중이라는 사실을 단순히 감지하는 것만으로는 내 요구 사항에 아무런 가치가 없습니다. 디버깅 세션을 위해 Visual Studio가 Chrome을 시작하고 있는데 a) VS가 cmd.exe를 사용하여 Chrome을 시작하는지 또는 VS 내부의 일부 코드를 사용하는지 확인하고 b) VS가 이를 구성하기 위해 Chrome에 전달하는 매개변수가 무엇인지 확인하고 싶습니다. 통합 디버깅을 위해.

아니면 PowerShell을 사용하여 프로세스 이미지(예: .exe 파일)에 일종의 감시 장치를 배치하여 실행을 위해 액세스되는 시기를 확인할 수 있는 방법이 있습니까?

답변1

대상 프로세스 자체뿐만 아니라 프로세스를 시작하는 프로세스를 보고 싶을 가능성이 높습니다.

프로세스 모니터SysInternals가 이를 캡처할 수 있어야 합니다.

Visual Studio 프로세스(및 CMD 및 Chrome에 대해서도 가능)를 필터링하고, VS에서 디버그 시퀀스를 트리거하고, 캡처된 내용을 확인하세요.

SysInternals의 또 다른 옵션은 다음과 같습니다.프로세스 탐색기, 기본적으로 스테로이드의 작업 관리자는 각 프로세스를 시작한 인수를 캡처합니다. VS가 중개자를 시작한 다음 Chrome을 열고 해당 중개자가 Chrome 프로세스의 상위 프로세스로 계속 실행되는 경우 Process Explorer는 전달된 모든 인수를 표시합니다.

관련 정보