程序中指令的地址(在堆栈中)是否会改变?

时间:2018-08-27 15:01:05

标签: reverse-engineering exploit

我是低级攻击的初学者。我正在练习简单的缓冲区溢出(基于堆栈)。我使用的是Kali Linux,因此当我$objdump -d <program>并返回(例如)时:

================================================ ===

0000000000400590:主要

400590推...

400600 xor ...

400610呼叫...

...

================================================ ===

我知道这是一个不好的例子,但是我的问题是地址400590永远坚持push ...,地址400600永远坚持xor ...并与400610?程序的特定指令会永远保留地址吗?

1 个答案:

答案 0 :(得分:0)

是的,编译器/链接器分配代码地址,因此除非重新编译(或修补)应用程序,否则代码地址不会更改。