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:

enter image description here

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

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -