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

Lin*_*eak 1 c++ debug-symbols

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

我目前在编译项目时没有任何优化标志,因为我不确定它会对程序产生什么影响,但这将是另一个问题,这是我的:

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

我发现了一个可能有用strip程序手册页

正如我不真的知道什么是条带化的手段在这种情况下,我不能确定,如果它很简单,只要带区所有的它:

-s --strip-all    Remove all symbol and relocation information
Run Code Online (Sandbox Code Playgroud)

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


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

我并不真的知道什么是条带化的手段在这种情况下。

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

UKM*_*key 6

符号用于调试。

如果您去除它们,您的应用程序将继续解决问题。但是如果出现问题,您可能会发现很难调试。

重定位信息用于动态库加载和地址空间布局随机化(感谢@interjay);并从带状文档

--remove-relocations =节模式

...请注意,不当使用此选项可能会使输出文件无法使用。...