SlideShare uma empresa Scribd logo
1 de 57
Trilha C/C++
Wanderley Caloni
Sócio-Desenvolvedor da
Depurando até o fim do
mundo: técnicas e truques de
WinDbg
Onde sou? Quem estou?
• Segurança da Informação
– Sistema de Controle de Usuários e Aplicações
– Criptografia de Discos
Onde sou? Quem estou?
• Análise de Trojans
– Engenharia Reversa
– Crash Dump Analysis
Onde sou? Quem estou?
• Mercado Financeiro
– Alto Desempenho
– Análise de Risco
Onde sou? Quem estou?
• Mercado Financeiro
– Alto Desempenho
– Algoritmos
– Cotações
– Mobile
Onde sou? Quem estou?
Onde sou? Quem estou?
Onde sou? Quem estou?
Vamos ao que interessa?
dd ed kv kvn . ~ .frame lm a .dvalloc
.dvfree .symfix .reload !analyze –v r
!uniqstack bp bl bm bc bd s !heap
dv bm dd poi(esp+8) !db !eb
.sympath .srcpath .kvn .frame .cls
.echo u –remote –premote –server
.help symstore adplus logger
logviewer !sym noisy .call wt !heap
l+* –flt s 1034 –p –a $$> <:-o
SOFTICE
SOFTICE
DEBUG.COM
DEBUG.COM
windbg.exe -k com:port=1,baud=115200,resets=0,reconnect -b
bcdedit /dbgsettings
bcdedit /copy {current}
bcdedit set debug on
windbg.exe -k usb2:targetname=USBString -b
bcdedit /dbgsettings
bcdedit /copy {current}
bcdedit set debug on
windbg.exe -k com:pipe,port=.pipecom_1,resets=0,reconnect -b
windbg.exe -k com:pipe,port=.pipecom_1,resets=0,reconnect -b
WELCOME TO THE REAL WORLD
NABUCODEBUGGER
.symfix
.sympath
!sym noisy
.reload [/f] [/i] ModuleName.ext
lm[l]
symstore.exe add /f Symbols.pdb /s <SymbolStore> /t “ProductName"
SRCSRV (SVN)
windbg.exe -server tcp:port=<n>
windbg.exe -remote tcp:server=<ip>,port=<n>
windbg.exe -remote tcp:server=<ip>,port=<n>
windbg.exe -remote tcp:server=<ip>,port=<n>
dbgsrv.exe -t tcp:port=<n>
windbg.exe -premote tcp:server=<ip>,port=<n>
TCP Client => Server
TCP Server => Client
Serial (??????)
Named Pipe
SSL/SPIPE
(password, ipv6, ...)
selfie
.dump /ma <dump-file.dmp>
Adplus -Crash -pmn <proc-name>
!analyze -v
!analyze -v
!analyze -v
!analyze -v
!analyze -v
!analyze -v
!analyze -v
!analyze -v
GLOBAL FLAGS
GLOBAL FLAGS
SXE, SXD, SXN, SXI
SXE ld:MinhaDLL.dll
logger process.exe
CODE
COMPILE
PROFILE
CODE
COMPILE
PROFILE
CODE
COMPILE
PROFILE
CODE
COMPILE
PROFILE
CODE
COMPILE
PROFILE
CODE
COMPILE
PROFILE
...
WT
DEBUGGER
KERNEL
USER
PROCESS
CABLE
DEBUGGER
$<, $><, $$<, and $$><
#include < wdbgexts.h>
.hh <topic>
www.windbg.info
Perguntas?
wanderley@caloni.com.br
twitter
saite
e-mail

Mais conteúdo relacionado

Semelhante a Depurando até o fim do mundo: técnicas e truques de WinDbg

Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Leandro Magnabosco
 
Sistemas Embarcados Híbridos - Processamento Assimétrico
Sistemas Embarcados Híbridos - Processamento AssimétricoSistemas Embarcados Híbridos - Processamento Assimétrico
Sistemas Embarcados Híbridos - Processamento AssimétricoAndré Curvello
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesBruno Alexandre
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...LeandroTrindade19
 
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoPalestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoAs Zone
 
Facsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoFacsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoThiago Dieb
 
Ethical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoEthical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoCleórbete Santos
 
Pentest Invasão e Defesa - AnonFeh
Pentest   Invasão e Defesa - AnonFehPentest   Invasão e Defesa - AnonFeh
Pentest Invasão e Defesa - AnonFehPhillipe Martins
 
Webinar: Programação de Drones conectados com visão computacional
Webinar: Programação de Drones conectados com visão computacionalWebinar: Programação de Drones conectados com visão computacional
Webinar: Programação de Drones conectados com visão computacionalEmbarcados
 
Internet das Coisas - Uma Revolução que vale a pena participar
Internet das Coisas - Uma Revolução que vale a pena participarInternet das Coisas - Uma Revolução que vale a pena participar
Internet das Coisas - Uma Revolução que vale a pena participarAndré Curvello
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareMarcus Botacin
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...Alexandro Silva
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasSegInfo
 
Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!André Curvello
 
2008 08 27 Rede Catolica Sao Paulo
2008 08 27 Rede Catolica Sao Paulo2008 08 27 Rede Catolica Sao Paulo
2008 08 27 Rede Catolica Sao Paulosrlm
 
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...André Curvello
 

Semelhante a Depurando até o fim do mundo: técnicas e truques de WinDbg (20)

Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!
 
Sistemas Embarcados Híbridos - Processamento Assimétrico
Sistemas Embarcados Híbridos - Processamento AssimétricoSistemas Embarcados Híbridos - Processamento Assimétrico
Sistemas Embarcados Híbridos - Processamento Assimétrico
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
 
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um poucoPalestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
Palestra - FACSENAC - De Hacker e louco, todo mundo tem um pouco
 
Facsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um poucoFacsenac - De hacker e louco, todo mundo tem um pouco
Facsenac - De hacker e louco, todo mundo tem um pouco
 
Ethical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetraçãoEthical hacking: Conceitos básicos de Testes de penetração
Ethical hacking: Conceitos básicos de Testes de penetração
 
Pentest Invasão e Defesa - AnonFeh
Pentest   Invasão e Defesa - AnonFehPentest   Invasão e Defesa - AnonFeh
Pentest Invasão e Defesa - AnonFeh
 
Webinar: Programação de Drones conectados com visão computacional
Webinar: Programação de Drones conectados com visão computacionalWebinar: Programação de Drones conectados com visão computacional
Webinar: Programação de Drones conectados com visão computacional
 
Internet das Coisas - Uma Revolução que vale a pena participar
Internet das Coisas - Uma Revolução que vale a pena participarInternet das Coisas - Uma Revolução que vale a pena participar
Internet das Coisas - Uma Revolução que vale a pena participar
 
Integridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomwareIntegridade, confidencialidade, disponibilidade, ransomware
Integridade, confidencialidade, disponibilidade, ransomware
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!
 
H2HC University 2014
H2HC University 2014H2HC University 2014
H2HC University 2014
 
2008 08 27 Rede Catolica Sao Paulo
2008 08 27 Rede Catolica Sao Paulo2008 08 27 Rede Catolica Sao Paulo
2008 08 27 Rede Catolica Sao Paulo
 
Programação Segura
Programação SeguraProgramação Segura
Programação Segura
 
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...
 

Mais de Wanderley Caloni

Apresentação da BitForge
Apresentação da BitForgeApresentação da BitForge
Apresentação da BitForgeWanderley Caloni
 
Debug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoDebug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoWanderley Caloni
 
Antidebugging eu não quero que você mexa no meu código
Antidebugging   eu não quero que você mexa no meu códigoAntidebugging   eu não quero que você mexa no meu código
Antidebugging eu não quero que você mexa no meu códigoWanderley Caloni
 
Engenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesEngenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesWanderley Caloni
 

Mais de Wanderley Caloni (9)

Co co-co-co-co-corrotinas
Co co-co-co-co-corrotinasCo co-co-co-co-corrotinas
Co co-co-co-co-corrotinas
 
Vcpkg e vc td a ver
Vcpkg e vc td a verVcpkg e vc td a ver
Vcpkg e vc td a ver
 
Stack overflow
Stack overflowStack overflow
Stack overflow
 
Apresentação da BitForge
Apresentação da BitForgeApresentação da BitForge
Apresentação da BitForge
 
Debug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoDebug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um Resumo
 
GitIndex e SourceServer
GitIndex e SourceServerGitIndex e SourceServer
GitIndex e SourceServer
 
Antidebugging eu não quero que você mexa no meu código
Antidebugging   eu não quero que você mexa no meu códigoAntidebugging   eu não quero que você mexa no meu código
Antidebugging eu não quero que você mexa no meu código
 
Engenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesEngenharia Reversa para Principiantes
Engenharia Reversa para Principiantes
 
Patch de Emergencia
Patch de EmergenciaPatch de Emergencia
Patch de Emergencia
 

Depurando até o fim do mundo: técnicas e truques de WinDbg