防止调试就是阻碍用户对我们所设计的程序进行调试,尽量使用户很难甚至不能调试程序。如果用户无法调试被保护的程序,那么篡改程序的执行流程就会变得非常困难。这种思路曾经在一段时间内指导了很多保护系统的设计者,因此在这方面也发展出了非常多的技术手段,之后我们将讨论其中的一部分。
防止调试技术主要包括函数检测、数据检测、符号检测、窗口检测、特征码检测、行为检测、断点检测、功能破坏、行为占用、运行环境检测、反沙箱等。