O Process Monitor falha ao iniciar em um computador de 64 bits

23

Quando eu tento iniciar o Process Monitor da SysInternals em algumas máquinas Windows 7 de 64 bits, o processo falha ao iniciar. Não há nenhuma mensagem de erro. Eu clico duas vezes e nada acontece. Outras janelas de 64 bits 7 computadores funcionam bem. Alguma idéia?

    
por Ryan Michela 14.12.2011 / 22:52

7 respostas

33

Aqui está o que eu encontrei. O Procmon.exe de 32 bits contém o exe de 64 bits dentro dele como um recurso binário. Quando o exe de 32 bits é iniciado, ele extrai a versão de 64 bits para um arquivo oculto chamado Procmon64.exe e, em seguida, executa isso. Por algum motivo, este processo falha em algumas instalações do Windows 7.

Consegui extrair o exe de 64 bits usando o Visual Studio 2010.

  1. Abra o Visual Studio e abra o arquivo Procmon.exe usando o menu Arquivo- > Abrir- > Arquivo ...
  2. Na árvore de recursos, expanda o nó "BINRES"
  3. Clique com o botão direito do mouse no nó 1308 e selecione Exportar ...
  4. Nomeie o recurso exportado Procmon-64.exe e salve
  5. Executar o exe extraído

Não nomeie o Procmon64.exe exe extraído (sem hífen) porque o Procmon de 32 bits tentará excluí-lo se tiver a chance.

Se você não tiver o Visual Studio, use um extrator de recursos executáveis do Windows como o ResourcesExtract - link

    
por 14.12.2011 / 22:52
5

Deixe-me explodir sua mente. procmon.exe REQUES Serviço de estação de trabalho em execução para poder iniciar. Usa-o para enumerar algo e morrerá silenciosamente sem ele.

Isso não é documentado em lugar algum e é muito falso.

    
por 12.02.2016 / 18:40
2

Eu sei que esse segmento já passou algum tempo, mas acabei de ver esse problema recentemente e notei outro fator que pode ser útil. Direito de administrador. Se eu fizer login como administrador e executá-lo, tudo funcionará bem. Se logar como não-admin e executá-lo, o problema acontece e o procmon-64 extraído mostra o mesmo problema.

    
por 11.01.2014 / 01:50
2

Consigo extrair o ProcMon64.exe com o próximo script Perl colocado e executado na pasta temp.

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')}
    }
}

Após múltiplas execuções, ele cria dezenas de copes que são todos iguais (o mesmo CRC32)

    
por 22.09.2015 / 11:17
0

ospy é uma alternativa ao ProcMon. Você poderia tentar solucionar problemas de inicialização do procmon com isso.

    
por 24.12.2014 / 17:01
0

Corrigi esse problema verificando novamente minhas variáveis de ambiente. Você pode verificar %TEMP% para ver se alguma vez adicionou alguma coisa dentro dela antes. Remova todas as outras pastas, exceto a temperatura do Windows e reinicie.

    
por 18.07.2016 / 16:36
-2

Eu usei o Resource Hacker. Extraia 1038 como bin. add .exe e parece começar.

    
por 08.01.2017 / 03:11