-->

quarta-feira, 29 de abril de 2009

Aperfeiçoamento na página de resultados do Google.

Eu não sei há quanto tempo isso foi "ativado" mas eu só agora percebi isto aqui:



Edit: Macacos me mordam... Segundo o Google Blog isso existe desde novembro do ano passado. Como é que eu só vi agora?!

Isso chama-se "searchwiki" e segundo é explicado aqui só aparece para quem está logado em uma conta Google e permite "promover" e "remover" resultados, além de fazer comentários. Segundo a Google, isso só afeta as suas buscas porque de outra forma (isso já é minha opinião) isso seria usado certamente com fins "malignos".

Mas eu não ficaria nem um pouco surpreso se secretamente a Google usasse os resultados das "promoções" e "remoções" de alguma forma, nem que fosse em casos extremos e/ou com revisão humana.

Há muito tempo eu venho me aborrecendo com sites irrelevantes que por um ou outro motivo conseguem alcançar um alto ranking nos resultados do Google mesmo sem ter conteúdo. E como eu não consigo decorar o nome de todos eles volta e meia perco meu tempo visitando-os de novo (e ajudo a promovê-los ao clicar no link na página de buscas). Eu não sei ainda se essa nova funcionalidade do Google vai permitir que eu elimine esses domínios inteiros de todas as minhas buscas, mas pelo menos já é um passo nessa direção.

quinta-feira, 16 de abril de 2009

O papel dos ControlSets no Registro.

ControlSets são chaves no Registro que contém cópias paralelas de praticamente toda a configuração de hardware do Windows. Podem existir vários ControlSets (são geralmente dois), mas apenas um ControlSet está ativo em uma determinada sessão do Windows.

Pontos importantes:

  • Valores na chave HKLM\System\Select é que determinam qual o papel de cada ControlSet;
  • CurrentControlSet é apenas um atalho para o ControlSet apontado pelo valor Current. A chave CurrentControlSet não existe físicamente e por isso geralmente não aparecerá em procedimentos offline de edição do Registro;
No gráfico abaixo eu tento mostrar como os ControlSets se relacionam com os valores na chave Select:



É o ControlSet apontado por LastKnownGood que é carregado quando escolhemos a opção "última configuração válida" no menu de inicialização do XP:



Outros pontos importantes:
  • Embora geralmente CurrentControlSet aponte para ControlSet001 isso não é garantido. Se o atalho CurrentControlSet estiver aparecendo, use-o. Se não estiver, não assuma que deve editar este ou aquele ControlSet. É necessário sempre consultar os valores na chave Select para não piorar as coisas ou perder tempo;
  • No dia-a-dia os ControlSets tem conteúdo idêntico, pois a cada boot bem sucedido o ControlSet Current é copiado para o ControlSet LastKnownGood. É apenas "na hora do pau" que seus conteúdos podem ser diferentes;

"Última configuração válida" muitas vezes é capaz de resolver os problemas de inicialização provocados por instalação mal sucedida de hardware. Mas infelizmente o mesmo programa mal comportado que bagunça a chave apontada por CurrentControlSet também tem o poder (e a audácia), de mexer também em LastKnownGood. Nem sempre isso é feito com más intenções: quem programou o instalador pode simplesmente não saber o papel dos diferentes ControlSets ou da chave Select e racionalizar que "na dúvida, é melhor alterar todos".

Na verdade, sem saber disso aqui você pessoalmente pode fazer uma caca dessas editando o Registro. Você sabe que precisa alterar um determinado valor e, encontrando o mesmo valor nos dois ControlSets, edita ambos. No próximo boot se você fez besteira, sente os efeitos de uma dupla besteira.

A Navalha de Hanlon resume esse tipo de coisa: "Nunca atribua à malícia o que pode ser adequadamente explicado pela estupidez."

Seja lá qual foi a intenção, na hora do pau escolher "Última configuração válida" acaba não surtindo qualquer efeito.

O estranho, mas às vezes útil, prompt "SHIFT+F10" do XP.

Durante uma instalação do Windows XP, logo após entrar no modo GUI da instalação basta teclar SHIFT+F10 para ter acesso a um prompt de comando como este:



Se você já conhecia isso, pode notar que o console recuperação do Vista não é muito diferente. Mas existe uma diferença importante: Para acessar esse prompt uma instalação do XP precisa estar em andamento e não é possível pará-la (não que eu saiba). Por sorte a instalação sempre pára pelo menos uma vez (se não foi modificada) na hora de pedir o serial ou perguntar a configuração de data/hora.

Na hora do sufoco, quebra o galho. Mas é menos problemático se você puder fazer essa nova instalação (que você vai descartar) em outra partição na mesma máquina. De qualquer forma você precisa estar bem certo do que vai fazer, porque você não vai querer que falte alguma coisa e você tenha que esperar todo o processo de instalação até chegar à parte gráfica de novo.

"Algumas chaves estão abertas pelo sistema ou outros processos."

Você muitas vezes pode se deparar com uma mensagem como esta ao tentar importar um arquivo .reg:

Não é possível importar [arquivo_reg]: nem todos os dados foram gravados com êxito no Registro. Algumas chaves estão abertas pelo sistema ou outros processos.

Esta mensagem é um exemplo de mensagem de erro do Windows que por não ser suficiente esclarecedora, te coloca no caminho completamente errado de resolução do problema.

Se mesmo indo para o Modo de Segurança a mensagem persiste, seu problema provavelmente não tem nada a ver com chaves abertas: é de permissões.

Abra o Regedit na chave que você está tentando modificar e escolha permissões no menu de contexto:



Normalmente, SYSTEM e Administradores tem permissões totais sobre todas as chaves, mas às vezes você encontra anomalias como esta:



Assim não pode ficar. Esse estado impede completamente o acesso à chave e suas sub-chaves. Para corrigir basta marcar as duas opções destacadas, tanto para SYSTEM quanto para Administradores.

Edit: Esse mesmo problema é responsável por mensagens de Acesso Negado ao tentar editar o registro.

IMPORTANTE:
  • Quando uma chave está com permissões faltando pode parecer vazia ou que várias sub-chaves ou valores estão ausentes, mas está tudo lá. Quando você definir as permissões corretas os valores e sub-chaves aparecerão.
  • Não existem permissões para valores (e segundo a MS nunca vão existir). Preocupe-se apenas com as chaves.

Feito isso, tente importar o arquivo .reg novamente. Se funcionar, o problema está resolvido. Se não funcionar verifique outras chaves envolvidas que podem estar com permissões incorretas. Tenha em mente que um mesmo arquivo REG pode fazer a importação de várias chaves completamente independentes.

Recuperando-se de desastres no Registro do Windows.

Nota: O método descrito a seguir foi o que usei inicialmente para me recuperar do dano ao meu Windows descrito neste post, que envolveu um erro STOP : C000021a com status de 0xC0000022. Eu já testei um método ainda melhor e mais preciso, que vou descrever em outro post.


O Registro do Windows, como vemos pelo Regedit, é uma representação em memória do conteúdo de um ou mais arquivos, que tem essa finalidade exclusiva.

No Windows 2000 e XP esses arquivos ficam armazenados em:

%windir%\system32\config\

No momento em que a instalação ou reinstalação do Windows é concluída o programa de instalação faz uma cópia-base desses arquivos em:

%windir%\repair\

Essa cópia tem o estado do seu Registro com todo o software e hardware que o Windows pôde instalar sozinho. E a melhor parte é que o hardware está bem separado do software. São dois arquivos: SYSTEM e SOFTWARE (sem extensão).

Edit: Esses arquivos que contém seções do Registro são chamados de "hives".

O arquivo %windir%\system32\config\SYSTEM tem todo o conteúdo da chave HKLM\SYSTEM do Registro, com todos os drivers e serviços instalados e não muito mais que isso. Se você substituir a cópia em "config" pelo backup em "repair", seu Windows volta, do ponto de vista da instalação do hardware, ao estado em que estava quando o Windows foi instalado.

Nota: Você não precisa e nem deve mexer com o arquivo SOFTWARE a não ser que você queira reverter o Registro totalmente para o estado em que estava na instalação, perdendo toda a configuração do software instalado.

Problemas dessa solução:
  • Qualquer driver que foi instalado após a instalação do Windows terá que ser reinstalado. Isso inclui hardware virtual como o Daemon tools e o CPUIdle;
  • Qualquer software que instale um serviço (como o Cobian Backup e todos os programas antivirus e de firewall) terá que ser reinstalado. Uma exceção possivelmente é o maldito GBplugin, cujo módulo não-serviço irá detectar o que está faltando e reinstalar silenciosamente (eu não testei).
  • Alguns raros programas podem não gostar, mesmo não requerendo drivers nem serviços. Eu só tive problemas com o Delphi 5 e o Delphi 7 e ainda assim com controles de terceiros específicos.
Não é possível fazer isso com o Windows rodando, mas se vai apelar para essa solução você provavelmente nem está conseguindo mesmo entrar no Windows, porém existem várias alternativas:
  • Usar o Console de Recuperação do XP;
  • Usar o prompt de comando no DVD do Vista;
  • Usar um LiveCD qualquer que tenha a capacidade de escrever na sua partição. Todos, se sua partição for FAT32, mas só alguns recentes se sua partição for NTFS.
  • Colocar o HDD como escravo em outro PC;
  • Instalar outra cópia do Windows em um HDD secundário no mesmo PC;
  • etc.
O meu procedimento no console de recuperação é o seguinte:



Note que a primeira coisa que fiz foi fazer um backup do arquivo SYSTEM defeituoso. Nunca esqueça de fazer um, porque ele vai fazer muita falta depois se algo der errado.

Após reiniciar você já deverá poder entrar normalmente no Windows. Consulte o Gerenciador de Dispositivos para ver o que falta reinstalar. Daemon Tools e CPUIdle reclamam na hora.


Windows 9X

A mesma técnica pode ser usada no Windows 9x, com algumas diferenças. Primeiro, os arquivos do Registro são esses dois:

%windir%\system.dat
%windir%\user.dat

Muitos programas ao se instalarem fazem cópias de backup do Registro mudando apenas a extensão. Por exemplo:

Coreldraw
%windir%\system.cor
%windir%\user.cor

Norton Utilities
%windir%\system.nu
%windir%\user.nu

Edit: A cada inicialização bem sucedida o Windows 9x faz o seu próprio backup de user.dat e system.dat, mas não me lembro agora se a extensão que ele coloca é .old ou .bak.

É por essas cópias que você deve procurar primeiro, por serem mais recentes. No prompt do DOS em %windir% eu faço assim:

attrib -h -r -s user.*
attrib -h -r -s system.*

dir system.*
dir user.*

Mas cuidado para não confundir backups de system.ini (sempre menores que 64KB) com os de system.dat (sempre bem maiores).

O Windows 9x também faz uma cópia ao terminar a instalação, mas apenas do arquivo System.dat. Essa cópia fica oculta como %systemdrive%\system.1st ("1st" significa "primeiro"). Eu cansei de consertar instalações do Windows 9x realmente bagunçadas simplesmente colocando esse arquivo no lugar de system.dat e reinstalando os drivers.

O poderoso Console de Recuperação do Vista.

Se você já instalou o Windows Vista, deve ter reparado que ele também conta com um Console de Recuperação, como o XP. Porém se você não explorou as possibilidades desse console talvez não saiba de algumas coisas importantes:
  • Ele também serve para fazer reparos no Windows XP e 2000;
  • Ele não tem as limitações do console do XP e pode rodar muito mais programas, incluindo programas com GUI, como o Regedit e o Notepad. Você também está liberado para rodar programas de terceiros;
  • O console "monta" todas as unidades FAT32/NTFS que encontrar, incluindo dispositivos USB Mass Storage. O Console do XP também, mas ele é tão limitado que isso passa despercebido.

No lugar de Instalar Agora, clique em Reparar o Computador.



Se você rodar em um PC que não tenha o Vista instalado, esta lista vai aparecer vazia. Simplesmente clique em Avançar.

Atenção: Se houver uma instalação do Vista listada na tela abaixo, para entrar no console você vai ter que clicar em Avançar e recusar a oferta que o Windows vai fazer para usar a Recuperação do Sistema. Só depois disso e de perguntar se você quer enviar informações sobre o problema para a MS é que vai aparecer o link para as "opções avançadas", que permite entrar no console.





Clique em Prompt de Comando:






A partir do prompt você pode rodar diversos outros programas:



Como eu disse antes, a partir do console (e dos programas abertos a partir dele) você acessa todas as suas unidades, incluindo pendrives. O Windows ainda acrescenta uma:
  • X: - Unidade virtual com o boot do Vista. Quando você executa o Notepad, é o desta unidade que roda e não o do HDD.
Atenção: O Registro que o Regedit enxerga é o virtual em X: e não o da instalação do Windows no HDD. Mas explicarei como esse problema pode ser contornado em outro post.

Explorer.exe não está disponível, mas não faz falta. Qualquer caixa de diálogo "Abrir" serve. No pior caso você tem que habilitar "todos os arquivos" para poder ver os executáveis (usando o diálogo "Carregar Hive" de Regedit isso não é necessário). E usar a opção "Executar como Administrador" no menu de contexto.



No exemplo eu estou executando o programa Movie Maker da instalação problemática, mas apenas para ilustrar. Movie Maker nem roda (faltam codecs e outros arquivos de suporte) nem tem qualquer utilidade no reparo.

Você pode usar esses diálogos para copiar, recortar e colar como se estivesse no Explorer.

Se você acha que o fato do Vista vir em um DVD limita a utilidade desta dica, leia este artigo e procure por "Windows Vista Lite" no Google. Você verá que não é tão difícil ter o boot do Vista em um CD (eu ando com um na minha bolsa de ferramentas).

Melhorando (um pouquinho) o Console de Recuperação.

Quem já tentou usar o Console de Recuperação do XP sabe o quanto ele é ruim. Seria uma tentativa patética de se fazer um prompt de comando, não fosse o fato de suas limitações serem propositais. Por exemplo, não é possível copiar nada para disquetes, nem usar coringas em certos comandos (copy *.* é proibido por default). Mas dá para melhorar um pouco.

Nota: Como você verá, isso só é possível se você estiver em condições de editar o registro. E se você tem condições de fazê-lo geralmente não precisa do Console. Então é bom fazer isso ANTES de ter um problema.

Estando no Console, se você digitar o comando SET verá que só existem quatro variáveis de ambiente, com nomes sugestivos:

AllowAllPaths = false
AllowRemovableMedia = false
AllowWildCards = false
NoCopyPrompt = false

E se você tentar passar qualquer uma delas para TRUE, verá que não tem permissão. Isso pode ser resolvido alterando um valor no Registro na chave:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole
Configure o valor SetCommand para 1 (dword)

Isso permitirá que você mude o valor das quatro variáveis para TRUE, eliminando pelo menos essas limitações.

Se você não quiser ter que digitar os quatro comando SET, crie um arquivo qualquer (digamos que seu nome seja "enable.txt") com este conteúdo:

SET AllowAllPaths = TRUE
SET AllowRemovableMedia = TRUE
SET AllowWildCards = TRUE
SET NoCopyPrompt = TRUE

Para "executar" esse arquivo use o comando BATCH do Console assim: Batch enable.txt

Isso é necessário porque o Console do XP não permite a execução de comandos arbitrários (que não estejam em sua lista de comandos e programas permitidos), então você não pode criar um .bat com esses quatro comandos SET, mas pode obter o mesmo efeito usando esse método indireto.

Nota: O Console de Recuperação do XP enxerga dispositivos USB Mass Storage, desde que o hardware da motherboard ajude. Então você pode ter esse "batch" em um pendrive.

Só existe mais um valor do Registro que vale a pena conhecer. Se você configurar sob a mesma chave "SecurityLevel" para 1 (dword) o Console não pedirá mais a senha de Administrador ao se conectar a essa instalação do Windows.

Resumindo: são dois valores no Registro que você pode mudar, como mostra a figura abaixo:


Instalando o Console de Recuperação do XP no HDD.

Qualquer power user que use o Windows XP já deve saber da existência do limitadíssimo, mas às vezes útil, Console de Recuperação (Recovery Console), que você pode acessar usando o CD de instalação. Eu imagino que a maioria já saiba também (mas eu vou explicar assim mesmo) que é possível instalar esse recurso no HDD de modo a não ser necessário usar o CD. E fica bem mais rápido usar dessa forma.

Para instalar basta procurar pela pasta I386 de instalação do XP (pode ser no CD, em uma cópia no HDD, etc), abrir um prompt de comando nela e digitar:

winnt32.exe /cmdcons

O instalador vai tentar se conectar com a Internet. Quando ele fizer isso basta cancelar que a instalação poderá prosseguir com o que você tem no CD.

Isso vai instalar os arquivos necessários em %systemdrive%\cmdcons e acrescentar uma opção ao menu de inicialização:



Eu instalo isso nos meus PCs particulares, mas se eu fosse instalar em um PC de cliente ajustaria o timeout do menu para apenas um ou dois segundos, de forma que suma rápido o suficiente para não chamar atenção mas ainda ser possível usar a opção quando você sabe que ela está lá.

sábado, 11 de abril de 2009

Nova mudança no formulário de comentários.

Eu já havia tentado isso em dezembro, mas o feedback negativo dos meus leitores me fez desistir. Agora, seguindo uma dica que Rafa Librenz me passou em 19 março (desculpe a demora, Rafa), reativei o modo "Embedded Below Post".

Aparentemente os problemas iniciais foram corrigidos. Melhor ainda (Intruder_A6 vai gostar): agora é possível "inscrever-se por e-mail" nos comentários sem precisar comentar.


Se houver algum problema, avisem. Eu realmente não gosto do modo "popup", mas se não der certo, reverto de novo.

sexta-feira, 10 de abril de 2009

Driver para cabo USB-Serial ARKMicro.

Eu tenho vários cabos de celular baseados no chip ARKMicro ARK3116S. Esses cabos desmontados são como este:


Tenho também o driver, mas como não encontrei em uma busca rápida nos meus HDDs, decidi que era mais fácil achar uma cópia nova pelo Google.

Além de não ter sido tão fácil assim, o resultado foi um desastre.

Segundo informações que encontrei em um fórum, existia uma cópia neste site, dentro do pacote "P2K setup". Como se trata de empresa, achei muito mais confiável que baixar outras cópias que vira hospedadas em serviços como o Rapidshare. Instalei o pacote e realmente o instalador do driver estava onde indicado. Instalei o driver, reiniciei o computador e...

... me arrependi!

O Windows não entrava mais nem em Modo de Segurança. Como a Recuperação do Sistema está desativada em todos os meus PCs, não pude ir por esse caminho. Para encurtar a estória, eu consegui colocar o Windows no ar novamente, mas eu ainda estou consertando os efeitos colaterais da minha solução.

16/04: Eu comecei a explicar como isso foi consertado.

Então eu parti para localizar o driver ArkMicro que eu já comprovara funcionar. Encontrei em um dos meus DVDs de arquivo, testei e continua funcionando como esperado, por isso estou disponilbilizando no meu site:


Testado no Windows XP SP2 e SP3, com chip ARK3116S.

O mito em torno de "Remover Hardware com Segurança".

Este mito é bem recente. Nem de longe é tão antigo (e difícil de combater) quanto o mito da necessidade de estabilizador, que impera no Brasil desde o PC XT (1982). Eu diria que ele começou a se formar em 2000, por causa do Windows 2K, mas só ganhou força mesmo com a popularização do Windows XP e, principalmente, dos pendrives.

A maioria das pessoas parece acreditar que se você desplugar um pendrive do computador sem primeiro seguir todo o ritual envolvendo o ícone "Remover Hardware com Segurança" (vou chamar de "RHS" daqui em diante), uma ou mais dessas catástrofes vai acontecer:
  • Vai fritar o pendrive;
  • A porta USB vai pro beleléu;
  • Seu gato vai morrer de fome;
  • Um tsunami vai varrer Brasília (humm... se fosse só no Congresso...);
  • etc..

O engraçado é que a maioria nem sabe qual o real motivo para o procedimento existir. Para mim toda essa preocupção é desnecessária e até cômica (como quando alguém faz aquela cara de espanto quando puxo meu pendrive de vez).

Quando você segue o ritual, o Windows se certifica do seguinte:
  • Que nenhum arquivo no pendrive esteja em uso. Se estiver, diz que você não pode fazer a remoção;
  • Que não haja nenhuma operação de escrita (cache) pendente para ele.;
Para evitar que você siga o procedimento, demore a retirar o pendrive e acabe fazendo algo perigoso para os dados nesse meio tempo, o Windows desconecta o pendrive logicamente (até onde sei, não é uma desconexão física) e ele some do Explorer. Pode ser até que o Windows faça mais alguma coisa, mas não acredito que seja relacionada com hardware.

Elementos que confirmam minha crença:
  • Apenas dispositivos do tipo "mass storage" habilitam o procedimento RHS. Sua webcam aparece na lista de dispositivos a remover com segurança? E a impressora? E o adaptador Bluetooth? Mouse e teclado também não? O que exatamente existe de "mais delicado" entre um pendrive e um (mais caro) adaptador bluetooth USB para que eu possa remover este último sem precisar me preocupar com nenhum ritual preparatório?;
  • A Microsoft, aprendendo com as reclamações oriundas do Windows 2000, desligou no XP (por default, mas pode ser religado) o cache de escrita para discos removíveis e eliminou a mensagem de alerta. Assim você puxa de vez o pendrive e não recebe mais aquele aviso chato do Windows 2000. Se o problema fosse relacionado com hardware eu não creio que a MS teria seguido por esse caminho e sim teria reforçado os avisos.
Esta é a (irritante) mensagem que aparece no Windows 2000 sempre que você puxa o pendrive sem seguir o procedimento RHS:


Esta mensagem aparece apenas para dispositivos "mass storage". Se você usa Windows 2000 puxe o cabo da impressora, do mouse, do teclado, da webcam... e veja se o Windows faz a menor objeção.

Perceba que o texto da mensagem não menciona dano ao hardware. "Falhas no computador" é uma expressão genérica que não está centrada em hardware. O fato é que puxar o pendrive com um arquivo aberto pode fazer com que o programa que usava esse arquivo tome diversas atitudes que vão desde uma inócua mensagem de erro até entrar em um loop consumindo 100% da CPU e travando o computador. Nada a ver com hardware, mas produz uma "falha no computador" assim mesmo.

Eu tentei encontrar evidências do ponto de vista eletrônico para a alegação de que simplesmente puxar o pendrive pode danificar o hardware, mas não encontrei nenhuma. Pelo contrário: USB é e sempre foi explícitamente uma tecnologia "hot plug". Não existe "hot plug" se você tem que pedir permissão para remover o dispositivo. E no plug USB os pinos de alimentação são propositalmente mais longos que os de dados justamente pensando nisso.

Na especificação USB (documento oficial do padrão) eu só encontrei citações que reforçam o meu ponto de vista (destaques em negrito são meus):

4.6 System Configuration

The USB supports USB devices attaching to and detaching from the USB at any time. Consequently, system software must accommodate dynamic changes in the physical bus topology.

...

7.2.4.2 Dynamic Detach

When a device is detached from the network with power flowing in the cable, the inductance of the cable will cause a large flyback voltage to occur on the open end of the device cable. This flyback voltage is not destructive.

...

9.2.1 Dynamic Attachment and Removal

USB devices may be attached and removed at any time. The hub that provides the attachment point or port is responsible for reporting any change in the state of the port.

Como experiência adicional (mas não muito científica), eu coloquei um multímetro na alimentação de uma das portas USB do meu PC e me certifiquei de que media 5V, conectei um pendrive nessa porta e segui o procedimento RHS para fazer a ejeção. O Windows "desconectou" o pendrive, mas em nenhum momento a tensão no mesmo deixou de ser 5V. Ou seja: se você acredita que o procedimeno remove a alimentação do pendrive, está enganado. Isso pode até ser verdade em alguma placa-mãe, mas eu honestamente duvido disso.

A fé nesse mito já se espalhou para longe das fronteiras da informática. E por isso já tem gente por aí inventando seu próprio ritual para conectar e desconectar pendrives nas portas USB de DivX players. O fato de não existir uma opção "ejetar USB" nesses aparelhos deveria servir de dica de que o procedimento não é necessário, mas a fé no mito é tão grande que algumas pessoas preferem acreditar que os fabricantes de DivX players (Philips, LG, Pioneer, etc) não estão dando a devida atenção ao problema.

Fato: Desconectar um pendrive repentinamente pode (não necessariamente vai, a não ser que você use Linux) fazer com que você perca os dados que estava escrevendo (veja nota abaixo) nesse pendrive. Se você conectou o pendrive apenas para ler seu conteúdo, nada vai acontecer (nem ao hardware, nem aos seus dados) se você desconectá-lo repentinamente.

Nota: conforme foi bem lembrado nos comentários, todo o conteúdo do pendrive pode ser perdido e não apenas o que você estava escrevendo. A FAT pode ser corrompida e requerer formatação especial.

Até que alguém apareça com evidências técnicas do contrário, o resto para mim é mito.

quinta-feira, 9 de abril de 2009

Uma pasta autorun.inf pode barrar um vírus de pendrive?

Hoje, até pode ser. Mas eu não confiaria muito nisso se fosse você. Certamente não barraria nada criado por mim.

A idéia é impedir que um malware infecte seu pendrive (ou disco removível de qualquer tipo) criando uma pasta chamada "autorun.inf" na raiz dele. O sucesso inicial disso se baseia em três pontos:
  • Você não pode ter um arquivo com o mesmo nome de uma pasta;
  • Você não pode sobreescrever uma pasta com um arquivo;
  • Comandos (em um software) para deletar arquivos geralmente não deletam pastas, então tentar deletar autorun.inf achando que se trata de um arquivo acaba falhando por se tratar de pasta;
Como o vírus que infecta discos removíveis depende da criação de um arquivo autorun.inf para ter uma chance de se autoexecutar em outros PCs, ele pode até colocar uma cópia de si mesmo no disco, mas não consegue completar o serviço.

É possível elaborar mais, colocando nessa pasta autorun.inf outras pastas e arquivos de modo que até um comando para deletar pasta falhe porque esta não está vazia. Em um software, primeiro você tem que apagar o conteúdo e depois a pasta.

Elaborando ainda mais, você pode manipular os atributos dos arquivos dentro da pasta de forma que nem mesmo você consiga apagá-los pelo Explorer.

Esse truque é explorado pelo programa Flash Disinfector, que cria uma pasta que não pode ser apagada via Windows Explorer.

Outro método é criar (através de métodos especiais) arquivos dentro da pasta que são "ilegais" para o Explorer. Como arquivos de nome "con" e "aux".

Isso funciona? Sim. A princípio conseguiria barrar boa parte dos vírus atuais, mas apenas porque eles não esperam por isso e não porque seja realmente difícil para um vírus passar por cima desses obstáculos. Se esse método se tornar popular, os criadores de vírus vão simplesmente pôr mais algumas linhas de código para deletar a pasta.

Para demonstrar, eu criei um simples utilitário:



DeltreeMax pode apagar a pasta criada por Flash Disinfector sem nenhum esforço. Nos meus testes só foi possível detê-lo através de permissões NTFS (que em quase 100% dos casos não são usadas em um pendrive). E não testei ainda com estruturas propositalmente corrompidas.

E olha que eu sou um programador medíocre. Pode ter certeza de que o cara que cria um vírus capaz de "code injection" pode fazer melhor que isso. Eu levei mais tempo criando salvaguardas para evitar o apagamento acidental de um HDD inteiro do que implementando o código que faz o apagamento.

E o programador de vírus não tem essa preocupação.

Lembre-se: Ter uma falsa sensação de segurança é pior do que não ter segurança alguma e saber disso. O truque com a pasta é bom, desde que você não acredite que ele é infalível.



NOTA 1: Este texto foi iniciado em 08/08/2008, mas eu perdi o interesse por ele antes que ficasse pronto. Comentários recentes neste outro post me fizeram voltar ao assunto.

NOTA 2: É sempre bom lembrar que bloquear o autorun, por qualquer meio que seja, oferece proteção zero quando o vírus é do tipo "file infector", como este. Porque nesses casos o vírus não precisa se preocupar com ser executado automaticamente pois você pessoalmente vai executá-lo mais cedo ou mais tarde.

NOTA 3: DeltreeMax tenta provar meu argumento de uma forma radical deletando a pasta. Mas você precisa saber que existem outros meios de se chegar ao mesmo resultado. Por exemplo, renomear a pasta funciona mesmo em situações onde deletar não é possível e vai surtir o mesmo efeito para o propósito deste post.

quarta-feira, 8 de abril de 2009

DVDs em promoção no Extra de Recife

Não é só o Hiper que está fazendo promoção de DVDs. Apesar da variedade ser menor pelo menos são títulos diferentes.

Todos os listados aqui são widescreen anamórfico (pelo menos é o que está escrito na caixa).

R$ 6,45


R$ 7,45


R$ 9,95

Duro de Matar 
Duro de Matar 2
Missão Impossível 3

R$ 12,99



Observações:
  • Eu só olhei no Extra Benfica;
  • Fique de olho ao passar o produto no caixa. "O Mistério da Libélula", por exemplo, registrou R$19,99 e só quando eu chamei a atenção do caixa foi que ele viu e deu o desconto de R$10 no pé da nota. 
  • No Extra os DVDs ficam fechados em caixas de acrílico individuais anti-furto. Depois que o caixa removê-las, balance os discos um por um. Se parecer que tem algo solto, peça troca na hora. "Duas Vidas" acabou me custando mais caro porque tive que substituir a caixa que estava com o engate do DVD quebrado e eu não notara isso na hora da compra. Não sei se daria para ter notado com o DVD dentro do acrílico. 

domingo, 5 de abril de 2009

Explorer.exe consumindo CPU demais aleatoriamente?

Experimente fechar todas as janelas de "Resultado da Pesquisa".

Este é um problema que eu estou perseguindo há muito tempo. De vez em quando o Explorer começa a consumir de 50 a 100% da CPU sem nenhum motivo aparente e antes que eu consiga obter alguma informação útil, volta a 0%. O próprio consumo elevado de CPU atrapalha o diagnóstico com o Process Explorer e, pior, o Process Monitor, que mal consegue operar no meu PC nessas situações.

Eu não tenho certeza ainda, mas é a segunda vez que o problema desaparece logo depois de eu fechar todas (e apenas) as janelas de "Resultado da Pesquisa" abertas, mesmo que não haja nenhuma em andamento. 

Isso no XP SP3, mas pelo que consigo lembrar acontece comigo desde o SP2. 

Como verificar se uma atualização do Windows está instalada.

Esses procedimentos e dicas devem funcionar em todas as versões do Windows desde o Windows 2000, mas só testei no Windows 2000 SP4 e no XP.

Método 1 (baixa confiabilidade)

Verifique dentro do diretório %Windir%. Cada hotfix cria um sub-diretório oculto e comprimido.


O método tem baixa confiabilidade porque como esses sub-diretórios não são necessários para a operação do Windows (só são usados para desinstalar) e podem ocupar um espaço considerável na partição do sistema (no PC da minha irmã são 300MB neste momento), costumam ser apagados ou movidos durante uma manutenção. Se o diretório estiver lá, o HotFix está instalado. Se não estiver, pode estar instalado ou não.

Método 2 (alta confiabilidade)

Edit: Este método funciona mesmo que os updates tenham sido pré-aplicados usando o nLite.

Cada hotfix instalado cria uma chave sob:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\




E também sob (no XP):
HKLM\SOFTWARE\Microsoft\Updates\Windows XP\
No Windows 2000:
HKLM\SOFTWARE\Microsoft\Updates\Windows 2000\

Edit: Segundo este artigo da MS, o caminho para as várias versões do Windows é:
HKLM\Software\Microsoft\Updates\[Sistema Operacional]\


Esta segunda chave tem mais informações e segundo o Process Monitor é a única das duas consultada pelo freeware WinUpdatesList, que ajuda bastante nessa verificação:



Como verificar um determinado Hotfix por arquivo batch

@ECHO OFF

ECHO.
ECHO Este exemplo verifica se o hotfix que
ECHO desabilita o Autorun esta instalado.
ECHO.

REG Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix" | find /I "\Hotfix\KB951748" >NUL

If errorlevel 1 GOTO NOTFOUND

Echo Hotfix instalado
GOTO FIM

:NOTFOUND

Echo Hotfix Não instalado

:FIM

O trecho em azul deve ser digitado como uma única linha.

Substitua "KB951748" pelo Hotfix cuja presença você quer verificar, depois substitua as linhas "Echo Hotfix..." pelos comandos que você quer executar em cada caso.

Edit: Tenha em mente que, por exemplo, um hotfix criado quando não existia o XP SP3 e foi incorporado pelo mesmo não vai aparecer nas listas quando você procurar por ele no SP3.

O Proview DVP-858 está de volta ao mercado.

E já faz tempo.



Apesar de não haver nenhuma confirmação oficial da Proview, a informação vem de Eneris, que também está vendendo o produto em sua loja. Na caixa, com um ano de garantia.

sábado, 4 de abril de 2009

O propósito da extensão .local

Na segunda parte da minha análise do vírus Wplugin apresentei duas questões que na época ficaram sem resposta:
  • Por que o vírus criou um arquivo chamado "explorer.exe.local"?
  • Como o vírus fez para a ws2help.dll infectada ser carregada no lugar da legítima?
Hoje eu descobri que as duas coisas estão relacionadas.

A extensão .local é um "redirecionador de DLLs". O conteúdo do arquivo é irrelevante (pode até ter zero bytes) e sua mera existência faz com que o Windows procure primeiro qualquer DLL chamada pela aplicação dentro do diretório da aplicação, mesmo que a aplicação declare um caminho explícito para a DLL.

No caso, o vírus colocou uma cópia infectada de ws2help.dll no mesmo diretório que explorer.exe e criou um arquivo explorer.exe.local. No próximo boot explorer.exe tentou carregar %windir%/System32/ws2help.dll, mas por causa da presença de explorer.exe.local, a cópia infectada foi carregada em seu lugar.

As DLLs listadas em KnownDLLs (veja no Process Explorer) não podem ser redirecionadas, mas infelizmente ws2help.dll não está nesta lista.

Talvez seja o caso de incluí-la :)

   

sexta-feira, 3 de abril de 2009

A MS finalmente permite desabilitar completamente o Autorun.

Atenção: Este post está em rascunho ainda. Estou liberando agora pois se trata de algo muito importante. Mas o texto pode mudar substancialmente .


Qualquer Power User Windows deve estar careca de saber que desabilitando o Autorun pelo método oficial da Microsoft (NoDriveTypeAutorun no Registro) ainda era possível ser infectado por um vírus de Autorun caso não se tomasse certos cuidados (que o usuário comum em geral não toma). Por isso o hack "@SYS:DoesNotExist" era usado, pois efetivamente fecha todas as brechas por onde o código malicioso apontado por Autorun ainda podia ser executado por imperícia/ignorância/descuido do usuário. Infelizmente esse hack, como visto no post anterior, tem efeitos colaterais.

Pois graças à preocupação mundial com a ameaça do Conficker a MS finalmente elaborou um patch que faz o Windows 2000/XP/2003/Vista/2008 respeitar completamente o desligamento do Autorun. Até onde pude apurar esse patch foi liberado em 24 de fevereiro, que é a data do respectivo Security Advisory. Segundo teste feito pelo US-CERT, esse patch tem exatamente o mesmo efeito do hack "@SYS:DoesNotExist" e (isso quem acrescenta sou eu) presumívelmente sem os efeitos colaterais.

O que fazer agora?
  • Se você tinha aplicado o hack "@SYS:DoesNotExist", desative-o;
  • Leia com atenção o Artigo 967715 da Knowledge Base . Lá você encontrará o link para o Hotfix correspondente à sua versão do Windows e o procedimento completo para desativar o Autorun. Se você deixa o seu Windows atualizar automaticamente (eu não deixo) você já tem o Hotfix instalado mas precisa seguir o procedimento manual de desligamento.

Multifuncional HP PSC1315: Setup não roda.

Este problema não está documentado no site de suporte da HP e impede a instalação de todas as impressoras das séries PSC1310 e Officejet 4200. É importante que você familiarize-se com ele, porque sua causa pode afetar outros programas.

A explicação curta: 

O acesso ao arquivo autorun.inf está sendo bloqueado por algum mecanismo de proteção anti-virus. Remova a causa e o setup rodará. Parece absurdo? Leia a explicação a seguir.

A explicação longa:

O cliente me telefonou porque não conseguia instalar sua PSC1315 no notebook (PC1). Ele havia baixado o driver do site da HP e setup.exe simplesmente não rodava, não importando o quanto se clicasse nele. Eu lembrei-o que ele tinha o CD original de instalação e disse que tentasse com ele. Mesmo problema.

Eu mesmo já havia instalado essa mesma impressora com o mesmo CD diversas vezes nesse mesmo cliente sem problema algum (quer dizer: tirando a enorme demora habitual para se instalar os "drivers" enormes da HP). Fui até lá para tentar resolver e constatei com o Process Explorer que setup.exe até começava a rodar, mas encerrava silenciosamente um segundo depois. Nenhuma mensagem de erro.

Parti para o mais complexo Process Monitor, mas nada no (longo) log de execução me deu qualquer pista útil (ou assim pensei) do que estava ocorrendo.

Desconfiado de que fosse algo no XP SP3, testei em outro computador do cliente onde eu instalei o SP3 do zero na mesma época que no notebook e o setup rodou (PC2), então não era o SP3. Testei num terceiro PC do cliente com o SP3 e também não rodou (PC3). Depois de apanhar muito tentando entender o que poderia haver em PC1 e PC3 mas não em PC2, joguei a toalha e disse ao cliente que iria pesquisar em casa. Decidi instalar os drivers no meu PC para analisar como deveria ser uma instalação bem-sucedida vista pelo Process Monitor e para minha surpresa, setup.exe também encerrava silenciosamente no meu PC (PC4).

Eu fiquei perplexo. Tentei encontrar algo em comum entre PC1, PC3 e PC4 que não estivesse também instalado no PC2 e não estava encontrando nada. Até que me deu um estalo: quando eu coloquei o CD no PC2 apareceu automaticamente o setup e naquele momento mesmo eu pensei que não deveria ter aparecido, porque neste cliente eu desabilitara o Autorun de todas as máquinas seguindo o hack "@SYS:DoesNotExist". Mas como eu estava ocupado com um problema mais importante, não dei muita atenção. Nota: mais tarde eu cheguei à conclusão de que esquecera de desabilitar o Autourun nesta máquina específica após uma reinstalação.

E no meu PC o Autorun também está desabilitado da mesma forma. Não fazia sentido porque eu estava executando o programa diretamente, mas como era minha única pista, reativei o Autorun no meu PC (apagando a chave HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf) para ver o que acontecia.

E o maldito setup.exe rodou como deveria.

Fui examinar o autorun.inf do CD da HP e as coisas começaram a fazer sentido. A maioria esmagadora desses arquivos tem no máximo umas quatro linhas e uns poucos tem uma ou duas dúzias por usarem funcionalidade avançada (que a maioria dos usuários ignora), mas a HP decidiu fazer de Autorun.inf o "INI" do instalador. O arquivo tem 996 linhas (Edit: o da Photosmart C4200 series tem 10932 linhas) de parâmetros/diretivas e se parece com isso:

[Version]
CDGuid={18E0918E-1060-48f3-925C-56C82E88551B}
SoftwareGuid={1A5C2933-7A90-41df-97E6-2845F67834D8}
InfrastructureDatabaseList=hpomdl03.dat
LanguagesInthisCD=enu,esn,fra,ptb
DefaultLanguageInThisRelease=enu
DIVISION=hpo
ICE_REV=03
FIRST_IO_REVISION=08
LAST_IO_REVISION=08
VCD_FILEVER=09
Manufacturer=HP
RegistryManufacturer=Hewlett-Packard
ProductSeries=All-In-One Series
Pre-Install=%ProgramFiles%%Manufacturer%
SilentInstall=No
PreloadICEEngineToGUIDFolder=hpzprl01.dat
PreloadRecoveryMechanism=hpzprl02.dat


Verifiquei a versão que se baixa do site e, claro, também tinha um autorun.inf do mesmo calibre.

O problema é que o mecanismo do hack "@SYS:DoesNotExist" se baseia justamente em redirecionar toda tentativa de acesso a autorun.inf. Como setup.exe não conseguia encontrar seus parâmetros, o programa era encerrado sem explicações.
Ainda intrigado, fui checar no Process Monitor se ele não era capaz de mostrar o problema. Armado com as informações que agora eu tinha e com a ajuda da função Localizar do PM (procurei por "autorun.inf") foi fácil achar, no meio dos 1249 eventos gerados por setup.exe antes de se encerrar, evidência de que com bastante atenção teria sido possível encurtar o diagnóstico:


Perceba que cada operação bem sucedida de leitura de autorun.inf é seguida por uma ou mais falhas ao ler algo sob a chave HKLM\Software\DoesNotExist\ no Registro. É lógico que não ajuda muito quando você não sabe que conteúdo deveria ter "DoesNotExist" e você ficaria ainda mais intrigado ao perceber que "DoesNotExist" realmente "não existe" em nenhum computador. Mas nesse caso específico uma rápida busca no Google por "HKLM\Software\DoesNotExist\" traria algum esclarecimento. 

É claro que estabelecer a ligação entre o erro e o bloqueio do Autorun não ajuda muito quando você sabe que ao clicar direto em setup.exe, autorun.inf não deveria ter qualquer efeito, mas pelo menos você estaria no caminho certo. Eu, pelo menos, apesar de achar sem sentido fiz o teste quando me vi sem opções e percebi (por outro caminho) a conexão. Lembre-se da famosa frase de Arthur Conan Doyle/Sherlock Holmes: "Quando você tiver descartado todo o impossível, o que sobrar, embora improvável, deve ser a verdade".

E agora você já pode ter em mente: Qualquer tentativa bem sucedida de ler um arquivo de configuração qualquer (INF, INI, etc)  seguida de tentativas fracassadas de ler uma chave no Registro pode ser culpa de algo sob a chave IniFileMapping do Registro.

Como se pode ver, o uso do hack "@SYS:DoesNotExist" tem efeitos colaterais que podem ser enlouquecedores. Por sorte, não são muitos os instaladores que "pervertem" a finalidade de autorun.inf como a HP fez e além disso surgiu recentemente outro modo eficiente de bloqueio do Autorun.

Sysinternals Process Monitor

Uma explicação que estou preparando para um problema curioso (e importante) requer que eu apresente antes mais essa ferramenta do genial Mark Russinovich. Se você acompanha o blog, já leu posts meus sobre outras duas criações dele praticamente indispensáveis: Process Explorer (PEx) e Autoruns.

Process Monitor (PM) é uma ferramenta bem mais técnica. Enquanto é perfeitamente possível mostrar a um leigo como tirar algum proveito de PEx e Autoruns (ainda assim, com ressalvas), para entender o PM você precisa ser pelo menos um power user.



O programa mostra, em tempo real, toda a atividade do Registro, do sistema de arquivos e de rede, indicando que processo/thread é o responsável. E não é pouca coisa. A quantidade de informação captada por segundo é tamanha que muita atividade (principalmente a "burocracia" do NTFS) já é pré-filtrada para tentar minimizar a bagunça. E por default o programa roda em modo Basic, porque o modo Advanced (Filter -> Enable Advanced Output) é ainda mais difícil de assimilar.

Por default, se você não acrescentar nenhum filtro, PM já mostra toda a atividade das suas aplicações e dos processos do Windows. Só o que o Explorer é capaz de fazer em um único segundo já é suficiente para dar um nó no seu juízo, por isso geralmente você vai filtrar para enxergar apenas a atividade de um processo/thread específico.

O básico que você precisa ter em mente para não se perder:
  • Se você não criar nenhum filtro, PM mostra tudo, exceto as exclusões default;
  • Se você criar filtros "exclude", PM continua mostrando tudo, exceto as exclusões default e as suas.
  • Mas se você criar um único filtro "include" que seja, PM inverte seu funcionamento e considera que tudo é "exclude" por default, ou seja, só aparece o que você acrescentar como "include".

Por exemplo, para excluir o Explorer e visualizar todo o resto:



E para enxergar apenas a atividade do Chrome:



Cuidado: PM "lembra" dos filtros criados por você. É aconselhável clicar em RESET antes de criar novos filtros se você não quiser que nada seja excluído do log por acidente.

Dica: Familiarize-se com o menu de contexto do PM. O menu se adapta à linha/coluna onde você clicar com o botão direito, facilitando muito o trabalho de filtragem.




Dica: As opções acessíveis pelos botões não são atalhos para opções presentes no menu e são importantes. Familiarize-se com o efeito de todas elas.



Entender realmente o poder de Process Monitor requer prática e familiaridade com todas as suas opções. Explore o menu principal, o menu de contexto e os botões. Eu não vou nem tentar explicar cada função do programa, até mesmo porque eu só arranho a superfície ainda. Eu prefiro mostrar a utilidade dele através de exemplos práticos que virão em posts futuros. 

quinta-feira, 2 de abril de 2009

Como instalar o GpEdit.msc no Windows XP Home.

Eu já havia mencionado isso de passagem no meu último post sobre esse assunto, mas agora eu testei e comprovei que funciona.

O processo é explicado aqui, que vou reescrever do meu jeito. [05/10/09] A página do link não está mais disponível.

Coleta de arquivos no XP Professional

Vá na pasta %Windir%\System32\ e copie os seguintes arquivos:
  • appmgmts.dll
  • appmgr.dll
  • fde.dll
  • fdeploy.dll
  • gpedit.dll
  • gpedit.msc
  • gptext.dll

Vá na pasta %Windir%\System32\GroupPolicy\Adm\ e copie os seguintes arquivos:
  • conf.adm
  • inetres.adm
  • system.adm

Instalação manual No XP Home
  • Crie a pasta %Windir%\System32\GroupPolicy\Adm\
  • Copie os três arquivos .adm para esta pasta
  • Copie os outros sete arquivos para %Windir%\System32\
Registre as DLLs:

regsvr32 gpedit.dll
regsvr32 fde.dll
regsvr32 gptext.dll
regsvr32 appmgr.dll
regsvr32 fdeploy.dll



Instalação automática

Eu organizei da seguinte forma em um pendrive:

WindowsSystem32GroupPolicyAdm <- Pasta com os três arquivos .adm
WindowsSystem32 <- Pasta com os outros sete arquivos
instalar.bat

Conteúdo de instalar.bat:

copy .\WindowsSystem32\*.* %windir%\system32\
MD %windir%\system32\GroupPolicy\Adm\
copy .\WindowsSystem32GroupPolicyAdm\*.* %windir%\system32\GroupPolicy\Adm\

regsvr32 /s gpedit.dll
regsvr32 /s fde.dll
regsvr32 /s gptext.dll
regsvr32 /s appmgr.dll
regsvr32 /s fdeploy.dll

É preciso executar como administrador, claro.

Variáveis de ambiente que vou usar com freqüência.

Isso é conhecimento básico do Windows (funciona assim desde o DOS), mas como eu vou fazer uma mudança brusca no meu modo de escrever, achei melhor deixar registrado aqui.

Se você abrir um prompt de comando no Windows e digitar o comando SET verá várias variáveis de ambiente que se referem a diretórios. 

  • AllUsersProfile
  • UserProfile
  • APPDATA
  • CommonProgramFiles
  • ProgramFiles
  • SystemDrive
  • SystemRoot
  • TEMP
  • Windir
Estas estão presentes desde o Windows 2000.

Eu vou passar a usar esses nomes de variáveis em meus textos no lugar dos caminhos reais, usando o formato padrão. Por exemplo, vou passar a me referir ao diretório "system32" do Windows assim:

%WINDIR%\System32

Se você copiar e colar exatamente desse jeito na barra de endereços do Explorer ou na janela Executar e der ENTER, verá que o Explorer vai expandir a variável e abrir o alvo indicado. Também funciona exatamente assim em arquivos batch.

Motivos:
  • Encurta o texto na maioria das situações;
  • Independe do layout da instalação - Se eu colocar o caminho "c:\windows" e por algum motivo no sistema alvo o Windows estiver em D: é claro que não vai dar certo.
  • Permite fazer atalhos que independem do nome do usuário corrente;
  • Independe do idioma do Windows - %ProgramFiles% aponta da mesma forma para"C:\Arquivos de Programas" e "C:\Program Files"

Vou substituir os diretórios "hardcoded" por variáveis também à medida que eu for editando textos antigos.

quarta-feira, 1 de abril de 2009

DVDs em promoção no Hiper (Wal-Mart de Recife).

Se você é de Recife e está interessado em comprar DVD barato (e legalmente), dê um pulo em uma das lojas do Hiper. Veja uma lista parcial do que você pode encontrar (todos na versão widescreen exceto menção em contrário):

Por R$4

  • As loucas aventuras de James West (Wild, Wild, West)
  • Os rivais

Por R$8,98 

  • King Kong - Edição especial com dois DVDs
  • Hulk - DVD Duplo (o primeiro, com o Hulk "de borracha")
  • Piratas do Caribe 2 + Piratas do Caribe - O Disco Perdido
  • Eu Sou a Lenda
  • O Juiz (Judge Dredd)
  • Com a Cor e a coragem
  • Top Gang 2
  • Dois é Demais 2 + A garota da Vitrine (dois DVDs)
  • Velocidade Máxima 1 + Reação em Cadeia (dois DVDs)
  • Beowulf
  • O Cheiro do Ralo
  • Velocidade Máxima 2
  • Corra que a polícia vem aí
  • Um tira da pesada 3
  • Espanglês
  • Resident Evil
  • Colateral (dois DVDs)
  • Bad Boys
  • Louca Escapada (Sugarland Express, do Spielberg)
  • Missão Alien
  • Hudson Hawk (com Bruce Willys)
  • O Mundo de Leland
  • Homem Aranha 3
  • Apollo 13
  • 10.000 A.C.
  • O Homem Sem Sombra
  • O Resgate do Soldado Ryan
  • Rocky Balboa + Episódios 1 a 4 da 1a temporada de 24H (dois DVDs)
  • Volcano
  • A Rocha
  • Limite Vertical (Superbit)
  • Sr. e Sra. Smith
  • Mulher Gato
  • Sky High
  • Ver-te-ei no inferno
  • Babe


Por R$10

  • Howard, o Super Herói - Fullscreen (Howard, The Duck)
  • Um Tira no Jardim de Infância - Fullscreen
  • O Dia Depois de Amanhã (versão do cinema)
  • Missão Impossível
  • Daylight
  • Dragnet


Por R$12,90

  • Independence Day - Versões Theather (144min) e Special (153min) no mesmo DVD
  • O Homem da Máscara de Ferro
  • Tomb Raider
  • Clube da Luta
  • O Segredo do Abismo - Versão estendida

Edit: Esqueci de mencionar que ainda parcela em até 0+6 "sem juros", como é típico do Hiper.

ATENÇÃO: Eu passei pelas lojas de Boa viagem, Av. Recife e Casa Forte e a maior variedade estava na última. Mesmo que um DVD desta lista esteja com um preço mais alto na etiqueta, passe no leitor para checar. Piratas do Caribe 2, por exemplo, estava por R$25 na etiqueta, mas o leitor reportava os  R$8,98 da promoção.

O firmware do LG DV397H pode servir no LG DV392H.

Mas atenção! Isso não foi testado ainda e é preciso fazer algumas checagens antes.

Para quem não está acompanhando, Rictad está fazendo um trabalho sensacional com o firmware do LG DV397H, que numa análise superficial feita por mim já parece superar os firmwares Br0max e Xypro em funcionalidade. Uma coisa é certa: Os textos de Rictad já são a maior fonte de informação em língua portuguesa para hacks de DivX players LG. Embora o meu Log de Descobertas seja a maior fonte em língua portuguesa "no geral", eu praticamente só abordo aparelhos Philips e genéricos. Os LGs são substancialmente diferentes. 

A mais recente descoberta de Rictad é que o firmware do LG DV392H funciona no LG DV397H, o que dá a entender que o inverso também se aplica. Porém é preciso ler com cuidado os posts do fórum porque existem dois sub-modelos do LG DV392H e do LG DV397H, com chips "MT1389M" e "MT1389S" e o firmware de Rictad pode "matar" um aparelho "M".