Search code examples
reverse-engineeringbreakpointstracedisassembly

Tracing with IDA: how to get around the 4 hardware breakpoints limitation?


basically, the code I'm trying to disassemble has some function works like this:

counter=0;
do
{
    counter++;
    *dword*(2A2A2A+counter*64) = v;
}
while (counter<4096)

which created a good number of dups of v.

One or some of them is then accessed later in some fiddling way that I can't work out by reading the assembly, thus I came to the idea of tracing read on those points. However since read points are hardware breakpoints, I can't really set more than 4 of them active at one time - so how do i trace down which routine accessed those "v"s?

any suggestion is deeply appreciated.


Solution

  • IDA 6.3 adds page-level breakpoints which allow you to monitor any memory range for access.