【发布时间】:2014-10-02 00:36:47
【问题描述】:
基本上,我想做的就是确保没有人能够单步执行敏感代码。
我可能在某个地方读到过,只是我找不到我在哪里读到的。
谢谢!
【问题讨论】:
-
可能会混淆调试器,但您无法阻止其他人破坏您的二进制文件
-
@BryanChen 如何混淆调试器?我会接受的:)。
基本上,我想做的就是确保没有人能够单步执行敏感代码。
我可能在某个地方读到过,只是我找不到我在哪里读到的。
谢谢!
【问题讨论】:
没有。从根本上说,任何可以运行目标代码的人都可以在任何程度上对其进行检查。
如果您不希望他们能够运行目标代码,则必须在您选择的机器上运行它,并且只能通过网络与用户交互。
所有声称禁用调试器的技术都只是利用漏洞,这些漏洞通常在几个月后发布下一个调试器版本时得到修复;甚至那些对通过 VM 进行调试也是完全没用的。
【讨论】:
我想做的是确保没有人能够通过敏感代码。
“没有人”部分是不可能的:无论您尝试什么,一个老练的攻击者都可以做到。
有许多技术可以阻止不太成熟的攻击者,this book 展示了其中的一些。
一般来说,这些技术不值得你花时间——它们使你的软件的现场支持变得困难,它们不能阻止老练的攻击者(你只需要一个成功就可以使你的努力变得无用),而且你的软件通常是一开始就没那么有趣。
如果它足够有用,人们就会购买它。如果不是这样,添加保护将使其变得更没用。
【讨论】: