c-有没有办法禁用或禁止gdb或lldb访问我编译的库



基本上,我想做的就是确保没有人能够遍历敏感代码。

我在可能的地方读过,只是我找不到我在哪里读到的。

谢谢!

否。从根本上讲,任何能够运行对象代码的人都可以在任何程度上对其进行检查。

如果你不希望他们能够运行目标代码,你必须在你选择的机器上运行它,并且只能通过网络与用户交互。

所有声称禁用调试器的技术都只是利用漏洞,这些漏洞通常在几个月后调试器的下一版本发布时得到修复;甚至那些对于通过VM进行调试也是完全无用的。

我想做的是确保没有人能够通过敏感代码。

"无人"部分是不可能的:无论你尝试什么,一个老练的攻击者都能做到。

有许多技术可以阻止不那么复杂的攻击者,这本书展示了其中的一些。

一般来说,这些技术不值得你花时间——它们使软件的现场支持变得困难,无法阻止复杂的攻击者(你只需要一个成功的攻击者就可以使你的努力变得无用),而且你的软件通常一开始就没那么有趣。

如果它足够有用,人们就会购买。如果它不够有用,增加保护措施会使它变得更不有用。

最新更新