使用 ASLR(-pie) 编译会导致可执行文件被视为共享库
Compiling with ASLR(-pie) causes the executable to be seen as shared library
我正在尝试将 security flags 添加到可执行文件中,但似乎在使用 -pie
(作为链接器标志)进行编译时,file
工具将其视为共享库,虽然我可以 运行 它没有问题。
这是正常的吗?这可以修复吗?
我正在使用 add_link_options(-pie)
(因此所有 CMake 可执行文件都可以受益)
untitled3: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=f33e240db8bf52c2566b2cad14b4be67fdb6b35a, with debug_info, not stripped
LE:这似乎是 file
工具中的错误,已修复 here:
使用-pie
编译的可执行文件是共享对象。 file
现在有专门的支持来处理这些问题。 的答案对此进行了更详细的介绍。
我正在尝试将 security flags 添加到可执行文件中,但似乎在使用 -pie
(作为链接器标志)进行编译时,file
工具将其视为共享库,虽然我可以 运行 它没有问题。
这是正常的吗?这可以修复吗?
我正在使用 add_link_options(-pie)
(因此所有 CMake 可执行文件都可以受益)
untitled3: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=f33e240db8bf52c2566b2cad14b4be67fdb6b35a, with debug_info, not stripped
LE:这似乎是 file
工具中的错误,已修复 here:
使用-pie
编译的可执行文件是共享对象。 file
现在有专门的支持来处理这些问题。