30 de novembro de 2000 - Nesta edição:
EDITORIAL
O QUE HÁ DE NOVO NA SYSINTERNALS
- PsLoggedOn v1.2
- PsShutdown v1.0
- PsTools v1.1
- BgInfo v1.1
- Tokenmon v1.0
- Filemon v4.32
- Regmon v4.32
- Dentro Windows 2000, 3º Ed.
- Revista November and Winter Windows 2000
- Sysinternals na Microsoft
- Licenciamento Sysinternals
INFORMAÇÃO INTERNA
- NFI
- Chaves de registo win9x escondidas
O QUE ESTÁ POR VIR
- Novas chamadas do sistema whistler
PATROCINADOR: SOFTWARE WINTERNALS
A Newsletter Sysinternals é patrocinada pela Winternals Software, na Web em www.winternals.com. Winternals Software é o principal desenvolvedor e fornecedor de ferramentas avançadas de sistemas para Windows NT/2K. Os produtos de Software Winternals incluem FAT32 para Windows NT 4.0, NTFSDOS Professional Edition (um controlador NTFS de leitura/escrita para DOS) e Recuperação Remota.
O comando netstat, que vem com todas as versões de Windows 9x e Windows NT/2000, mostra-lhe o que as portas TCP/IP estão abertas no seu sistema, no entanto não mostra que processo tem a porta aberta. A TCPView Pro, a mais recente ferramenta de monitorização da Winternals, não só vem com uma ferramenta de linha de comando equivalente a netstat, tcpvstat, que mostra qual o processo aberto a cada porta, mas inclui um GUI que mostra as mesmas informações mais um traço em tempo real da atividade TCP/IP. O traço em tempo real revela a aplicação que faz um acesso à rede, os endereços IP locais e remotos do acesso com resolução opcional de nome DNS, o tipo de acesso, o sucesso do acesso e a quantidade de dados transferidos. O Pro TCPView custa apenas $69. Descarregue hoje na www.winternals.com/products/monitoringtools/tcpviewpro.shtml a versão de teste totalmente funcional de 14 dias do TCP Pro View.
Olá a todos,
Bem-vindos ao boletim dos Sysinternals. O boletim tem atualmente 28.000 subscritores.
Um dos benefícios de passar de Windows NT para Windows 2000 é a grande melhoria da fiabilidade. Escrevi sobre as razões das melhorias em vários artigos, e são principalmente o resultado de uma ferramenta chamada Verificador de Condutores. Pode configurar o Verificador, que lança digitando "verificador" na caixa de diálogo run do menu Iniciar, para observar de perto a execução de controladores específicos do dispositivo, procurando violar qualquer uma das várias regras de programação do condutor. No entanto, o Verificador vai um passo mais além do que o controlo passivamente – agrava também o potencial; condições de erro, por exemplo, alocar blocos de memória para o condutor que estão encalhados em regiões inválidas, e zeros campos específicos em estruturas de dados que são passados ao condutor. Se realmente quer ser duro, pode fazer com que o Verificador simula condições de memória baixas para o condutor.
A Microsoft aproveita o Verificador através do seu programa de assinatura de motorista, o que requer que qualquer controlador que seja assinado digitalmente pela Microsoft passe em rigorosos testes de Verificação de Pilotos. Quando um controlador instala, o assistente de hardware verifica se o condutor está assinado. Caso contrário, irá avisá-lo ou não instalar o controlador, dependendo das definições que inseriu no diálogo 'Opções de Assinatura do Condutor', que está acessível a partir da página de Hardware do Sistema applet no Painel de Controlo.
O facto de a política de assinatura de condutores predefinidos alertar os utilizadores finais sobre condutores não assinados é suficiente para que a maioria dos fornecedores de hardware se descontraia em tornar os seus condutores robustos e os assinar. No entanto, os controladores de dispositivos podem entrar no seu sistema sem serem detetados pela política de assinatura do condutor. Apenas os condutores instalados com ficheiros INF (ficheiros de instalação do controlador que terminam na extensão .inf) são verificados para obter assinaturas. As aplicações de configuração podem instalar manualmente os controladores utilizando as APIs de configuração diretamente, quer configurando manualmente as definições de Registo do condutor. As aplicações Sysinternals são grandes exemplos disso: Filemon, Regmon e outras ferramentas Sysinternals que têm componentes do condutor a instalar os seus controladores manualmente, razão pela qual não é avisado que não são assinados pela Microsoft.
Os condutores que não são normalmente instalados com ficheiros INF incluem scanners de vírus, software de encriptação e software de queima de CD-ROM. No entanto, isso não impede que os condutores relacionados com hardware escorreguem. O condutor da Sysinternals Ctrl2cap para Windows 2000 (www.sysinternals.com/ctrl2cap.htm é um exemplo de um condutor relacionado com hardware que instala de uma forma que contorna os controlos de assinatura do condutor. Esta lacuna leva à presença de condutores no seu sistema que não foram verificados, o que pode comprometer a estabilidade do sistema (verifie todos os condutores da Sysinternals nas configurações mais altas). A Microsoft deve forçar todos os controladores, e não apenas aqueles que instalam com ficheiros INF, a passar pela verificação de assinaturas.
Por que estou neste discurso? O meu software de queima de CD-ROM, que é o mais popular desse tipo de software no mercado, tem um condutor que vai de forma reprodutivelmente o meu Windows sistema SP1 de 2000. Se eu configurar o Verificador do Condutor para verificar, o sistema nem sequer termina o arranque antes que o Verificador detete a primeira violação do condutor e que choque o sistema. O condutor instalou-se sem ficheiro INF, por isso não fui avisado de que não tinha assinado. Garanto-te que se a política da Microsoft fosse mais rigorosa, este fornecedor pensaria duas vezes antes de enviar um condutor não assinado (e buggy).
Por favor, passe a newsletter a amigos que acha que podem estar interessados no seu conteúdo.
Obrigado!
- Marca
O QUE HÁ DE NOVO NA SYSINTERNALS
PSLOGGEDON V1.2
Além de uma mudança de nome óbvia de LoggedOn para PsLoggedOn, esta ferramenta de linha de comando, que tem a capacidade de mostrar quem está registado localmente e através de partilhas de recursos no local ou num sistema remoto, tem algumas novidades. A primeira é o comutador de linha de comando '-l' que resultou do feedback do utilizador. Muitas pessoas usam o PsLoggedOn para ver se alguma conta está registada localmente nos seus servidores. Pode haver utilizadores registados através de ações de ficheiros, por exemplo, mas isso não é relevante quando se faz uma decisão sobre quando uma conta pode ser atualizada ou se o servidor pode ser administrado remotamente.
A segunda nova funcionalidade da PsLoggedOn mostra-lhe não só quem está ligado, mas também a hora em que a logor a logom. O PsLoggedOn obtém tempos de início de sessão para logons de partilhas de recursos gratuitamente quando utiliza um Win32 API, NetSessionEnum, para enumerar logons de partilha de recursos (o comando net de linha de comando também utiliza NetSessionEnum para enumerar sessões). No entanto, não existe nenhuma API Win32 que lhe diga quem está ligado a um sistema localmente, muito menos a que horas iniciam sessão.
Para determinar quem está ligado a um sistema localmente, o PsLoggedOn enumera os IDs de Segurança (SIDs) localizados sob a chave de registo de um HKEY_USERS computador. Quando alguém entra num computador localmente, quer na consola, quer através de um serviço, o seu perfil é carregado na HKEY_USERS chave. As aplicações podem aceder às definições de registo do seu perfil através da HKEY_CURRENT_USER chave porque o sistema trata essa chave como uma ligação simbólica ao seu perfil particular em HKEY_USERS . Assim, o PsLoggedOn pode saber quem é iniciado localmente traduzindo os SIDs que encontra na chave de um computador para o nome de HKEY_USERS utilizador correspondente. O PsLoggedOn RegConnectKey utiliza-se para ligar ao Registo de um computador remoto quando o direciona para a lista de utilizadores ligados a um sistema remoto.
Descobrir a que horas um utilizador iniciou o login funciona usando um truque semelhante. Quando o processo WinLogon carrega o perfil de um utilizador HKEY_USERS após o login, o WinLogon cria uma sub-chave volátil (não guardada no perfil no disco) no seu perfil nomeado, adequadamente, Ambiente Volátil. O Registo armazena os últimos cartões de tempo modificados para chaves de registo, e como o sistema não modifica as sub-teclas de Ambiente Volátil após a sua criação, a PsLoggedOn pode determinar quando é que um utilizador inicia o login obtendo o tempotando do seu sub-chave Ambiente Volátil.
Baixe PsLoggedOn v1.2 com fonte completa em
www.sysinternals.com/psloggedon.htm.
PSSHUTDOWN V1.0
Se alguma vez precisar de desligar ou reiniciar um sistema NT/2000 local ou Windows remoto, então vai querer descarregar o PsShutdown. PsShutdown é um clone da ferramenta NT/2000 Resource Kit de Windows Encerramento. São necessários os mesmos argumentos da linha de comando que lhe permitem especificar um atraso antes do encerramento, quer reinicie ou não, uma mensagem opcional para exibir a qualquer utilizador que esteja atualmente ligado ao sistema, e o nome do computador para desligar ou reiniciar.
Baixe o PsShutdown v1.0 em www.sysinternals.com/psshutdn.htm.
PSTOOLS V1.1
Deve ter notado o número crescente de ferramentas na Sysinternals que começam com o prefixo "Ps". A primeira foi a PsList, uma ferramenta de linha de comando que lista informações sobre os processos ativos no sistema local ou Windows remoto NT/2000. Dei o nome à PsList porque a ferramenta padrão de informação UNIX de processo de linha de comando chama-se "ps". A próxima ferramenta para obter o prefixo foi o PsKill, um utilitário de linha de comando que permite terminar os processos em execução em sistemas Windows NT/2000 locais ou remotos. Dei ao PsKill o prefixo "Ps" porque era um companheiro perfeito para a PsList.
Ao longo do tempo, desenvolvi outras ferramentas que partilhavam as mesmas características que a PsList e a PsKill: são baseadas em linha de comando e trabalham no sistema local ou Windows remoto NT/2000. Por exemplo, o ElogList permite-lhe despejar o conteúdo dos registos de eventos de um sistema, e o GetSid mostrou-lhe o SID de um computador ou conta particular. Recentemente, decidi juntar todas estas ferramentas, dando-lhes todo o prefixo "Ps" e tornando-as descarregadas como um único pacote chamado PsTools.
O PsTools, que inclui a PsList, PsKill, bem como o renomeado PsLogList e PsGetSid, é composto por um total de sete ferramentas. Se vir uma ferramenta Sysinternals com o prefixo "Ps", sabe automaticamente que é uma ferramenta de linha de comando que funciona localmente e remotamente.
Baixar PsTools v1.1 em www.sysinternals.com/pstools.htm.
BGINFO V1.1
Como resultado de um tremendo feedback do utilizador, Bryce atualizou o BgInfo, um utilitário que define o papel de parede do ambiente de trabalho para exibir informações personalizáveis sobre a configuração de um sistema, como resultado do feedback do utilizador que obteve. Por predefinição, o BgInfo conta durante 10 segundos antes de aplicar as definições especificadas na sua caixa de diálogo, mas uma nova opção de linha de comando, /timer permite-lhe alterar ou eliminar completamente a contagem regressiva. Isto torna mais conveniente incluir o BgInfo num script de logon, ou como um atalho na pasta Startup de um perfil.
A versão 1.1 inclui outras novidades, tais como a capacidade de exibir texto arbitrário que define e categorias de informação mais pré-definidas. O bitmap bgInfo v1.1 do ambiente de trabalho cria também é geralmente menor, minimizando a pegada de memória do bgInfo no ambiente de trabalho.
Baixar BgInfo v1.1 em www.sysinternals.com/bginfo.htm.
TOKENMON V1.0
Tokenmon é a mais recente adição ao variado conjunto de ferramentas de monitorização que você pode baixar a partir de Sysinternals. A Tokenmon, que partilha a mesma UI que a dos seus primos como Regmon e Filemon, monitoriza uma atividade significativa relacionada com a segurança num sistema NT/2000 Windows. O que é uma atividade "significativa" relacionada com a segurança? No centro da segurança Windows NT/2000 está o objeto simbólico, uma estrutura de dados que contém uma conta SID, SIDs de grupo e privilégios. Sempre que um processo tenta aceder a um objeto seguro, o Monitor de Referência de Segurança utiliza os SIDs no seu símbolo como parte da validação de acesso. Se um processo tentar executar uma operação restrita, como reiniciar o sistema, o sistema verifica o privilégio adequado no token do processo.
Uma das funcionalidades poderosas (e patenteadas) do modelo de segurança Windows NT/2000 é a personificação. A personificação permite que um fio substitua temporariamente a sua identidade baseada no processo e adote uma identidade alternativa através da utilização de um símbolo de representação. As aplicações do servidor aproveitam a personificação ao aceder a recursos em nome de um cliente, quando adotam a identidade do cliente durante a duração do acesso.
A Tokenmon instala ganchos de chamadas de sistema da mesma forma que o Regmon faz para as APIs do Registo, a fim de monitorizar a criação e eliminação de fichas, a ativação e desativação de privilégios e a personificação. Tokenmon também usa ganchos de criação de processo fornecidos pelo núcleo NT/2000 para monitorizar a criação e eliminação de processos, e outras APIs para determinar quando um utilizador inicia sessão e quando inicia sessão.
O código-fonte completo de Tokenmon é publicado, e vale a pena discutir algumas das técnicas interessantes que o código demonstra. Tokenmon deteta um evento de logon ligando a chamada do sistema NtCreateToken, que é a usada por corretores de logon, como WinLogon, para criar um símbolo inicial para o primeiro processo de uma nova sessão de início de sessão. Os processos criados pelo primeiro processo herdam uma cópia do primeiro token. Para detetar o logoff, a Tokenmon regista-se para notificação de logote através da função SeRegisterLogonSessionTerminatedRoutine, uma API que existe em benefício dos controladores do sistema de ficheiros, chamadas redirecionadores de rede, que cache dados da sessão de início de sessão e deseja limpar quando um utilizador se desliga. Os redirecionadores de rede implementam o lado cliente das ligações cliente/servidor de partilha de ficheiros.
Outro detalhe interessante da implementação de Tokenmon é a forma como Tokenmon liga as APIs que monitoriza. Algumas das APIs que os ganchos Tokenmon não são exportados para uso por controladores de dispositivos, mas são exportados no modo de utilizador NTDLL.DLL biblioteca para utilização por aplicações que utilizam os seus equivalentes Win32. Todas as APIs de registo que os ganchos Regmon são exportados em modo kernel, o que permite ao controlador do dispositivo Regmon obter os seus números de chamada do sistema e ligar adequadamente a tabela de chamadas do sistema. Para as APIs não exportadas para utilização pelos condutores, o TOkenmon GUI deve obter os números de chamada utilizando as exportações em NTDLL.DLL e, em seguida, passar os números para o condutor para que o condutor possa ligar a mesa de chamada do sistema. Assim, a Tokenmon demonstra como ligar chamadas de sistema que não são exportadas em modo kernel.
Descarregue Tokenmon v1.0 com fonte completa em www.sysinternals.com/tokenmon.htm.
FILEMON V4.32
Esta última atualização de Filemon introduz uma filtragem mais intuitiva e completa, exibição de nomes completos do caminho do UNC para Windows acesso a ficheiros de rede 9x/Me e exibição de nomes de ficheiros de metadados NTFS.
Versões anteriores do Filemon obrigaram-no a introduzir filtros com wildcards obrigatórios. Por exemplo, se quiser monitorizar os acessos ao diretório temp na C: unidade, teve de introduzir um filtro como este: c:\temp\* "
Com os novos wildcards de sintaxe filtrante são opcionais, por isso, enquanto o filtro de exemplo funcionaria, c:\temp " " alcançaria o mesmo efeito. Além disso, o Filemon aplica agora os filtros introduzidos contra todos os campos do visor, incluindo o nome do processo, tipo de pedido, caminho e coluna "outro". Esta flexibilidade permite-lhe observar tipos específicos de pedidos, ou pedidos com certos dados na outra coluna, algo que não era anteriormente possível.
Os utilizadores de sistemas Filemon em Windows sistemas 9x/Me verão agora nomes de trajetória de exibição de Filemon com sintaxe UNC completa quando acederem a recursos remotos. O Filemon anteriormente não exibia o servidor ou nome de partilha para esses acessos, resultando em nomes de caminhos incompletos.
Finalmente, se utilizou o Filemon no Windows NT/2000, viu sem dúvida o texto "DASD" na coluna do caminho para muitos acessos ("DASD" vem do "Dispositivo de acesso direto Armazenamento", termo que a Microsoft usa para descrever acessos a um volume que contorna as estruturas do sistema de ficheiros). Para a maior parte da atividade nos volumes NTFS, o DASD é agora uma coisa do passado. Em vez disso, verá os nomes dos ficheiros de metadados NTFS que estão a ser lidos e escritos. Por exemplo, uma atualização de um registo MFT teria resultado numa linha de saída DASD antes, mas agora você verá isso como um acesso a "$Mft", o nome de ficheiro de metadados interno do MFT.
Porque é que o Filemon não mostrou nomes de ficheiros de metadados antes, e como obtém estes nomes agora? Os objetos de ficheiro que representam ficheiros de metadados NTFS não armazenam um nome de ficheiro, pelo que o Filemon não pode extrair o nome do objeto do ficheiro. O método alternativo de Filemon para obter o nome de um ficheiro, consultando o controlador do sistema de ficheiros, também não funciona para ficheiros metadados NTFS. Enquanto o NTFS responde com os nomes dos ficheiros de metadados, o NTFS no NT 4 causa falhas aleatórias, e o NTFS no Win2k ocasionalmente fica pendurado ao responder a tais consultas.
Filemon tem, portanto, de recorrer a um truque para obter os nomes dos ficheiros de metadados. Quando vê um pedido dirigido a um objeto de ficheiro num volume NTFS sem nome, envia ao NTFS uma consulta para o índice do ficheiro. Este é o mesmo índice que a função Win32 GetFileInformationByHandle retorna, e para ficheiros em volumes NTFS o índice é o índice MFT do ficheiro. As primeiras 16 entradas no MFT são reservadas para ficheiros de metadados específicos, por isso, dado um índice nessa gama, o Filemon simplesmente procura o nome do ficheiro dos metadados na sua própria tabela.
Infelizmente, ainda verá o DASD para metadados de diretório e acessos à tabela de alocação de ficheiros (FAT) em volumes FAT, porque a FAT não armazena nomes para ficheiros de metadados de diretório ou para a FAT. Ficará surpreso com a frequência com que o ficheiro de registo NTFS ($LogFile) é acedido. A propósito, o NTFS no Whistler armazena os nomes para ficheiros de metadados, por isso o truque é desnecessário no Whistler.
A melhoria final do Filemon permite que o Filemon mostre os horários do dia com a resolução milissegundo. Este suporte exigia hacks feios no Windows controlador filemon 9x/Me devido a bugs numa função de tempo no núcleo de Windows 9x/Me. Consulte o código de origem para mais informações.
Descarregue Filemon v4.32 com código fonte em www.sysinternals.com/filemon.htm.
REGMON V4.32
As alterações de Regmon não são tão importantes como as do Filemon, mas o Regmon agora suporta a mesma sintaxe de filtragem mais intuitiva que o Filemon, e tal como o Filemon, aplica os filtros a todos os campos. Também pode mostrar resolução milissegundo sobre os timetamps.
Aqueles que começaram a jogar com Whistler (o sucessor de Windows 2000) Beta 1 podem ter reparado que versões anteriores do crash de Regmon Whistler quando começaram. Isto porque a Microsoft colocou a tabela de chamadas do sistema, que o Regmon modifica para inserir os seus ganchos, na memória protegida por escrito. O Regmon v4.32 funciona em torno disto utilizando uma técnica para a qual não forneci código fonte a pedido da Microsoft, porque a técnica pode quebrar no lançamento final de Whistler, e a Microsoft está a explorar formas de suportar a ligação de chamadas do sistema. Windows NT não foi projetado para suportar a ligação de chamadas do sistema, que foi pioneira com o primeiro lançamento de Regmon em meados de 1996.
Aqui está uma dica de Filemon/Regmon indocumentada. Costumo receber e-mails que perguntam como executar Regmon ou Filemon a partir de uma conta não administrativa em Windows NT/2000 Existem muitos casos em que uma determinada aplicação funciona corretamente quando funciona a partir da conta do administrador, mas não da de um utilizador desfavorecido, onde Regmon e Filemon seriam úteis para determinar por que a aplicação falha (a sua geralmente uma questão relacionada com definições de segurança num ficheiro ou chave de registo). No entanto, executar Regmon e Filemon a partir de uma conta desprivilegiada falhará porque tanto o Filemon como o Regmon instalam controladores de dispositivos, algo que requer privilégio de administrador.
No entanto, há um truque que permite que trabalhe em torno disto: Se iniciar sessão como administrador e iniciar Filemon ou Regmon, poderá posteriormente executá-los a partir de contas desfavorecidas. Isto porque Filemon e Regmon instalam um controlador na sua primeira execução, e na sequência das execuções acede ao condutor já carregado. Como não implemento qualquer segurança no condutor, um utilizador desprivilegiado pode executar as ferramentas depois de o condutor estar carregado. Problema de segurança? Sim, mas Filemon e Regmon destinam-se a ser ferramentas de resolução de problemas, por isso eu, e as pessoas que perguntam como gerir os serviços públicos a partir de contas desfavorecidas, envemos isto como uma característica.
Descarregue regmon v4.32 com código fonte completo em www.sysinternals.com/regmon.htm.
DEBUGVIEW V4.02
Uma das aplicações pelas quais recebi o feedback mais feedback dos utilizadores é, de certa forma surpreendente, a DebugView. Esta nova versão conta com algumas melhorias significativas que abordam muitos dos pedidos de funcionalidades e funcionalidades que recebi e tornam o DebugView mais poderoso do que nunca.
Mais visivelmente, o DebugView suporta agora até cinco filtros de realce diferentes, cada um com as suas próprias cores personalizáveis. Isto permite-lhe simultaneamente obter em simultâneo diferentes palavras-chave na sua saída de depurar e facilmente distingui-las. Além disso, o DebugView implementa a mesma nova sintaxe de filtragem que o Filemon e o Regmon, tornando os wildcards opcionais para a correspondência de substring.
Uma queixa que recebi sobre versões anteriores do DebugView é que, mesmo que apenas quisesses capturar a saída do Debug Win32, ainda precisavas de privilégios administrativos para executar o DebugView, porque a DebugView não funcionaria se não conseguisse instalar o seu controlador de dispositivo. Esta nova versão funciona mesmo a partir de contas que não têm privilégios especiais. Se não conseguir instalar ou aceder ao seu controlador, simplesmente desativa os itens de menu relacionados com a captura do modo kernel.
Duas funcionalidades que facilitam a captura automática do DebugView no depuração quando iniciar sessão são a sua opção de minimização e suporte para comutadores de linha de comando. Utilizando comutadores de linha de comando, pode ter o DebugView a iniciar na bandeja do sistema e registar a saída que captura para um ficheiro, e depois de ter iniciado o DebugView pode utilizar uma opção de menu para alternar o seu comportamento de botão entre minimizar normalmente e minimizar a bandeja do sistema.
Para os utilizadores que executam o DebugView em sessões remotas em Windows serviços de terminal de 2000, o DebugView captura agora a saída Win32 gerada por aplicações em execução na sua sessão remota, e opcionalmente, a partir da sessão da consola. Isto é útil para depurar servidores COM e serviços Win32 remotamente, uma vez que este tipo de programas são executados na sessão de consola.
Por último, o DebugView agora funciona no Whistler Beta 1, com suporte para capturar a saída das várias novas variantes do Whistler na função DbgPrint em modo kernel.
Baixar DebugView v4.02 em www.sysinternals.com/dbgview.htm.
INSIDE WINDOWS 2000, 3ª EDIÇÃO
O livro oficial sobre os internos de Windows 2000 já está disponível! Esta edição, coautoria de David Solomon (www.solsem.com) e Mark Russinovich, é mais de 40% maior do que a anterior, com nova cobertura de networking, plug-and-play, gestão de energia, serviços, registo, WMI, arranque e encerramento, e armazenamento. Também inclui um CD com várias ferramentas poderosas, não disponíveis em nenhum outro lugar, para investigar Windows 2000 internos.
Uma das ferramentas que escrevi especificamente para o livro é o LiveKd, um programa que permite que você corra ambos os depurões de kernel da Microsoft, i386kd e WinDbg, num sistema ao vivo como se estivesse a olhar para um crash dump. Muitas das experiências apresentadas no trabalho do livro sobre um sistema ao vivo quando executado usando LiveKd. O LiveKd funciona instalando um controlador de filtro de sistema de ficheiros que apresenta a memória física do computador ao depurante da Microsoft como se se tratasse de um ficheiro de despejo de falhas. LiveKd cria um ficheiro pseudo-dump de 0 comprimento, e quando o depurador lê a partir do ficheiro, LiveKd retorna os dados da memória física. Confira a página de errata e atualizações do livro para obter um patch LiveKd que corrija uma incompatibilidade entre LiveKd v1.0 e vários scanners de vírus on-access.
Consulte a tabela de conteúdos e encomendas do livro agora através de www.sysinternals.com/insidew2k.htm.
REVISTA NOVEMBER AND WINTER WINDOWS 2000
Curioso sobre o que exatamente mudou entre NTFS v4 e NTFS v5? Em caso afirmativo, confira as minhas séries em duas partes nas edições de novembro e inverno da Windows revista de 2000. A parte 1 descreve pontos de recandidão, junções de diretórios, pontos de montagem de volume, suporte de quota e definições de segurança consolidadas. A Parte 2 termina com um olhar atento sobre encriptação, streams, rastreio de ligação distribuído e o diário de mudança. Ambos os artigos levam-no mais fundo do que outros, apresentando as alterações no disco e o comportamento interno destas novas funcionalidades.
Uma coisa de que não falo nos artigos é como o NTFS para Windows NT 4 não é realmente uma versão
Encontre links para todas as nossas publicações na www.sysinternals.com/publ.htm.
SYSINTERNALS NA WWW.MICROSOFT.COM
A Sysinternals tem feito uma aparição em vários novos artigos da Microsoft Knowledge Base (KB) desde a última newsletter, e também encontrei alguns artigos mais antigos da KB que se referem a Sysinternals.
Q260513 PRB: Ocorre um erro quando instala produtos Visual Studio
http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
Este artigo recomenda que os leitores utilizem Filemon e Regmon para resolver problemas de instalação da Microsoft Visual Studio.Q202258 XADM: O sistema não consegue encontrar o caminho especificado - ID no: 0cx002003
http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
A Microsoft realmente leva os utilizadores através da utilização do Filemon para resolver problemas Exchange problemas de atualização do pacote de serviço 5.0, completado com uma linha de saída de Filemon de amostra e recomendações sobre a configuração de filtros.Q269383 PRB: Mensagem de 'Erro de acesso ao registo do sistema' ao exibir referências VB/VBA
http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
Regmon obtém a referência deste artigo, que discute a sua utilização para determinar por que razão o diálogo de referências no Visual Basic o IDE relata quando não consegue aceder a uma chave de registo como resultado de um erro nos Relatórios de Cristal do Seagate que aplica permissões incorretas em várias teclas.Q269251 BUG: Automatizar Windows instalador pode pendurar ao enumerar produtos
http://support.microsoft.com/support/kb/articles/q269/2/51.asp
Regmon é novamente destacado aqui, onde é usado para revelar um Windows de automatização do instalador.Q276525 O seu computador pode parar de responder quando monitoriza as pegas abertas
http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
NtHandle é responsável por revelar um bug em Windows NT 4 SP6a, onde o núcleo seria pendurado em certas condições ao usar NtHandle. A Microsoft trabalhou comigo para resolver o problema e emitiram um hotfix. Se o seu sistema NT 4 estiver pendurado ao utilizar o NtHandle, deve obter o seguinte link para este artigo.Ntregmon.exe do Q160660 causa stop 0x0000001E com novo pacote de serviços
http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
Este último é um velho, mas goodie. A primeira versão do Regmon usou números de chamadas de sistema codificados para corrigir a tabela de serviço do sistema de modo a ligar APIs de Registo. Como os números de chamadas do sistema às vezes mudam entre os pacotes de serviço, esta técnica é bastante frágil, e eu não tinha codificado defensivamente em antecipação a isto (contra os conselhos de Andrew Schulman, que tinha medo que Regmon se partisse). Com certeza, o SP3 introduziu algumas novas chamadas de sistema, e o Regmon iria falhar o sistema quando ligasse chamadas incorretas do sistema. Embora isto tenha irritado algumas pessoas, tirei o meu próprio artigo da KB!
LICENCIAMENTO SYSINTERNALS
Mesmo que o software que descarrega da Sysinternals seja de software gratuito, o que significa que pode usá-lo sem pagar uma taxa, não está autorizado a redistribuí-lo, ou a obter produtos que distribui a partir do código de origem Sysinternals. Por exemplo, se trabalhar numa empresa onde vários utilizadores encontram ferramentas específicas do Sysinternals úteis, não poderá publicar as ferramentas numa partilha interna ou no Web site. Em vez disso, coloque uma ligação no seu site para a casa de cada ferramenta em Sysinternals. Isto também ajuda a garantir que os seus colegas descarregam sempre as versões mais recentes.
Se pretender redistribuir as ferramentas Sysinternals internamente, com um produto comercial, ou num CD de shareware, ou se pretender basear um produto comercial ou um programa redistribuído no código de origem Sysinternals, envie um e-mail explicando os detalhes da sua utilização desejada para licensing@....
INFORMAÇÃO INTERNA
NFI
Algumas newsletters revelaram a existência da ferramenta DiskEdit que a Microsoft enviou inadvertidamente no CD NT 4 SP4. DiskEdit é um espectador de estrutura de sistema de ficheiros muito poderoso, embora peculiar, que você pode usar para examinar NTFS e FAT (embora seja o suporte NTFS que é interessante) estruturas de dados em disco. Se perdeu o CD NT 4 SP 4 e está interessado em explorar estruturas de disco NTFS, não está totalmente no escuro. A Microsoft lançou uma ferramenta gratuita chamada NFI (NTFS Information) que compreende e pode despejar as estruturas internas dos volumes NTFS. Embora a sua saída não seja tão detalhada como a do DiskEdit, é interessante e reveladora.
Você pode baixar NFI como parte das Ferramentas de Suporte do OEM em http://support.microsoft.com/support/kb/articles/q253/0/66.asp. Executar NFI com um nome de ficheiro despeja o registo NTFS MFT para esse ficheiro. O exemplo a seguir mostra nfi despejando o registo MFT para o $Quota ficheiro de metadados, um ficheiro que só existe se tiver uma gestão de quota ativada num volume:
C:\nfi c:\$extend\$quota
File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)
A saída mostra que o ficheiro ocupa a 24ª entrada no MFT (o índice de ficheiros é de 24), e que contém quatro atributos, incluindo informação padrão, nome de ficheiro, e duas raízes de índice (e índice é essencialmente uma lista de entradas colhidas, como um diretório). Descrevo como a NTFS usa os $Quota índices na minha mais recente série de Windows 2000 magazine na NTFS v5.
Para despejar todos os ficheiros num volume, especifique a letra de unidade na linha de comando da NFI sem um nome de ficheiro, por exemplo. nfi c: Verá uma lista de cada entrada MFT, incluindo todos os ficheiros de metadados.
A NFI tem outros talentos, como a capacidade de traduzir um número sectorial no ficheiro em que reside. Quer saber em que ficheiro está o sector 2345? C: Utilize o comando nfi c: 2345 . Note que isto falha em volumes de SOFTWARE-RAID como conjuntos de volume e conjuntos de listras. A NFI trabalha tanto na NT 4 como Windows 2000.
CHAVES DE REGISTO WIN9X ESCONDIDAS
Há duas questões, disse que ia cobrir as "chaves escondidas do Registo Win9x" no seguinte boletim informativo, e vários de vocês lembraram-me que me tinha esquecido. Este mês conto-te sobre as chaves escondidas do registo em Windows 9x.
Há alguns anos, descobri uma forma de criar chaves escondidas no registo em Windows NT. Por oculto, quero dizer que, embora possa ver as chaves a serem acedidas pela aplicação que as cria com o Regmon, não pode escrever um programa Win32 para olhar para os valores da chave, nem pode olhar para as chaves com os editores do Regedit ou Regedt32 Registry. As teclas ocultas são úteis para armazenar dados que não pretende que os utilizadores finais possam modificar, como a data limite de tempo de um produto experimental.
O truque para fazer uma chave de registo oculto foi a minha perceção de que a API nativa NT, que é a interface de chamada do sistema sobre a qual a API Win32 é construída, exige que as chaves do registo sejam especificadas como cordas do Unicode contadas.
Uma cadeia de unicó contada é aquela cujo comprimento é indicado por um campo de comprimento, e não pela presença de um exterminador nulo. Utilizando a API nativa pode, portanto, criar chaves de registo que contenham um carácter nulo, como "test\0test" . Uma vez que a chave de registo da API da Win32 é baseada em cordas terminadas nulas, não há como abrir uma chave de registo que contenha um exterminador nulo usando a API Win32. Se tentasse passar o nome-chave do exemplo anterior RegOpenKey ou seria tratado como , com a corda RegCreateKey"test" truncada no personagem nulo. Uma vez que todos os editores de registo existentes, incluindo os agregados com Windows NT e Windows 2000, use a API Win32, uma aplicação que usa a API nativa para criar nomes incorporados a nulos efetivamente faz chaves escondidas.
Este método funciona em Windows NT, mas e Windows 9x? Não pensei que houvesse uma maneira de fazer chaves escondidas no registo no Windows 9x até que alguém me enviou um e-mail com um ficheiro de registo Regmon que mostra o Internet Explorer (IE) a aceder a chaves que não aparecem no Regedit. Para ver isto por si mesmo, inicie o Regmon e desagrega o seguinte, inclua o filtro: "policydata". Em seguida, inicie o IE (isto funciona para todas as versões do IE 4 e IE 5) e visite um web site. Se não vir nenhuma saída no Regmon, aceda ao diálogo de configuração de opções do IE e certifique-se de que o 'Content Advisor' está ativado.
Se o Content Advisor estiver ativado ou alguma vez tiver sido ativado no seu sistema, verá acessos à HKLM\PolicyDat chave e às suas sub-chaves. No entanto, não encontrará uma chave PolicyData HKEY_LOCAL_MACHINE quando olhar no Regedit. Tire um minuto e veja se consegue descobrir o que se passa.
A resposta é que o IE está a carregar dinamicamente uma colmeia de registo usando a RegLoadKey API Win32, a ler os valores de que necessita e, em seguida, a descarregar a colmeia com RegUnloadKey . A colmeia é nomeada C:\Winows\System\Ratings.pol – o ficheiro está escondido e só de leitura, mas pode revelá-lo digitando. attrib –r –h c:\windows\system\ratings.pol
Os vestígios que vê em Regmon mostram-lhe a informação que o Content Advisor procura na colmeia. Se quiser explorar o seu conteúdo, descarregue o meu utilitário Regload a partir de www.sysinternals.com/regload.zip e execute-o com a seguinte sintaxe: regload test c:\windows\system\ratings.pol . Em seguida, abra regedit e HKLM\test navegue. Os valores que encontrará correspondem às definições especificar no Aviso de Conteúdo e estão relacionados com o ficheiro de configuração nomeado no Users\FileName0 valor da colmeia. O valor normalmente aponta para C:\Windows\System\RSACi.rat , o ficheiro de classificações definido pela Internet Content Rating Association. A propósito, poderá ver um valor com o nome algo humorístico de "PleaseMom" nas definições de Registo do Content Advisor, por exemplo em HKLM\Test\Users\Default . Este valor deriva da caixa de verificação "Supervisor pode escrever uma palavra-passe para permitir que os utilizadores vejam conteúdo restrito" na página geral do diálogo de definições do Content Advisor.
A razão pela qual a Microsoft iria obstacular a existência destes valores de registo deve ser óbvia. No entanto, há uma fraqueza muito séria no seu design. Note que quando ativar o Content Advisor deve especificar uma palavra-passe que proteja o diálogo de definições do Orientador de Conteúdo. Esta palavra-passe é armazenada em HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Key . Elimine esse valor e, presto, pode aceder às definições do Content Advisor sem introduzir uma palavra-passe! Agora, se os desenvolvedores do IE se deram ao trabalho de obstaculizar as definições do Content Advisor, por que deixam esta porta dos fundos pendurada ao ar livre? Design típico de segurança da Microsoft, suponho. A propósito, para descarregar a chave que carregou com Regload basta regload test escrever.
O QUE ESTÁ POR VIR
NOVAS CHAMADAS DO SISTEMA DE ASSOBIOS
Whistler é uma evolução incremental do sistema operativo Windows 2000 com foco no aumento da fiabilidade e migração fácil de utilizadores de sistemas operativos Windows 9x. No entanto, inclui algumas alterações no núcleo. As mais visíveis são as novas chamadas do sistema e as funções de núcleo exportadas (disponíveis para utilização por controladores de dispositivos). Da próxima vez, vou dar-te uma prévia destes novos APIs de kernel.
Obrigado por ler o Boletim Sysinternals.
Publicado quinta-feira, 30 de novembro de 2000 19:05 por ottoh
[Newsletters Archive ^][ Volume 2, Número 4][Volume 3, Número 1 ]
[Newsletters Archive ^][ Volume 2, Número 4][Volume 3, Número 1 ]
A Newsletter Sistemas Internas Volume 2, Número 5
www.sysinternals.com
Direitos autorais (c) 2000 Mark Russinovich