网站大量收购独家精品文档,联系QQ:2885784924

R3调试器(掘墓人)设计说明书.doc.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
R3调试器(掘墓人)设计说明书.doc

1引言 4 1.1编写目的 4 1.2背景 4 1.3定义 4 1.4参考资料 4 2程序系统的结构 4 3程序1(R3Dbg.dll)设计说明 5 3.1程序描述 5 3.2功能 5 3.3输出函数 5 3.4主要函数流程逻辑 6 DLL MAIN 6 调试信息处理线程回调函数 6 单步事件处理块分流程图: 8 3.5存储分配 10 3.6注释设计 10 3.7测试计划 11 4程序2(Gravedigger.exe)设计说明 12 4.1程序描述 12 4.2功能 12 4.3 调试指令 12 4.4流程逻辑 13 4.5测试计划 14 详细设计说明书 1引言 1.1编写目的 说明该调试器的实现原理,变量定义,程序工作流程,输出项。用以对整个调试器有一个简要的概述。 1.2背景 说明: 项目名称:R3Dbg(调试器内核),Gravedigger(调用示例) 本项目的任务开发者:傅强。 开发背景:科锐3阶段项目。 运行环境:WIN2000,XP。 1.3定义 1.4参考资料 科锐3阶段课堂笔记。 《加密与解密3》 作者:段刚。电子工业出版社 2程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间 的层次结构关系。 3程序1(R3Dbg.dll)设计说明 3.1程序描述 R3Dbg.DLL,是一个调试器内核DLL,可被多种语言调用。该DLL导出了调试器所需要的功能函数,调用程序可通过这些导出函数来启动,操作和退出调试器。并通过部分导出函数获取调试信息的输出字符串用以界面显示。 3.2功能 设置被调试程序路径 设置主控进程路径 设置程序运行状态 设置操作指令 获取上次错误信息 获取反汇编信息 获取程序运行状态 获取寄存器信息字符串 获取内存信息字符串 获取栈信息字符串 获取断点信息字符串 获取OpCommend函数地址 获取R3DBG.dll的模块句柄 获取被调试程序进程句柄 CALL地址函数名解析 3.3输出函数 Void SetDbgNamePath(char *szDbgName, char *szDbgPath) ;设置被调试程序路径 char *GetErr() ;获取上次错误信息 char *GetAsmStr() ;获取反汇编信息 BOOL GetIsPase() ;获取程序运行状态 void SetIsPase (BOOL isPase) ;设置程序运行状态 void SetOpCode(char *OpCode); ;设置操作指令 char *GetMemStr() ;获取内存信息字符串 char *GetStackStr() ;获取栈信息字符串 char *GetBreakStr() ;获取断点信息字符串 Void SetPrProcess(char *Proprocess) ;设置主控进程路径 char *GetRegisterStr() ;获取寄存器信息字符串 PTHREAD_START_ROUTINE GetOpCommend() ;获取OpCommend函数地址 HMODULE GetR3DbgHandle() ;获取R3DBG.dll的模块句柄 HANDLE GetR3ProcHandle() ;获取被调试程序进程句柄 3.4主要函数流程逻辑 DLL MAIN 调试信息处理线程回调函数 单步事件处理块分流程图: 3.5存储分配 a. 3.6注释设计 加在模块首部的注释; 加在各分枝点处的注释; 对各变量的功能、范围、缺省条件等所加的注释; 3.7测试计划 测试环境:WindowsXP SP3: 调用进程: Gravedigger.exe 测试项目: 第一次被调用 第二次被调用 对被调试程序PE扫描 创建被调试进程状态 被调试进程路径或文件名错误处理 OEP入口暂停 正确操作指令解析,功能函数调用状态 错误操作指令,错误参数处理 软断点增加 硬件断点增加,访问,写,执行,1,2,4长度 内存断点增加,代码段读,写.长度1,2,50.100,253,254 内存断点增加,数据段读,写.1-255长度1,2,50.100,253,254 软断点删除 硬件断点删除 内存断点删除 软断点捕获,临时恢复状态 硬件断点捕获,临时恢复状态 内存断点捕获,临时恢复状态 软断点地址重复设置 硬件断点范围,类型重复设置 内存断点范围,类型重复设置 软断点与硬件断点组合设置测试 软断点与内存断点组合设置测试 硬件断点与内存断点组合设置测试 软断点

文档评论(0)

book1986 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档