64 비트 컴퓨터에서 프로세스 모니터가 시작되지 않음 모니터를 시작하려고하면 프로세스가 시작되지

일부 64 비트 Windows 7 시스템의 SysInternals에서 프로세스 모니터를 시작하려고하면 프로세스가 시작되지 않습니다. 오류 메시지가 없습니다. 두 번 클릭해도 아무런 변화가 없습니다. 다른 64 비트 Windows 7 컴퓨터는 정상적으로 작동합니다. 어떤 아이디어?



답변

여기 내가 찾은 것이 있습니다. 32 비트 Procmon.exe에는 64 비트 exe가 이진 리소스로 포함되어 있습니다. 32 비트 exe가 시작되면 64 비트 버전을 Procmon64.exe라는 숨겨진 파일로 추출한 다음 실행합니다. 어떤 이유로이 프로세스는 일부 Windows 7 설치에서 실패합니다.

Visual Studio 2010을 사용하여 64 비트 exe를 추출했습니다.

  1. Visual Studio를 열고 파일-> 열기-> 파일 … 메뉴를 사용하여 Procmon.exe 파일을 엽니 다.
  2. 리소스 트리에서 “BINRES”노드를 확장하십시오.
  3. 1308 노드를 마우스 오른쪽 단추로 클릭하고 내보내기 …를 선택하십시오.
  4. 내 보낸 리소스의 이름을 Procmon-64.exe로 지정하고 저장
  5. 추출 된 exe를 실행하십시오.

32 비트 Procmon이 기회를 얻으면 삭제하려고 시도하므로 추출 된 exe Procmon64.exe (하이픈 없음)의 이름을 지정하지 마십시오.

Visual Studio가없는 경우 ResourcesExtract- http: //www.nirsoft.net/utils/resources_extract.html과 같은 Windows 실행 가능 리소스 추출기를 사용 하십시오.


답변

당신의 마음을 날려 보자. procmon.exe를 시작하려면 워크 스테이션 서비스가 실행 중이어야합니다. 그것을 사용하여 무언가를 열거하고 그것 없이는 자동으로 죽습니다.

이것은 어디에도 문서화되어 있지 않으며 꽤 가짜입니다.


답변

나는이 스레드가 오래되었다는 것을 알고 있지만 최근 에이 문제를 보았고 도움이 될 수있는 다른 요소를 발견했습니다. 관리자 권한. 관리자로 로그인하여 실행하면 정상적으로 작동합니다. 비 관리자로 로그인하여 실행하면 문제가 발생하고 추출 된 procmon-64가 동일한 문제를 표시합니다.


답변

임시 폴더에 다음 Perl 스크립트를 넣고 실행하여 ProcMon64.exe를 추출합니다.

use File::Copy;

if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{  for($i=1;$i<1000;$i++)
    {if(-e 'ProcMon64.exe')
      { copy('ProcMon64.exe',$i.'.exe')}
    }
}

다중 실행 후 모두 동일한 수십 개의 사본을 생성합니다 (동일한 CRC32).


답변

ospy 는 ProcMon ALternative입니다. 그것으로 procmon 시작 문제를 해결할 수 있습니다.


답변

환경 변수를 다시 확인하여이 문제를 해결했습니다. %TEMP%이전에 무언가를 추가했는지 여부를 확인할 수 있습니다 . Windows temp를 제외한 다른 폴더를 모두 제거한 다음 다시 부팅하십시오.


답변

Resource Hacker를 사용했습니다. 빈으로 1038을 추출하십시오. .exe를 추가하면 시작하는 것 같습니다.