从 C++ 二进制文件中剥离某些信息是否安全?

Is striping certain information from a C++ binary safe?

我是 C++ 的新手,正在尝试创建一个程序来读取 Linux 屏幕上的像素。

我目前在没有任何优化标志的情况下编译项目,因为我不确定它对程序做了什么,但这将是另一个问题,这是我的:

从 C++ 二进制文件中剥离某些信息是否安全?

我找到了一个可能有用的 manual page of strip 程序。

因为我真的不知道在这种情况下条带化意味着什么,我不确定它是否像条带化一样简单:

-s --strip-all    Remove all symbol and relocation information

但是,当然,我希望程序能够完美运行,那么它是否会干扰程序的执行?


至于我剥离的动机:我想知道它是否安全,正如我已经说过的,我再说一遍:

I don't really know what striping means in this context.

我认为回答者也可以涵盖这一点。由我决定。

符号用于调试。

如果您删除它们,您的应用程序将继续运行而不会出现问题;但如果出现问题,您可能会发现更难调试。

重定位信息用于动态库加载和地址space布局随机化(谢谢@interjay);从 strip documentation

--remove-relocations=sectionpattern

... Note that using this option inappropriately may make the output file unusable. ...