1

GCC 可见性功能使我们能够在共享库中剥离那些我们不希望客户看到的 API。事实上,我们不能使用 ldopen 来调用那些隐藏的函数,但我想知道这是否足够安全以保护我们敏感的 API。

我只是想简要解释一下共享库中隐藏 API 的可靠性/安全性,以便平衡工作和风险。我问这个问题只是因为我在 GCC 的文档中找不到关于这个问题的充分描述。

请重新打开这个问题。

4

2 回答 2

2

可见性属性的真正目的是该库不公开不打算直接使用的自身部分。对于任何试图破解它的人来说,它几乎没有什么区别。他们仍然需要反汇编代码,并且找出函数的入口点并不难(你自己看看!)。是的,通过兆字节的代码工作是一项艰巨的工作,但是有经验的人会知道要寻找什么样的东西,因此可能会跳过大量代码。

于 2013-05-21T08:43:34.157 回答
1

只要你能反汇编代码,你就可以破解它。可能需要更长的时间,但可以做到。更安全的保护是在某些服务器上运行代码。暗黑破坏神3就是这样保护它的,效果很好。然而,破解某些东西是一个动机问题。如果您的程序足够好并且黑客足够坚定,那么有人会破解它。您只能增加所需的时间。

于 2013-05-21T08:36:59.130 回答