2017-04-01 82 views
1

我更新了我的kali linux之后,然后使用gcc编译我的程序。在更新系统之前,我使用objdump来反汇编程序,.text地址是0x08048 ...,但之后,.text地址是0x00000 ...,gcc版本已从6.1.1更改为6.3,怎么了?为什么会发生?为什么代码段的地址是零?

回答

1

我认为这是因为新版本默认构建的可执行文件为-fPIEprooflink)。位置无关性理论上应该提高系统的安全性。

+0

谢谢。使用编译选项-fno-pie和-no-pie,问题已解决。 –