1
我更新了我的kali linux之後,然後使用gcc編譯我的程序。在更新系統之前,我使用objdump來反彙編程序,.text地址是0x08048 ...,但之後,.text地址是0x00000 ...,gcc版本已從6.1.1更改爲6.3,怎麼了?爲什麼會發生?爲什麼代碼段的地址是零?
我更新了我的kali linux之後,然後使用gcc編譯我的程序。在更新系統之前,我使用objdump來反彙編程序,.text地址是0x08048 ...,但之後,.text地址是0x00000 ...,gcc版本已從6.1.1更改爲6.3,怎麼了?爲什麼會發生?爲什麼代碼段的地址是零?
我認爲這是因爲新版本默認構建的可執行文件爲-fPIE
(prooflink)。位置無關性理論上應該提高系統的安全性。
謝謝。使用編譯選項-fno-pie和-no-pie,問題已解決。 –