eip

x86 reverse engineering - last updated 2026-05-12

overview

The instruction pointer register (EIP) points to the next instruction that will execute. This is the most important register in reverse engineering, as altering it allows for complete control of program.

example

To contextualize this, take for instance this simple C program. Whenever it runs the EIP will keep updating to point to the next instruction. In the flow of this program, it will only every run through the main function, the malicious function never gets called.

However if we are able to change where the EIP is pointing to, we could point to the beginning of our malicious function and change the program flow.