一个巧妙的反调试技巧:反入口断点 + 反F2断点

前言

大家在进行调试分析时,可能会碰到这样的情况:

当我们在代码段自信满满的按下F2时,突然提示:设置断点于 xxxx 失败!

我相信很多朋友遇到过,今天我们就来讲讲这个是怎么实现的

1水印版

方法讲解

我们在VIP2第4章节,讲解了PE文件结构,其中讲解到了节的属性:

节属性在 IMAGE_SECTION_HEADER.Characteristics

下图即为小迪老师给大家整理的节属性的表格

节属性-min

常见标志:

IMAGE_SCN_MEM_READ      0x40000000 可读
IMAGE_SCN_MEM_WRITE     0x80000000 可写
IMAGE_SCN_MEM_EXECUTE   0x20000000 可执行

IMAGE_SCN_CNT_CODE      0x00000020 包含代码
IMAGE_SCN_CNT_INITIALIZED_DATA		 包含已初始化数据
IMAGE_SCN_CNT_UNINITIALIZED_DATA	 包含未初始化数据

这里就是一些最基本的内容回顾了,当然,远远还不够,我们还需要另外一个大杀器

技术整合

现在我们可以这样做:就可以让 入口断点失效,程序直接跑飞 + F2断点失效

如何绕过

实验程序:【带反入口断点+F2调试的程序.exe】https://wwbhu.lanzoue.com/iuXH93dq1nah

两个方法:

请登录后发表评论

    没有回复内容