首页> 中文学位 >WIN32动态调试器的研究与实现
【6h】

WIN32动态调试器的研究与实现

代理获取

目录

摘要

Abstract

第一章 引言

1 课题研究的背景和现状

2 选题意义

3 课题设计内容

4 论文组织结构

第二章 Windows 程序的运行机制分析

1 Windows 应用程序编程接口

2 Windows 可执行程序文件产生

3 Windows 应用程序类型

4 Windows 可执行程序文件格式

4.1 可执行程序文件格式发展历程

4.2 PE 格式可执行文件结构

5 Win32 汇编语言源程序格式

6 模块的映射

7 内核对象和句柄

8 保护模式与特权级

9 匈牙利表示法

第三章 静态分析的设计与实现

1 动态链接库

1.1 动态链接库的定义和组织

1.2 动态链接库的数据共享

1.3 动态链接库的使用

2 静态分析

2.1 程序入口地址获取

2.2 可执行文件节区分析

2.3 隐式加载的动态链接库分析

2.4 形实替换程序

2.5 PE 文件导出函数分析

2.6 导入和导出的关系

2.7 静态分析时的地址转换

2.8 文件合法性校验

第四章 动态调试的设计与实现

1 Windows 下程序的执行方式

1.1 进程的创建

1.2 虚拟地址空间

2 带命令行参数加载程序

3 单步执行调试

3.1 创建被调试进程

3.2 调试循环体

3.3 进程上下文环境的设置及寄存器的读写

4 断点执行

5 寄存器和变量的查看

6 消息捕获

7 API 拦截

第五章 软件架构选择

第六章 调试器运行实例

第七章 结论

1 课题总结

2 后续工作的展望

参考文献

致谢

在读期间取得的科研成果

展开▼

摘要

调试器是编写程序必不可少的工具软件,其功能强弱直接影响到开发效率。高级语言集成开发环境都带有全功能调试器,而计算机专业人员经常使用的宏汇编语言,在Windows下却没有完善的调试环境支持。本文对Win32调试的原理进行了深入研究,并实现了针对宏汇编语言的全功能调试器。本文从可执行文件产生的分析开始,对可执行文件的组织结构、模块的映射及两种类型Windows应用程序的本质区别等Windows程序的运行机制进行了深入分析。本课题完成的调试器主要包括静态分析和动态调试功能。静态分析通过对可执行文件的分析得到程序的入口地址、节区信息、从动态链接库导入的符号信息、自身导出的符号信息等内容。动态调试是在程序的执行过程中观察运行情况,调试时控制程序以单步方式、断点方式运行并可检查中间结果;消息处理是Windows应用程序的灵魂,钩子是系统提供的消息处理的监视点,利用钩子将被调试程序的消息捕获,显示这些消息可以观察程序的执行情况;Win32API是操作系统提供的应用程序编程接口,拦截指定API就可以知道程序调用了哪些系统服务。单步运行、断点运行、消息捕获和API拦截是动态调试的主要内容。采用C++语言与汇编语言混合编程设计的调试器实例实现了以上功能,其正确性已得到了验证。论文最后对课题工作进行了总结,指出了研究的不足之处及对今后研究的展望。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号