Jump to content

Breakpoint em todos os Jumps


Carol Martineli

Recommended Posts

Acho que entendo como está pensando, mas já adianto que é um método pouco efetivo. De qualquer forma, acredito que precise de um script na maioria dos debuggers. No x64dbg dá pra fazer com tracing também (Debug -> Trace over/into...):

image.thumb.png.65b60df89bbeaae778dbafe33696efc0.png

Explicando:

A condição que coloquei em Command Condition é que o resultado da função dis.match(cip, "^j") seja True. Essa função vai disassembler a instrução apontada por cip (eip ou rip) e ver se esta começa com j. Quando tal condição for atendida, o que está em Command Text vai executar. Pus dois comandos: um pra colocar um breakpoint no endereço atual e outro para desabilitar esse breakpoint, de modo que a execução continue. Fazendo isso você terá um breakpoint desabilitado em cada salto. Basta reiniciar o programa, habilitar todos os BPs e rodá-lo para atingir teu objetivo.

Repare que se usar Trace over, não vai pegar os saltos dentro das funções. Se usar Trace into pega, mas vai ser bem mais lento (tracing em geral é lento mesmo).

Abraço.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...