qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  WIN逆向

摘要:利用SEH技术实现反跟踪,这个方法比单纯用判断API函数第一个字节是否为断点更加有效,可以防止在API函数内部的多处地址设置断点 通过int 3指令故意产生一个异常,从而让系统转入自己的异常处理函数,修改CONTEXT结构的regFlag中的TF位设置为1,并且将ContextFlags修改为CON 阅读全文
posted @ 2017-07-12 18:15 qintangtao 阅读(427) 评论(0) 推荐(0)

摘要:此时Dr0为4271B5,表示4271B5地址处被设置了硬件断点。现在我们来看看CONTEXT结构。 这里我们可以看到context结构中Dr0~Dr3寄存器的内容。黄色标注的4271B5是我们设置了硬件断点的地址。其他三个粉红色标注的位零,因为我们只设置了一个硬件断点,所以它们是空的。 当异常处理 阅读全文
posted @ 2017-06-20 17:18 qintangtao 阅读(2732) 评论(0) 推荐(0)

摘要:所谓“两次内存断点法寻找OEP”,按照《加密与解密*第三版》上的解释来说,就是这样的。一般的外壳会依次对.text、.rdata、.data、.rsrc区块进行解压(解密)处理,所以,可以先在.rdata、.data等区块下内存访问断点,中断后,此时代码已解压,接着再对代码段(.text)下内存访问 阅读全文
posted @ 2017-06-16 17:28 qintangtao 阅读(522) 评论(0) 推荐(0)

摘要:这些就是调试寄存器组,Dr0 ~ Dr7。Dr0,Dr1,Dr2,Dr3是用于设置硬件断点的,由于只有4个硬件断点寄存器,所以同时最多只能设置4个硬件断点。产生的异常是STATUS_SINGLE_STEP(单步异常)。Dr4,Dr5是系统保留的。Dr7是一些控制位,用于控制断点的方式,Dr6是用于显 阅读全文
posted @ 2016-07-19 20:28 qintangtao 阅读(7786) 评论(1) 推荐(1)