A cópia de c:\windows\regedit.exe falha

A cópia de c:\windows\regedit.exe falha

Esta noite me deparei com um fenômeno estranho no win7 (64 bits pro). Quando copio regedit.exe para, por exemplo, c:\ não consigo mais executá-lo. Simplesmente não inicia mais. Quando tento depurá-lo com olly db, olly diz que não há mais arquivo pe válido de 32 bits. Uma análise mais detalhada revela que o arquivo está de alguma forma embaralhado/realinhado. O cabeçalho PE é movido 8 bytes para trás. As seções rdata e pdata aparecem do nada.

O que o hack está acontecendo aqui?

Felicidades, janeiro

Responder1

Não é um arquivo válido de 32 bits porque C:\Windows\regedit.exeé um executável de 64 bits. A versão de 32 bits é C:\Windows\SysWow64\regedit.exe.

Posso confirmar que nenhum dos dois será executado se for copiado do local padrão.

Win7 faz mágica nos bastidores. Se você executar o regedit a partir de um processo de 32 bits, obterá o exe de 32 bits do C:\Windows\SysWow64. Se você executar a partir de um processo de 64 bits, obterá aquele em C:\Windows. Então, quando o seu depurador de 32 bits pensa que está depurando, C:\Windows\regedit.exena verdade ele tem arquivos C:\Windows\SysWow64\regedit.exe. Quando você copia o regedit.exe, C:\Windowso redirecionamento não ocorre e seu depurador de 32 bits possui o exe de 64 bits - daí a aparente mudança.

Responder2

Ao copiar regedit.exe, você deve copiar também seu .muiarquivo localizado em uma culturesubpasta (por exemplo fr-FR\regedit.exe.mui, ), caso contrário ele não iniciará.

Responder3

Várias ferramentas no NT6 são estúpidas assim, elas não serão executadas sem seus arquivos MUI (provavelmente na pasta en-us).

Certa vez, hackeei o regedit para rodar sem ser elevado como administrador e tive que lutar até o fim para que a cópia hackeada fosse executada e não me lembro dos detalhes exatos do que tive que fazer ...

informação relacionada