2013-10-27 27 views
1

我在asm中有一個小小的「hello world」程序。編譯和鏈接後,我可以看到我用於最終精靈文件中的變量和標籤的所有名稱(用文本編輯器打開)。爲什麼?不應該用靜態或相對地址來替換變量等嗎? 如何隱藏這些信息?如何隱藏可執行文件中的符號名稱(來自asm代碼)

我使用Ubuntu的x86的64 NASM:nasm -f elf64 hello.asm && ld -o a hello.o

+0

難道它不是兩個? –

回答

1

這是調試信息。您可以使用命令strip將其從目標文件中刪除。

1

通過調用--strip-all標誌,在您的情況下也可以在鏈接時間內完成清廢操作: nasm -f elf64 hello.asm && ld -o a hello.o --strip-all

這將刪除輸出文件中的所有符號,如果您只希望刪除可以使用的調試符號--strip-debug

您可以在這裏閱讀更多選項:http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html

相關問題