加载中…
个人资料
elecs
elecs
  • 博客等级:
  • 博客积分:0
  • 博客访问:53,097
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

做看雪2016 CTF第22题有感 ——Debug Blocker

(2017-11-17 09:09:02)
标签:

debug_blocker

分类: 信息安全
最近在做看雪2016 CTF第22题,该题采取了调试器和被调试进程来进行反调试。之前根本没有接触过,瞬间卡壳 了,即便看前辈们写的Writeup也不太明白怎么调试子进程。看来他们认为这些是基础知识,默认不讲了。

匆忙间翻出《逆向工程核心原理》,第57章 Debug Blocker即为需要恶补的内容。

Debug Blocker作为一种反调试技术拥有以下特征:
1. 调试进程与被调试进程是父子关系;
2. 被调试进程不能再被其他调试器调试;
3. 终止调试进程的同时也终止被调试进程;
4. 调试器可以操作被调试进程的代码;
5. 调试器处理被调试进程中发生的异常

动态调试子进程的方法:
1. 使用OllyDbg调试父进程(调试器),调试运行到要分析的地方
2. 在子进程中要分析的代码处设置无线循环
3. 将父进程从子进程中分离(DebugActiveProcessStop)
4. 附加OllyDbg到子进程进行调试。

调试过程中需要熟悉WaitForDebugEvent、ContinueDebugEvent、GetThreadContext、SetThreadContext、ReadProcessMemory、WriteProcessMemory等函数意义及其相关参数。技术原理、调试细节及其操作步骤在《逆向工程核心原理》中描述十分详细,我就不赘述了。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有