[BUZZ] Erro STOP: 0xc0000221

#manutenção

O cliente chamou reportando que o computador ficava inicializando permanentemente. Chegando lá, desativei a inicialização automática e a mensagem de erro era:

Stop: c0000221

A imagem RPCRT4.dll está corrompida

Tentei o Modo de Segurança, mas nem assim entrava.

Dei boot via CD com o "mini XP" do Hiren's, renomeei o arquivo problemático e copiei no seu lugar a cópia de segurança encontrada em %windir%system32 dllcache.

Mesmo problema.

Novo boot com o mini XP. Mandei localizar todas as cópias de rpcrt4.dll no HDD do cliente. Existiam várias, de backups dos patches feitos pela MS. A cópia corrompida era de 07/10 então eu escolhi a cópia mais próxima, de 2009, e coloquei no lugar.

Problema resolvido. Ao menos por enquanto.

Eu chequei o CRC das duas cópias corrompidas de rpcrt4.dll e elas eram idênticas. Os possíveis cenários em que isso pode acontecer são complicados. Se, de alguma maneira, a versão que eu encontrei era legítima mas incompatível (fora de sincronismo) com algo instalado posteriormente, é possível que um futuro update faça o problema voltar.

Não encontrei nenhum indício evidente de vírus. A máquina vai ficar em observação.

Tempo que levei até deixar o Windows operando novamente: 25 minutos. Gastei o resto da hora a que o cliente tinha direito analisando as possíveis causas do problema.

10 comentários
  • Num caso como esse eu testaria o HD com o software do fabricante, pois já vi coisa parecida ser causada por cluster defeituoso (o cliente tinha a velha mania de desligar o computador na marra, sem ser pelo sistema operacional). O HDD Regenerator (como o Jefferson já comentou) pode resolver o problema, se for o HD mesmo.

  • Jefferson - 6.606 Comentários

    Wagner, duas cópias distintas do mesmo arquivo deram o mesmo CRC. A probabilidade disso ocorrer por problema no HDD é, para todos os efeitos práticos, zero.

    E, como eu suspeitava, o problema aconteceu de novo. O cliente disse que estava trabalhando e o PC voltou a reiniciar em loop.

    Chegando lá constatei que minha modificação tinha sido revertida. Tanto a cópia de rpcrt4.dll em %windir%system32 quanto o seu backup em %windir%system32dllcache tinham voltado a ser as com data de 2010. Coloquei de novo as versões de 2009 e o PC voltou a iniciar normalmente.

    No primeiro boot bem sucedido, apareceu uma mensagem dizendo que uma atualização importante havia sido instalada que havia requerido o reinício automático do sistema. Conferi a configuração e esse PC estava programado para baixar a atualizações e aplicar automaticamente todo dia às 15h. O cliente me ligara por volta das 15h30m.

    Confirmado. O problema estava sendo provocado pelas atualizações automáticas. O novo rpcrt4.dll está conflitando com outra coisa instalada no PC. Não está descartada a hipóstese do conflito ser com um malware.

    Deliguei as atualizações, claro. Não gosto delas mesmo. ;)

    https://jefferson-ryan.blogspot.com/2008/12/por-que-no-gosto-de-atualizaes.html

  • Jefferson - 6.606 Comentários

    A hipótese de malware ganha força:

    rpcrt4.dll causando problemas

    Tamanho: 590.848

    Data: 22/07/2010

    CRC32: 4DF6EEE0

    Compactado com Winzip fica com 589 bytes (WTF!!!!).

    Fiz uma busca por cópias de rpcrt4.dll no meu PC principal. Encontrei uma de mesma data no backup de uma cliente.

    Tamanho: 590.848

    Data: 22/07/2010

    CRC32: 1EA9F5C4

    Compactado com Winzip fica com 345.680 bytes (normal).

    Minha teoria no momento é que um malware está interceptando o update e substituindo o rpcrt4.dll por um "stub" de mesmo tamanho e data para não chamar atenção, que por sua vez executa o resto do malware.

  • Jefferson - 6.606 Comentários

    Submeti o arquivo suspeito ao Virustotal, que reportou 0/42 (0%).

    Muito estranho.

  • Jefferson - 6.606 Comentários

    Além das duas cópias usuais, ainda haviam duas cópias do mesmo arquivo (mesmo CRC) em

    %windir%$hf_mig$KB982802SP3QFE

    %windir%SoftwareDistributionDownload79205212168b6b30197dc7641f8b512dsp3gdr

    %windir%SoftwareDistributionDownload79205212168b6b30197dc7641f8b512dsp3qfe

    Seria possível que a cópia em %windir%$hf_mig$KB982802SP3QFE esteja corrompida e o Windows esteja tentando reaplicá-la a cada atualização? Não sei o suficiente sobre o mecanismo de atualizações para determinar isso, mas ou o Windows está fazendo isso ou há um malware bem esperto nesta máquina.

    A propósito, KB982802 é descrita aqui:

    http://support.microsoft.com/kb/982802

    Curiosamente, a MS cita toda a árvore genealógica de cada arquivo mas esquece de dizer o CRC.

    O download do patch está aqui:

    http://www.microsoft.com/downloads/details.aspx?familyid=7AD0F2CF-03DC-49A0-A16E-17FED0C01CC6&displaylang=pt-br

  • Jefferson - 6.606 Comentários

    Apliquei manualmente o patch KB982802 e reiniciei. Nenhum problema.

    Verifiquei o CRC32 do arquivo instalado: CBF3B501

    Note que isso nem corresponde ao arquivo corrompido, nem ao arquivo que encontrei em meu PC. Além disso, data é ligeiramente diferente: 23/07/2010. É como se a MS tivesse feito uma correção de KB982802 um dia depois. Se você olhar com cuidado a descrição do patch verá que essa data corresponde ao "service branch" SP3QFE

    Curiosamente, mesmo após o patch as cópias em

    %windir%$hf_mig$KB982802SP3QFE

    %windir%SoftwareDistributionDownload79205212168b6b30197dc7641f8b512dsp3gdr

    %windir%SoftwareDistributionDownload79205212168b6b30197dc7641f8b512dsp3qfe

    Continuaram sendo as corrompidas (4DF6EEE0)

    Então o problema poderia voltar?

    É importante notar que o fato do patch ter funcionado quando aplicado manualmente pode ter outra explicação. Eu precisei, por um motivo diferente, reinstalar o XP SP3 nesta máquina. Isso pode ter eliminado o possível malware que estivesse aqui.

    Status do problema: ainda um mistério. Vou parar a análise por enquanto, até que apareça um fato novo.

  • Eu tenho a mania "feia" de testar HD e memórias RAM toda vez que pego um micro, mesmo que seja para fazer uma simples modificação no sistema operacional. Mas nesse caso realmente é estranho ele copiar novamente o arquivo no lugar do outro que tu copiou. Dependendo do cliente (e do uso do micro), eu levaria a máquina pra casa e rodaria uns dois ou três anti-vírus de uma máquina minha e por fim o Spybot e o Spyware Terminator (recomendo). Além dos habituais ComboFix, SmitFraudFix e BankerFix. Essa reinstalação do SP3 em máquinas que removi alguns vírus, também já resolveu problemas pra mim.

  • Um duvida que fiquei, se ele tava reiniciando sem parar como você desabilitou a reinicialização automática?

  • Jefferson - 6.606 Comentários

    Se você der F8 para entrar no menu de inicialização, uma das opções é "desativar reinicialização…"

    Só funciona por um boot. Você tem que ficar repetindo, se necessário. Mas na primeira vez que eu consigo entrar no Windows já desativo permanentemente.

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »