Posted: Sun Mar 26, 2023 5:21 pm Post subject: debugger too intelligent?
imgurcom/FEkokkZ
i'm confused,
if i understand correctly this enable section replaces the original code with a jmp and a(?) nop? (how does nop 4 have a parameter)
then how does the debugger still track the addresses incremented by my new instruction at newmem:? (the 4096 on the irght are generated by the mov [rax], 1000
or is the debugger just that smart? _________________
`nop N` is a pseudoinstruction that replaces N bytes with nop. (there exist multibyte nop instructions)
It appears that CE disassembles and analyzes the instruction only once when the breakpoint gets set. If it changes (i.e. to a jmp), the "Accessed addresses by XXXX" window won't notice. _________________
I don't know where I'm going, but I'll figure it out when I get there.
It appears that CE disassembles and analyzes the instruction only once when the breakpoint gets set. If it changes (i.e. to a jmp), the "Accessed addresses by XXXX" window won't notice.
how does it manage to analyze the instruction at the jumped to location though?
the address at which the previous mov instruction was is now replaced by the jmp, so how does the debugger show the address and value of the mov that is in my newly allocated memory segment? _________________
CE simply disassembles the instruction at the address you clicked at and checks if it's accessing an address. If CE thinks it is accessing an address, it uses the same expression as the original instruction for address calculation. e.g. looking at what addresses `mov [rax],whatever` accesses entails setting a breakpoint at the address of that instruction and logging the value of rax every time it gets triggered. If the instruction happens to change during that time, CE won't notice- it will still log the value of rax every time the breakpoint triggers regardless.
None of this has anything to do with any of your code in your code injection. CE would've behaved the same if you had replaced the `mov` with `nop`s.
The "value" column simply reads the current value at an address. This is similar to the main CE window. _________________
I don't know where I'm going, but I'll figure it out when I get there.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum