Como posso dizer ao Windows para sobrescrever um arquivo de sistema na próxima reinicialização?

0

Em algumas circunstâncias, o Windows precisa substituir arquivos importantes, como csrss.exe e lsass.exe. Como quando as atualizações afetam esses arquivos. Ou quando os arquivos estão corrompidos e reparados com a ferramenta SFC. Como isso é feito sem acabar com os processos e disparar uma tela azul?

Eu tentei adicionar o valor de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations e dar a ele esse valor

\??\C:\csrss.exe
\??\C:\Windows\System32\csrss.exe

Mas quando reiniciei, o valor do registro foi excluído, mas nenhum arquivo foi alterado.

Meu objetivo é poder sobrescrever arquivos desses arquivos com minhas próprias versões modificadas sem usar uma ferramenta externa como um live cd do linux.

Sim, estou ciente de que isso é estúpido. Eu sou totalmente responsável por qualquer dano causado por isso. No entanto, eu ainda quero saber como. Obrigado por qualquer ajuda.

    
por Daffy 01.05.2017 / 05:37

1 resposta

3

Eu descobri o que estou tentando fazer. Eu estava querendo modificar arquivos da maneira que o Windows Update faz. Depois de experimentar, eu encontrei isso.

Crie um arquivo XML com isso.

<?xml version='1.0' encoding='utf-8'?>
<PendingTransaction Version="3.1">
    <POQ postAction="reboot">
        <MoveFile source="\??\C:\csrss.exe" destination="\??\C:\Windows\System32\csrss.exe"/>
    </POQ>
</PendingTransaction>

Em seguida, modifique o valor SetupExecute na chave HKLM\SYSTEM\CurrentControlSet\Control\Session Manager para conter C:\Windows\System32\poqexec.exe /displayprogress \??\[PATH TO XML]

Isso faz com que o Windows processe a "fila de operações primitiva" antes de inicializar.

    
por 01.05.2017 / 07:37