我在 asm 中有一个小的“hello world”程序。编译和链接后,我可以在最终的 elf 文件(使用文本编辑器打开)中看到我用于变量和标签的所有名称。为什么 ?变量等不应该被静态或相对地址替换吗?如何隐藏此信息?
我在 ubuntu x86 64 上使用 nasm:nasm -f elf64 hello.asm && ld -o a hello.o
剥离也可以通过调用--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
这是调试信息。您可以使用命令条将其从目标文件中删除。