【发布时间】:2018-11-08 16:54:02
【问题描述】:
我正在研究逆向工程,这真的很有趣。
但是我有一个问题:为什么我从 GDB 和 Objdump 得到的指令地址是一样的?
二进制文件不应该每次都加载到不同的地址吗?
谢谢。 朱利安
【问题讨论】:
-
传统上,二进制文件被加载到 Unix 上的固定地址。您可以拥有仅在运行时确定加载地址的二进制文件,这称为 PIE(与位置无关的可执行文件)。
-
...每个进程都有自己的虚拟地址空间,因此固定地址不会造成地址冲突的风险。
-
是的,实际上你都对,我没有考虑地址空间。谢谢你们的回答。
标签: c assembly gdb reverse-engineering objdump