盗版也反盗版一直是共存的矛盾体,也是在数字版权领域争论不休的一块领域。破解与反破解,侦测与反侦测也正是基于此而生生不息,欣欣向荣。鉴于此,安全软件是作为守方的我们所锲而不舍的目标。
抛却密码学的概念,为了达到安全的目标,如何防止攻方的进攻,构筑我们的城池,也是很重要的一个方面。反调试正是基于此提出来的一个守方架构,一道护城河,一堵城墙。
在此基于windows平台,我们总结一些有效的反调试的方法。
所谓知己知彼,百战不殆。首先我们分析一下,windows平台下调试的一些原理。为了防止自己的进程被第三方的进程进行调试分析,我们首先必须有方法知道是不是有进程在调试我们的进程。如何得知呢?具体有下面这些方法:
- Windows下的每个进程都有自己的一个进程环境,而且基于windows的架构,其核心态和用户态都有这样的一个数据结构用于记录进程的相关信息。核心态有个EPROCESS的数据结构,而用户态有PEB(process environme