【问题标题】:Prevent execute-file from dump function name by using `strings` and `class-dump`使用 `strings` 和 `class-dump` 防止执行文件转储函数名称
【发布时间】:2012-04-02 02:29:01
【问题描述】:

我正在用 C++ 编写一个安全应用程序。当我运行strings app.name 时,我发现结果上出现了很多方法名称。

有没有办法隐藏这些方法名? (我可以手动更改这些函数名称,但我只是想知道是否可以向编译器添加一些标志以轻松隐藏这些名称)。

【问题讨论】:

  • 确保从最终的可执行文件中去除调试符号。在 Linux 上,使用 strip 命令,或将 -s 传递给 GCC。
  • 那个,并且在没有 RTTI 的情况下编译。当然,如果你使用异常处理,那是行不通的。
  • @SimonRichter:RTTI 会有什么问题?那只会提供类的名称,还是那里有更多信息?
  • 作为字符串,只有类名。

标签: c++ c reverting


【解决方案1】:

仍然可以克服隐匿带来的安全性,但您始终可以strip 您的二进制文件来删除所有调试符号和信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-14
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多