Pergunta

Estou tentando fazer uma pequena conexão IAT no explorer.exe.Especificações:Windows 7 x64, Visual C++.Cheguei a um ponto em que sou capaz de ler dados de conversão de qualquer executável de minha escolha, exceto C:\Windows\Explorer.exe.Quando executo meu programa, recebo uma violação de acesso na leitura da memória desse executável.No entanto, quando executo isso em C:\Windows\system32\Explorer.exe e C:\Windows\sysWOW64\Explorer.exe não tenho problemas.Por que é isso?C:\Windows\Explorer.exe é algum tipo de link simbólico para um dos outros explorer.exe?O que poderia estar me impedindo de ler este arquivo?

Foi útil?

Solução

No meu sistema Windows 7 x64 C:\windows\explorer.exe é um binário de 64 bits, PE32+ formato, enquanto c:\windows\syswow64\explorer.exe é um binário de 32 bits, PE32 formatar.Seu aplicativo foi projetado para ler ambos PE32 e PE32+ formatos?

E ao abrir C:\Windows\System32\Explorer.exe de um processo de 32 bits que é um redirecionamento para o c:\windows\syswow64\explorer.exe cópia de.De um processo de 64 bits c:\windows\system32\explorer.exe não existe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top