assembly - How to view the value located in the DS segment via OllyDbg -
i'm debugging 1 dll via ollydbg , found following command:
lea ecx,dword ptr ds:[ecx+edx+8771f681]
ecx
90c85fff
, edx
13f5a9ce
, final address 0x90c85fff + 0x13f5a9ce + 0x8771f681 = 0x12c30004e
. unfortunately, don't know how view value located @ address. ctrl-g in fpu window says "no memory on specified address".
thanks in advance.
remember lea
can used used calculation, not address (the actual result of calculation never accessed / dereferenced). also, segment override has no effect on calculation.
- ecx = 0x402000 ; ebx = 0x20 ; fs segment prefix override (fs base = 0x7ffdd000)
- mov ecx, [ecx+ebx-4] ; result = ecx = 0x40201c
to check address mapped, in ollydbg, can stop @ instruction , check mini-window between cpu windows , dump window:
the address=xxxx
line indicates result of calculation (before executing instruction). if right click line, might see popup window:
- if address mapped in process address space, you'll see
follow in dump
entry on popup-menu. - if address not mapped, popup-menu doesn't display
follow in dump
entry.
note: ollydbg (at least v2) consider mapped kernel addresses mapped, although not accessible userland. if msb set in address, consider not mapped.
Comments
Post a Comment