NOTE!
I realized afterward that it was about Ollydbg... Anyway, I stick to my answer... GDB is great!
GDB is a wonderful debugger! In fact, and only a few people knows about it, it gives access to all the usual libc functions.
For example, in your case, you may find interesting to set up a conditional on a breakpoint like that (by using strcmp()
):
break *0xdeadbeef if strcmp(*($eax+8), "haxxor") == 0
This line will stop if you are executing the instruction located at 0xdeadbeef
and that the value of the string located at $eax+8
is "haxxor"
.
If you want to break whenever the value of the string is '"haxxor"', then it will be a bit more difficult. Personally, I would set a watchpoint to each character with a condition such as:
watch *0xdeadbeef if *0xdeadbeef == 'h'
And thus, for each character of the string.