Compartilhar via


[Arquivo de Boletins Informativos ^] [< Volume 2, Número 5] [Volume 3, Número 2 >]

O Boletim Informativo Interno dos Sistemas Volume 3, Número 1

http://www.sysinternals.com
Copyright (C) 2001 Mark Russinovich


18 de abril de 2001 - Nesta edição:

  1. EDITORIAL

  2. NOVIDADES NO SYSINTERNALS

    • PsService v1.01
    • PsFile v1.0
    • PsExec v1.11
    • HandleEx v4.0
    • DebugView v4.11
    • Dentro do Windows 2000, 3º Ed.
    • Revista Windows 2000 de fevereiro
    • Sysinternals na Microsoft
  3. INFORMAÇÕES INTERNAS

    • Atalhos de teclado esporádico
    • Mensagens de depuração PnP
    • Decisão de engenharia reversa
    • Novas chamadas do sistema Windows XP
    • Rede desconectada
    • WinDev
    • TechEd EUA
  4. O QUE ESTÁ POR VIR

    • Dentro da pré-busca do Windows XP

PATROCINADOR: WINTERNALS SOFTWARE ~~~~

O Boletim Informativo Sysinternals é patrocinado pela Winternals Software, na Web em http://www.winternals.com. O Winternals Software é o principal desenvolvedor e provedor de ferramentas de sistemas avançados para Windows NT/2K. Os produtos Winternals Software incluem FAT32 para Windows NT 4.0, NTFSDOS Professional Edition (um driver NTFS de leitura/gravação para DOS) e Recuperação Remota.

A Winternals tem o orgulho de anunciar o Defrag Commander NE versão 1.2, uma solução de desfragmentação corporativa de baixo custo fácil de usar que adiciona suporte NT 4 ao suporte existente do Windows 95/98/Me e do Windows 2000. O Defrag Commander NE aproveita os desfragmentadores internos do Windows 2000 e do Windows 95/98/Me e adiciona seu próprio desfragmentador poderoso para o Windows NT 4. Agora você pode gerenciar agendamentos de desfragmentação em toda a sua empresa windows a partir de um snap-in MMC simples , sem precisar instalar nenhum software cliente em seus sistemas NT ou Windows 2000. Uma licença de 10 sistemas está disponível para compra online por apenas US$ 169, e descontos agressivos de quantidade estão disponíveis. Visite http://www.winternals.com para obter mais informações.

Olá, pessoal.

Bem-vindos ao boletim informativo do Sysinternals. Atualmente, o boletim informativo tem 31.500 assinantes.

Uma das primeiras coisas que você percebe ao instalar uma versão beta do Windows XP é a interface do usuário reprojetada, chamada Luna. A aparência luna permeia todos os aspectos da interface, desde o comportamento do menu de inicialização até o design de menus e caixas de diálogo do aplicativo. Essa conversão total é obtida por meio do uso de um mecanismo de "temas". Os temas são descritos em arquivos de estilo de tema (arquivos que terminam em .msstyles) e o arquivo de tema Luna, luna.msstyle, está localizado em \Windows\Resources\Themes\Luna. No mesmo diretório, você encontrará um subdiretório chamado Shell, no qual shellstyle.dll está localizado. Não está claro como o XP usa a DLL – ela é carregada por Explorer e tem uma folha de estilos HTML enterrada nela, mas sem exportações. Como comdlg.dll e kernel32.dll importá-lo e cada aplicativo obtém uma cópia dessas DLLs, cada processo também obtém uma cópia carregada de \Windows\System32\UxTheme.DLL, a biblioteca de clientes de temas. Essa DLL exporta funções como IsThemeActive, IsAppThemed, GetCurrentThemeName, DrawThemeBackground e GetThemeColor.

O Registro é onde o tema atual é especificado e a pervasividade do tema é configurada. Procure em HKEY_CURRENT_USER\Software\Microsoft\Plus!\Themes e encontre uma chave chamada Apply em que você vê valores como "cores" e "ícones" que especificam onde o tema deve estar ativo. Na mesma chave, a Current subchave tem o caminho para o arquivo .msstyles para o tema atual.

Considerando que a "esfolação" tornou-se a raiva para aplicativos como WinAmp e Reprodutor Multimídia do Windows, você pressupõe que a Microsoft publicaria uma ferramenta que permitirá que terceiros desenvolvam seus próprios temas ou, pelo menos, documentem o formato do arquivo e da .msstyles DLL de shellstyle para que terceiros possam desenvolver editores de temas. Você estaria errado, no entanto. Em "Microsoft Windows XP: O que há nele para desenvolvedores?" (postado online no http://msdn.microsoft.com/library/default.asp?URL=/library/techart/winxpintro.htm), a Microsoft deixa claro que eles não têm intenção de permitir temas de terceiros:

"À primeira vista, o potencial para vários estilos do Windows XP pode se parecer com a funcionalidade de capa em aplicativos como o Window Media Player, mas há diferenças. Os temas alteram o estilo visual do sistema operacional, mas ainda fornecem uma interface do usuário consistente com versões anteriores do Windows. Isso é importante, pois os temas são aplicados em todo o sistema. As alterações aplicáveis a uma capa de aplicativo, como remoção de botões, não são apropriadas no nível do sistema operacional. Os formatos de arquivo de tema não são públicos; A Microsoft mantém o controle de design para temas, para permitir uma interface do usuário consistente e garantir a continuidade do design. O kit de um desenvolvedor de temas não estará disponível com o Windows XP."

O argumento que tenho certeza que eles fazem para tal postura é que temas de terceiros podem de alguma forma interromper a interface do usuário, e os usuários chamariam o suporte da Microsoft para obter ajuda. Por que eles não têm o mesmo medo com Reprodutor Multimídia do Windows, eu não sei. No entanto, há maneiras de aplicar uma aparência de tema à área de trabalho e aos aplicativos. Visite http://www.wincustomize.com/ para encontrar capas da área de trabalho do Windows, como o novo Aqua-Soft (uma capa WindowBlinds - http://www.windowblinds.net) que dá ao Windows a aparência da área de trabalho OS X da Apple. E dada a persistência da comunidade esfolada em descobrir como esfolar tudo liberado, tenho certeza de que há pessoas agora no formato de tema da Engenharia Reversa da Microsoft. É apenas uma questão de tempo até que alguém libere um editor de temas, independentemente da política da Microsoft sobre o controle de temas.

Então, o que a Microsoft fará quando editores de temas do Windows XP e temas de terceiros começarem a aparecer? Teremos que esperar para ver, mas o comportamento da Apple pode estar nos dando uma visualização. Há alguns dias, a Apple emitiu uma empresa desenvolvendo um editor de temas para o Mac OS uma ordem de cessar e desistir: http://www.macworld.co.uk/news/main_news.cfm?NewsID=2773. Cuidado com o desenvolvedor de temas.

Passe o boletim informativo para amigos que você acha que podem estar interessados no seu conteúdo.

Agradecemos!

-Mark

NOVIDADES NO SYSINTERNALS

PSSERVICE V1.01

Os kits de recursos NT 4 e Win2K tiveram um utilitário de controle de serviço de linha de comando, SC, desde que me lembro. O SC permite exibir e alterar o estado e a configuração dos serviços Win32 nos sistemas locais ou remotos. PsService é um clone de freeware do SC que tem alguns recursos extras.

A primeira é que o PsService permite que você se conecte a sistemas remotos usando credenciais de usuário alternativas. Isso é útil nos casos em que a conta da qual você a executa não tem privilégios administrativos no sistema remoto, mas você tem acesso a uma conta que tem. A segunda é a funcionalidade de pesquisa do PsService. Se você já esqueceu qual sistema em sua rede está executando o DNS, DHCP ou algum outro serviço, você achará o recurso de pesquisa útil, pois ele permite que você especifique um nome de serviço e relata os computadores que executam o serviço.

O PsService depende da API do Service Control Manager, para a qual você pode encontrar a documentação completa no SDK da Plataforma, e o PsService não requer nenhuma instalação de software cliente.

Baixar psService v1.01 em http://www.sysinternals.com/ntw2k/freeware/psservice.shtml.

PSFILE V1.0

PsFile é uma ferramenta que criei em resposta a solicitações de algo que supera as limitações do comando "net file" no Windows NT/2K. Você pode usar o comando interno "net" no NT e no Win2K com a opção "file" para listar os arquivos que outros computadores abriram em compartilhamentos exportados pelo sistema. No entanto, o comando net trunca nomes de caminho longo e só funciona no sistema local.

O PsFile usa as mesmas APIs (apropriadamente, a API "Net", que está documentada no SDK da Plataforma) como o comando net, mas não trunca nomes de arquivo e funciona localmente e remotamente, sem necessidade de instalação de software cliente.

Baixar psFile v1.0 em http://www.sysinternals.com/pstools.htm.

PSEXEC V1.11

O PsExec é um aplicativo de linha de comando para Windows NT/2K que permite executar programas em sistemas remotos. O que o torna especialmente poderoso é que ele habilita remotamente programas de console para que você possa executá-los interativamente. Por exemplo, se você iniciar o executável do prompt de comando (cmd.exe) em um sistema remoto usando PsExec, terá efetivamente um shell remoto e não precisará instalar nenhum software cliente.

Além de servir como um telnet leve, o PsExec permite que você habilite remotamente aplicativos "somente locais". O IpConfig, a ferramenta interna que mostra a configuração de rede de um sistema, não é capaz de mostrar a configuração de sistemas remotos. No entanto, com o PsExec, você pode iniciá-lo remotamente e exibir sua saída localmente.

Em alguns casos, a conta na qual um aplicativo é executado é importante. O aplicativo pode precisar ser executado em sua conta para que as alterações feitas no Registro ou nos arquivos ocorram no contexto de segurança correto. Em outros casos, pode ser desejável executar o aplicativo em um diferente do em que você executa o PsExec e, ainda outras vezes, talvez você queira que o aplicativo remoto seja executado na conta do sistema. O PsExec dá suporte a todas essas situações.

Por padrão, o PsExec executa programas em um contexto de segurança "representado". Isso significa que, se você executar o PsExec na conta do administrador, o processo remoto será executado na conta do administrador. Devido a restrições ao poder de representação, o processo remoto não terá acesso aos recursos de rede no sistema remoto. Se você especificar um nome de usuário e uma senha na linha de comando do PsExec, o PsExec iniciará o processo remoto na conta alternativa e o processo remoto terá acesso a todos os recursos de rede acessíveis por meio dessa conta. Por fim, uma opção de linha de comando permite que você direcione o PsExec para executar o processo remoto na conta do sistema – a mesma conta em que os serviços Win32 são executados.

Baixar psExec v1.11 em http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

HANDLEEX V4.0

HandleEx é uma ferramenta multifacetada que mostra a lista de processos ativos em um computador, bem como os identificadores para os recursos do sistema operacional que eles abriram e as DLLs que eles carregaram. Seu recurso de pesquisa e a apresentação detalhada de propriedades de processo, identificador e DLL tornam o HandleEx a ferramenta perfeita para rastrear problemas de versão de DLL, lidar com vazamentos e o processo que está acessando um arquivo ou diretório específico.

Se você estiver seguindo as atualizações do Sysinternals, observará que o HandleEx saltou dois números de versão principais nos últimos meses. A primeira atualização principal, v3.0, introduziu uma série de recursos, como ícones de aplicativo no modo de exibição de processo, dicas de ferramenta para todos os itens de visão de lista, uma atualização muito mais eficiente e um recurso de pesquisa aprimorado em que você pode clicar em itens de resultado na caixa de diálogo localizar e fazer HandleEx ir para o identificador apropriado ou entrada de DLL.

Talvez os recursos mais úteis para desenvolvedores, no entanto, sejam "realce de atualização" e realce de DLL realocado. O realce de atualização refere-se ao comportamento do HandleEx ao atualizar a exibição. Novos itens, incluindo processos, identificadores ou DLLs carregadas, que não estavam presentes antes da atualização serem realçados em verde, enquanto os itens que não existem mais são realçados em vermelho. Além de visualmente informar você sobre as alterações, isso permite que você veja vividamente lidar com vazamentos em andamento, em que as alças recém-abertas aparecem em verde após uma atualização.

O realce da DLL realocada do HandleEx está relacionado à realocação de DLL, o termo que descreve o comportamento do carregador de módulo no Windows, onde ele não pode seguir o "endereço base" preferido que os desenvolvedores especificam ao criar uma DLL. O código que um vinculador (a ferramenta usada para a fase final do edifício DLL ou EXE) produz para uma DLL tem referências de memória intra-DLL definidas com a suposição de que o carregador respeitará o endereço base da DLL. O intervalo de memória no processo que carrega uma DLL que começa no endereço base e acomoda o tamanho da imagem DLL carregada deve ser gratuito para que a DLL seja carregada em seu endereço base preferido. Quando o endereço base é respeitado para vários processos, a eficiência de uso de memória é obtida porque todos os processos compartilham a mesma memória de código DLL.

Quando o carregador não puder honrar o endereço base de uma DLL, por exemplo, quando outro já estiver usando o intervalo de endereços desejado, o carregador deverá executar "realocação", o que envolve a atualização de todas as referências de memória intra-DLL para refletir o endereço de carga real da DLL. Além de diminuir o tempo de carga do processo (geralmente imperceptivelmente), a imagem de DLL realocada não pode ser compartilhada com outros processos que têm a DLL carregada no endereço base preferencial. Isso significa que você efetivamente obtém uma segunda cópia da DLL que consome memória.

Quando você estiver no modo DLL, poderá selecionar a opção "Realçar DLLs realocadas", resultando em HandleEx mostrando entradas para DLLs que não são carregadas em seu endereço base preferido em amarelo. Os desenvolvedores podem redefinir seus endereços base de DLL para evitar realocações.

E quanto ao salto do HandleEx para a versão 4.0? Esta versão mais recente do HandleEx traz a exibição completa do identificador para a plataforma Win9x/Me. Agora você pode selecionar um processo e ver os identificadores que eles abriram, da mesma forma que você pode ao executar HandleEx no WinNT/2K/XP. Não só isso, mas também como no WinNT/2K/XP, exibir as propriedades de eventos, mutexes e semáforos revela informações sobre seu estado (mantido, sinalizado).

Baixar o HandleEx 4.0 em http://www.sysinternals.com/ntw2k/freeware/handleex.shtml.

DEBUGVIEW V4.11

DebugView é um utilitário de desenvolvedor que permite capturar a saída de depuração de aplicativos ou drivers no sistema local ou um remoto , mesmo de vários sistemas simultaneamente. Esta versão mais recente adiciona compatibilidade com o Windows XP Beta 2, alguns recursos de usabilidade e um recurso voltado para desenvolvedores de driver de dispositivo no WinNT/2K/XP.

A caixa de diálogo de filtragem de DebugView permite que você defina incluir e excluir máscaras de filtro para restringir a saída de depuração que você está interessado em ver. Além disso, você pode especificar até cinco filtros de realce diferentes, cada um com uma cor personalizável diferente. Anteriormente, se você tivesse projetos que exigiam filtros diferentes, precisava reentrada nos filtros sempre que trocava de projeto. Com o DebugView 4.11, você pode salvar filtros em um arquivo para recarregamento rápido. Como antes, DebugView começa com os filtros que você tinha ativos na hora anterior em que o saiu.

Às vezes, é necessário capturar um rastreamento de saída de depuração para análise posterior ou comparação com outros rastreamentos. Antes da nova versão do DebugView, a única maneira de exibir um arquivo de log era carregá-lo em um editor de texto, o que significava que você não podia aplicar filtros de realce úteis. Agora você pode carregar um arquivo de log de DebugView novamente em DebugView, possibilitando ver a saída da maneira como você o viu quando o capturou originalmente. Usar várias janelas DebugView permite comparar rastreamentos.

O novo recurso final, o registro em log de tempo de inicialização, complementa o suporte de despejo de memória do DebugView no NT/Win2K. Com o suporte ao despejo de memória do DebugView, você captura a saída de um driver de dispositivo e, se o driver falhar no sistema e você tiver despejos de falha habilitados (completo ou kernel), use DebugView para extrair a saída de depuração do driver do despejo, permitindo que você veja a saída do driver até o ponto da falha.

O log de tempo de inicialização permite capturar a saída de drivers que são carregados durante o processo de inicialização como drivers de inicialização ou de inicialização do sistema. O driver DebugView captura e armazena em buffers até 1 MB de saída de depuração durante a inicialização depois de habilitar o log de tempo de inicialização. Depois que o sistema estiver em funcionamento, a execução do aplicativo DebugView importará a saída armazenada em buffer para exibição. E se o driver falhar durante a inicialização e você tiver despejos de memória habilitados, o suporte ao despejo de memória do DebugView permitirá que você veja a saída gerada pelo driver antes da falha.

Baixar DebugView v4.11 em http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

DENTRO DO WINDOWS 2000, 3RD EDITION

O livro oficial sobre os elementos internos do Windows 2000 já está disponível! Esta edição, de coautoria de David Solomon (www.solsem.com) e Mark Russinovich, é mais de 40% maior do que a anterior, com nova cobertura de rede, plug-and-play, gerenciamento de energia, serviços, Registro, WMI, inicialização e desligamento e armazenamento. Ele também inclui um CD com várias ferramentas poderosas, não disponíveis em nenhum outro lugar, para investigar os internos do Windows 2000.

Se você for para a página Amazon.com do livro, http://www.amazon.com/exec/obidos/ASIN/0735610215/o/qid%3D957490318/sr%3D8-1/ref%3Daps%5Fsr%5Fb%5F1%5F1/103-5793119-3499040/systemsinternals/107-2386425-6078131, observará que apenas duas críticas foram postadas desde o lançamento do livro em setembro. Se você tem o livro, nós encorajamos você a compartilhar suas opiniões com outros potenciais leitores.

Consulte o sumário do livro e peça agora http://www.sysinternals.com/insidew2k.htm.

REVISTA WINDOWS 2000 DE FEVEREIRO

Confira a edição de fevereiro do Windows 2000 Magazine para meu artigo sobre análise de despejo de memória NT/Win2K. O artigo começa levando você pelos conceitos básicos de configuração de despejos de memória e explica como o sistema operacional cria um despejo de memória (com dicas sobre por que um despejo pode falhar ao gerar). Em seguida, explico onde você pode obter as ferramentas de análise de despejo mais recentes e percorrer o uso de um novo utilitário avançado da Microsoft, o Kanalyze. Por fim, analiso rapidamente o uso de um depurador de kernel para examinar um despejo. Mesmo que apenas uma pequena fração de despejos revele sua causa com a análise, você deve achar as informações úteis.

O artigo é postado online por meio de um link em http://www.sysinternals.com/publ.shtml, onde você pode encontrar links para todas as nossas publicações.

SYSINTERNALS EM WWW.MICROSOFT.COM

A Sysinternals fez uma aparição em mais artigos da Base de Dados de Conhecimento da Microsoft (KB) desde o último boletim informativo, elevando o total que encontrei fazendo referência às ferramentas do Sysinternals para 17.

  • P274038: PRB: Erro ASP 8002801d "Biblioteca não registrada"
    http://support.microsoft.com/support/kb/articles/Q274/0/38.ASP
    Este artigo direciona os usuários ao Regmon para solucionar problemas de erros do Active Server Pages.

  • Q232830: HOWTO: Determinar a propriedade do identificador de arquivo
    http://support.microsoft.com/support/kb/articles/Q232/8/30.ASP
    Quer saber qual processo abriu um arquivo? Este artigo do KB direciona você para HandleEx.

  • P2163868: PRB: Violação de acesso durante a instalação do aplicativo quando o arquivo está em uso
    http://support.microsoft.com/support/kb/articles/Q216/3/68.ASP
    Os aplicativos de Instalação do Visual Basic poderão falhar se um arquivo que eles estão tentando copiar estiver em uso. O HandleEx torna a ferramenta ideal para rastrear o processo que está interferindo.

  • Q286198: HOWTO: Rastrear erros de "permissão negada" em arquivos DLL
    http://support.microsoft.com/support/kb/articles/Q286/1/98.ASP
    Usando Filemon (o artigo também menciona Regmon), você pode ver qual processo de um aplicativo COM ou MTS está recebendo um erro de "acesso negado".

  • P246199: BUG: configurações de localidade alteradas no procedimento armazenado estendido podem causar resultados incorretos
    http://support.microsoft.com/support/kb/articles/Q246/1/99.ASP
    Este artigo recomenda usar ListDLLs para ver qual versão da biblioteca de runtime C SQL Server está usando.

  • P196453: Solução de problemas de erros de inicialização de NTVDM e WOW Os usuários http://support.microsoft.com/support/kb/articles/Q196/4/53.ASP que enfrentam problemas ao iniciar aplicativos de 16 bits são apontados para Filemon para ver quais arquivos o subsistema de ambiente de 16 bits (NTVDM) tem erros de acesso.

INFORMAÇÕES INTERNAS

ATALHOS DE TECLADO ESPORÁDICO

Muitos de vocês provavelmente veem a tecla Windows no teclado mais recente como uma tecla simplesmente ocupando espaço. Eu era assim até recentemente, quando me deparei com um atalho de teclado da tecla Windows para uma operação que eu executo com frequência, e agora estou usando o logotipo fora da tecla com meu uso frequente. Pensei em compartilhar alguns atalhos de teclado que acho úteis, que funcionam em todas as versões do Windows.

Ação Atalho
Iniciar o gerenciador de tarefas ctrl+shift+escape
Exibir a caixa de diálogo Propriedades do sistema Windows+Break
Minimizar todas as janelas Windows+m
Maximizar todas as janelas Windows+M
Abrir Meu Computador Windows+e
Pesquisar um arquivo Windows+f
Abra a caixa de diálogo Executar Windows+r

Depois de determinar isso por tentativa e erro, David Solomon apontou que eles estão documentados na ajuda do Windows 2000 em "Atalhos de teclado natural".

MENSAGENS DE DEPURAÇÃO PNP

Se você estiver desenvolvendo drivers plug-and-play para Windows 2000, talvez fique surpreso ao saber que pode persuadir até mesmo a compilação de varejo do Windows 2000 para produzir mensagens de depuração abrangentes do sistema plug-and-play durante seu processo de enumeração e carregamento de driver. Faça com que o depurador de kernel interrompa no início da inicialização do sistema e defina a variável PnpEnumDebugLevel de kernel interna como 2 (a maioria das mensagens dispara com um nível de 1). Aqui está um exemplo da saída que você verá, que mostra o Gerenciador PnP carregando o driver swenum (driver de barramento de enumeração de software):

.
IopCallDriverAddDevice: Processing devnode 0xfe503208
IopCallDriverAddDevice: DevNode flags going in = 0x000019
IopCallDriverAddDevice: Will load driver
IopCallDriverAddDevice: Opening registry key Root\SYSTEM\0000
IopCallDriverAddDevice:         Class GUID is {4D36E97D-E325-11CE-BFC1-08002BE10318}
IopCallDriverAddDevice: Unable to open GUID\Properties key {4D36E97D-E325-11CE-BFC1-08002BE10318} - 0xc0000034
IopCallDriverAddDevice:         Value Service [Type 1, Len 14] @ 0xe14ee82c
IopCallDriverAddDevice:                 Service Name swenum
IopCallDriverAddDevice:                 DriverName is \Driver\swenum
IopCallDriverAddDevice:                 Driver Reference 0xff3a8af0
IopCallDriverAddDevice: Adding Services (type 0)
IopCallDriverAddDevice: Adding Services (type 1)
IopCallDriverAddDevice: Adding Services (type 2)
IopCallDriverAddDevice: Adding driver 0xff3a8af0
IopCallDriverAddDevice:         Routine returned 00000000
.

DECISÃO DE ENGENHARIA REVERSA

Aqueles de vocês que seguiram sysinternals sabem que não tenho acesso a nenhum código-fonte do Windows (exceto para as fontes de driver que são enviadas no DDK), e que eu aprendo as complexidades de sua implementação por meio do uso trabalhoso do SoftICE e do meu próprio desmontador personalizado.

Já me deparei com o artigo "Engenharia reversa: função necessária ou atividade ilegal?" (http://www.planetit.com/techcenters/docs/security/news/PIT20010123S0001), que descreve uma decisão de janeiro do 9° Tribunal de Apelações do Circuito dos EUA em um caso entre a Sony e a Connectix que será do interesse para vocês que fazem o mesmo. A Sony apresentou o caso contra o Connectix depois que o Connectix desenvolveu sua "Virtual Game Station", um programa que permite executar jogos da Sony PlayStation em um computador, e o tribunal decidiu que o Connectix estava dentro da lei quando ele projetou reverso o PlayStation (por meio de desmontagem) de modo a permitir que eles desenvolvessem seu emulador.

Embora o escopo da legalidade da engenharia reversa, especialmente considerando licenças de encolhimento que a proíbem, ainda seja vago, este caso cai no lado da engenharia reversa.

ATUALIZAÇÕES DO KERNEL DO WINDOWS XP

Ao contrário da movimentação entre o NT 4 e o Windows 2000, o kernel do Windows XP passou por alterações mais sutis, muitas das quais visam melhorias de performance. As APIs de kernel disponíveis para desenvolvedores de driver foram desenvolvidas com mais de 200 novas funções de kernel exportadas, preenchendo alguns buracos anteriores. Por exemplo, Filemon e outras ferramentas Sysinternals obtêm o nome do processo executando uma operação acessando o bloco de ambiente de processo não documentado – no Windows XP, eles poderão chamar PsGetProcessImageFileName. Há quase 3 dúzias de novas chamadas Ps para obter e definir atributos de processo, novas APIs de saída de depuração que permitem classificar o tipo de saída e o nível de depuração e uma nova chamada do sistema para salvar hives do Registro. Há também um punhado de APIs como ZwQueryBootOptions, ZwSetBootEntryOrder e ZwDeleteBootEntry para editar o Windows XP de 64 bits equivalente a Boot.ini, que em vez de ser armazenado em um arquivo, é armazenado em memória nãovolatile.

No entanto, há alterações mais significativas sobre o kernel, a maioria das quais dependem de drivers de dispositivo ou suporte ao kernel. Por exemplo, há um serviço de restauração do sistema que, com o auxílio de um driver de filtro do sistema de arquivos (sr.sys), controla as alterações nos arquivos para que o sistema possa ser revertido para um ponto anterior no tempo. Há um driver de filtro de armazenamento chamado volsnap.sys que pode, com a cooperação de drivers do sistema de arquivos, fazer uma cópia pontual de um volume. Há um serviço de troca de usuário rápido que usa o suporte de serviços de terminal integrados ao kernel para permitir que vários usuários sejam conectados e alternados entre eles e suporte aprimorado à API de desfragmentação fornecido pelos drivers do sistema de arquivos.

A Microsoft publicou um white paper que descreve muitos dos aprimoramentos em http://www.microsoft.com/hwdev/Whistler/download/Whistler_kernel.zip. Há diferentes graus de detalhes, deixando muitas perguntas sobre implementação e comportamento sem resposta, mas é uma revisão geral bastante boa. É claro que você pode procurar futuros boletins informativos e artigos da Sysinternals, e meus artigos da revista Windows 2000, para responder a alguns deles.

REDE DESCONECTADA

Grande parte dos meus centros de desenvolvimento em aplicativos habilitados para rede, mas no Windows 2000 você não pode testar esses aplicativos quando inicializa um computador desconectado (como um laptop) na configuração padrão. Isso ocorre porque a pilha TCP/IP não é ativada, a menos que o sistema detecte uma conexão de rede. Isso significa, por exemplo, que (em que dir \\laptop\c$ "laptop" é o nome do computador) e ping 127.0.0.1 ambos falham em sistemas desconectados. Se você tiver um computador baseado em domínio, isso também poderá levar a atrasos dolorosos durante a inicialização.

Há duas soluções alternativas para isso. Uma delas é instalar o adaptador de loopback da Microsoft, que é um adaptador de rede virtual instalável usando o Assistente de Hardware. A segunda é desabilitar o sentido de mídia, o que impede que o sistema detecte que está desconectado, definindo um valor do Registro, conforme descrito no artigo Q239924 da Microsoft KB: http://support.microsoft.com/support/kb/articles/Q239/9/24.ASP. Com qualquer uma dessas abordagens, a pilha TCP/IP está ativa mesmo em sistemas desconectados, permitindo que você acesse o sistema local por meio de APIs de rede e caminhos UNC (como \\laptop\c$).

WINDEV

Windev, a conferência do desenvolvedor do Windows, está sendo realizada este ano em Boston de 11 a 15 de junho. Todos os principais nomes do Win32, sistemas e programação do .NET estarão lá, e esta é a única vez este ano que você pode participar de uma sessão nos internos do Windows 2000 apresentados por David Solomon (www.solsem.com) e por mim. Dave e eu estamos entregando conjuntamente o tutorial "Inside Windows 2000 Fundamentals" de um dia no primeiro dia. Também estou ensinando uma sessão sobre como programar mecanismos de comunicação entre processos no Windows e um sobre as novidades no Windows XP.

Você pode ver os resumos das minhas conversas e encontrar um link para o site da Windev em http://www.sysinternals.com/ntw2k/info/talk.shtml.

TECHED EUA

TechEd é a principal conferência da Microsoft, atraindo 10.000 pessoas e vendendo nos últimos anos. Este ano está sendo realizado em Atlanta, Geórgia, de 17 a 21 de junho, e enquanto o foco está no .NET, a Microsoft me convidou para apresentar "Um Tour pelas Ferramentas de Sysinternals" e "Introdução à Análise de Despejo de Memória do Windows NT/2000". David Solomon também estará lá, apresentando no Windows 2000 gerenciamento de memória e processos e thread internos.

Para aqueles de vocês na Europa, você pode ver David e eu apresentar as mesmas sessões no TechEd Europe, que fica em Barcelona de 3 a 6 de julho.

Exibir meus resumos e seguir um link para a home page do TechEd http://www.sysinternals.com/ntw2k/info/talk.shtml.

O QUE ESTÁ POR VIR

DENTRO DA PRÉ-BUSCA DO WINDOWS XP

Um dos aprimoramentos mais perceptíveis no Windows XP são os tempos de inicialização rápidos. A pré-busca é a base da melhoria. O XP monitora o acesso ao disco durante uma inicialização, armazenando as informações para uso na inicialização subsequente em que usa os dados para carregar aplicativos na memória antes de serem referenciados. Da próxima vez, entrarei nos mecanismos de pré-busca para explicar como o XP os implementa.


Obrigado por ler o Boletim Informativo do Sysinternals.

Publicado quarta-feira, 18 de abril de 2001 19:04 pm por ottoh

[Arquivo de Boletins Informativos ^] [< Volume 2, Número 5] [Volume 3, Número 2 >]