Lendo dados de conversão do Explorer.exe
-
13-12-2019 - |
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?
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.