6

I double clicked on EIP in register window,but seems un-editable.

Why is EIP special?How can I change it?

alt text

COMer
  • 5,091
  • 4
  • 22
  • 20

2 Answers2

14

Find the location you want to set your EIP to, right click and select "New Origin Here". This will reset the EIP to the new address. You can confirm this by inspecting the registers at the top right.

In addition to the reply above, the EIP is basically the pointer to where the current line of execution is. It's used to keep a record of which instruction the program is executing in memory.

abnev
  • 469
  • 1
  • 8
  • 20
4

press Ctrl+g and type the value of EIP and press enter.

press Ctrl + * to set EIP.

The EIP register always contains the address of the next instruction to be executed.

Amir
  • 1,638
  • 19
  • 26
  • Thanks, this is really useful if you want to set EIP to an address that OllyDbg thinks is data (e.g. after injecting some code to the process) – Kevin Chen Nov 29 '16 at 16:32