Browse by Tags

Related Posts
  • Blog Post: [Windbg Script] Disassemblando rotinas e buscando instruções específicas

    Por Roberto Alexis Farah Algumas vezes você não pode evitar a necessidade de ler o código disassemblado e procurar determinadas instruções. Você poderia querer ver se alguma rotina em particular está fazendo alguma operação específica, usando algum registrador específico, ou chamando outras rotinas...
  • Blog Post: [Windbg Script] Obtendo informação da pilha

    Por Roberto Alexis Farah Esse artigo é o primeiro sobre scripts para Windbg . Muita gente não imagina que é possível se criar scripts para automatizar a depuração. Alguns usando DML que é um recurso sofisticado para criar hyperlinks que executam comandos quando clicados. Tenho uma coleção...
  • Blog Post: [Windbg Script] Obtendo informações do ASP

    Por Roberto Alexis Farah Você já se deparou com a seguinte situação: Você precisa obter informação do ASP sendo executado em um processo do IIS? Se sim, você pode usar o DebugDiag para analisar o arquivo de dump. Entretanto, algumas vezes você precisa analisar manualmente o processo ou dump...
  • Blog Post: TechNet WIKI – Uma iniciativa de sucesso

    Uma iniciativa que está sendo encabeçada por Yuri Diógenes (Sr. Technical Writer para o Time de Windows Security) junto à comunidade IT e que já está surtindo efeito com diversas contribuições é o TechNet WIKI. A divulgação junto à comunidade IT no Brasil já possui um resultado impressionante com muitas...
  • Blog Post: [Windbg Script] Identificando chamadas de API

    Por Roberto Alexis Farah Esse é um script muito simples, mas ainda assim poderoso. Você pode usá-lo para ver chamadas de API’s de uma aplicação a partir da janela do Windbg sem usar ferramentas adicionais. Se você precisar de mais detalhes das chamadas de API, basta executar o LogViewer.exe...
  • Blog Post: [Windbg Script] Obtendo informações de Serviced Components

    Por Roberto Alexis Farah Alguns dias atrás meu amigo Fabrício Catae, um SQL Server Ranger aqui na Microsoft, me deu uma idéia para um novo script: criar um script que mostre se os Serviced Components foram ou não liberados. Achei uma ótima idéia, então decidi criar um script para isso. Durante...
  • Blog Post: [Windbg Script] Pool de Conexões SQL

    Por Roberto Alexis Farah Se você é como eu, você poderia eventualmente esquecer classes e namespaces que você precisa usar para descobrir alguma informação. Ou talvez você possa esquecer nomes de propriedades. Isso sempre ocorre quando preciso espiar informação do namespace System.Data.SqlClient...
  • Blog Post: [Windbg Script] Obtendo o Cabeçalho de Módulos Binários

    Por Roberto Alexis Farah Existem diversas ferramentas que você pode usar para ler o cabeçalho de um arquivo binário, como Dumpbin.exe e Link.exe. Você pode, entretanto, usar Windbg para fazer a mesma coisa! Em outras palavras, durante a sessão de depuração você pode usar esse script para...
  • Blog Post: [Livros Recomendados] Como adquirir ou melhorar habilidades de depuração

    Por Roberto Alexis Farah Eis abaixo uma lista de livros para aqueles que queiram adquirir ou melhorar as habilidades de depuração. C/C++ Effective C++ (Meyers) More Effective C++ (Meyers) Efficient C++ (Bulka, Mayhew) C++ Coding Standards ( Sutter, Alexandrescu) Exceptional...
  • Blog Post: [Windbg Script] Enganando o Campo Minado

    Por Roberto Alexis Farah Primeiramente gostaria de esclarecer que esse script não é sobre como enganar o Campo Minado, embora ele faça isso. Há vários outros modos mais eficientes de se enganar o jogo usando um pouco mais de bytes. Entretanto, o objetivo aqui é demonstrar o poder do depurador...
  • Blog Post: Troubleshooting Básico de Bug Check 0x9E (USER_MODE_HEALTH_MONITOR)

    Autor: Denis Passos / Revisão: Marcelo Fontes Não é incomum recebermos Dumps para análise de Bug Check 9E gerados numa situação onde a máquina/componentes estão parcialmente ou totalmente travados. Windows Server 2008 Failover Cluster usa o mecanismo de controle Watchdog para identificar se o Cluster...
  • Blog Post: [Windbg Script] Obtendo contadores de Performance Monitor

    Por Roberto Alexis Farah Você já se deparou com a seguinte situação de estar depurando um dump de ASP.NET e notar que esqueceu de pegar o log de Performance Monitor? Se algumas vezes você passa por isso, tenho ótimas notícias: esse script mostra para você alguns dos principais contadores...
  • Blog Post: [Windbg Script] Desabilitando IsDebuggerPresent()

    Por Roberto Alexis Farah Alguns anos atrás precisei depurar uma aplicação sem símbolos ou código fonte. Para piorar a situação, descobri que o executável tinha algum tipo de proteção anti-depurador. Depois de analisar a listagem disassemblada usando DumpBin, descobri o truque. A aplicação...
  • Blog Post: [Windbg Script] Obtendo Base Address e Image Name a partir de uma chamada de método

    Por Roberto Alexis Farah Após criar esse script, tenho usado ele em quase todo incidente que requer decompilação e acredito que você também usará ele. Esse script fornece o endereço base e nome do módulo, assim você pode usar o comando !SaveModule da extensão SOS. Ok… talvez você esteja se perguntando...
  • Blog Post: [Windbg Script] Registrando chamadas de MessageBox

    Por Roberto Alexis Farah No passado trabalhei em um incidente de suporte onde precisei descobrir mensagens vindas de um MessageBox numa aplicação C++. Como tive respostas inconsistentes dos usuários sobre o aparecimento ou não da mensagem e seu conteúdo, decidi fazer um script para ajudar nisso...
  • Blog Post: [Windbg Script] Brincando com o Notepad

    Por Roberto Alexis Farah Esse é mais um dos meus scripts “apenas por diversão”. Esse é muito simples e tem algumas limitações, mas é divertido! O que ele faz? Abra o Notepad.exe e copie e cole um texto nele ou escreva alguma coisa. Depois disso, abra o script e substitua StringsToFind e StringsToReplace...
  • Blog Post: [Windbg Script] Obtendo as queries e stored procedures de uma aplicação .NET

    Por Roberto Alexis Farah Ok, você está depurando uma aplicação .NET e precisa descobrir as queries e stored procedures sendo usadas pelas threads acessando o banco de dados, mas você não sabe como fazer isso… Boas notícias! Isso não é mais um problema! Esse script mostra todas as queries...