Ir para conteúdo

Acessando WinDbg (ou dbgsrv.exe, remote.exe, etc.) pelo radare2


gzn

Posts Recomendados

Pessoal, baixei aqui um monte de ferramentas que a Microsoft disponibiliza através do pacote Debugging Tools for Windows e lendo aqui a documentação vi que tem várias formas de depurar remotamente um programa. Resolvi dentre as várias formas iniciar um servidor apertando Alt+1 no WinDbg e depois digitando .server tcp:port=5000 . Abri o terminal do WSL e testei a conexão com netcat. Estava tudo certo, nc -v localhost 5000, deu succeeded. 

Na documentação do radare que está aqui eu não encontrei nada sobre depuração remota com WinDbg através de um socket tcp. Mas como eu sou curioso tentei algumas coisas como: r2 -a x86 -b 32 -D windbg tcp://localhost:5000

Ele até parece ter conectado (porque se eu especifico outra porta ele da erro), mas não aconteceu nada, ele ficou como se tivesse aguardando comandos da entrada padrão (digo, sem mostrar nada e muito menos o prompt usual do r2)...

Se alguém souber fazer isso e puder me ajudar!

Link para o comentário
Compartilhar em outros sites

Em 28/02/2018 em 12:17, gzn disse:

Pessoal, baixei aqui um monte de ferramentas que a Microsoft disponibiliza através do pacote Debugging Tools for Windows e lendo aqui a documentação vi que tem várias formas de depurar remotamente um programa. Resolvi dentre as várias formas iniciar um servidor apertando Alt+1 no WinDbg e depois digitando .server tcp:port=5000 . Abri o terminal do WSL e testei a conexão com netcat. Estava tudo certo, nc -v localhost 5000, deu succeeded. 

Na documentação do radare que está aqui eu não encontrei nada sobre depuração remota com WinDbg através de um socket tcp. Mas como eu sou curioso tentei algumas coisas como: r2 -a x86 -b 32 -D windbg tcp://localhost:5000

Ele até parece ter conectado (porque se eu especifico outra porta ele da erro), mas não aconteceu nada, ele ficou como se tivesse aguardando comandos da entrada padrão (digo, sem mostrar nada e muito menos o prompt usual do r2)...

Se alguém souber fazer isso e puder me ajudar!

Falai, @gzn.. Bele ? Eu nunca fiz debugging com o radare no Windows.

Já testou isso aqui ?

connecting the remote windbg r2 -D wind -d [binary] windbg://[pipe address]

http://radare.today/posts/using-radare2/

Diz ai se funciona ;P

Link para o comentário
Compartilhar em outros sites

Eu testei aqui na máquina, criei um named pipe (entrei no WinDbg, apertei Alt+1 e digitei):

.server npipe:pipe=ola

Aí fiz o teste com cdb.exe:

PS C:\Program Files (x86)\Windows Kits\10\Debuggers\x86> .\cdb -remote npipe:Pipe=ola,Server=NOTE
Connected to server with 'npipe:Pipe=ola,Server=NOTE'

Microsoft (R) Windows Debugger Version 10.0.16299.15 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Server started.  Client can connect with any of these command lines
0: <debugger> -remote npipe:Pipe=ola,Server=NOTE
NOTE\gzn (npipe ola) connected at Thu Mar  1 15:19:31 2018
0:000>

Mas infelizmente não pude conectar a ele pelo radare.

Até fiz um teste aqui para ver se tinha criado o pipe e parece que sim:

PS C:\Windows\system32> Get-ChildItem \\.\pipe\|where Name -eq ola


    Diretório: \\.\pipe


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
------       31/12/1600     22:00              2 ola

Eu queria simplesmente ver se era possível acessar remotamente o WinDdb pelo radare.  Acho que posso ter problemas também porque eu não tenho máquina virtual e estou executando o radare pelo WSL. O WSL tem limitações e talvez acessar named pipes seja uma delas.

Mas de boa @Pimptech. Era só um teste mesmo!

Abraço!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...