Assembly 如何在可执行文件中隐藏符号名称(来自asm代码)
我在asm中有一个小的“hello world”程序。编译和链接后,我可以在最终的elf文件(使用文本编辑器打开)中看到我用于变量和标签的所有名称。为什么?变量等不应该被静态地址或相对地址取代吗? 如何隐藏此信息Assembly 如何在可执行文件中隐藏符号名称(来自asm代码),assembly,nasm,ld,Assembly,Nasm,Ld,我在asm中有一个小的“hello world”程序。编译和链接后,我可以在最终的elf文件(使用文本编辑器打开)中看到我用于变量和标签的所有名称。为什么?变量等不应该被静态地址或相对地址取代吗? 如何隐藏此信息 我在ubuntu x86 64上使用nasm:nasm-f elf64 hello.asm&&ld-o a hello.o这是调试信息。您可以使用命令将其从对象文件中删除。也可以通过调用--strip all标志在链接时间内完成剥离,在您的情况下: nasm-f elf64 hello
我在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 debug
您可以在此处阅读更多选项: