基于od插件的内核调试器的设计与实现o0g8grk_.docVIP

  • 123
  • 0
  • 约4.51万字
  • 约 38页
  • 2018-09-11 发布于湖北
  • 举报

基于od插件的内核调试器的设计与实现o0g8grk_.doc

基于od插件的内核调试器的设计与实现o0g8grk_

目 录 TOC \o 1-3 \u 1绪论 PAGEREF _Toc262138811 \h 2 1.1研究背景 PAGEREF _Toc262138812 \h 2 1.2本文的主要研究内容 PAGEREF _Toc262138813 \h 3 2 Windows系统基础 PAGEREF _Toc262138814 \h 4 2.1 OD插件知识 PAGEREF _Toc262138815 \h 4 2.1.1 OD插件简介 PAGEREF _Toc262138816 \h 4 2.1.2 如何编写OD插件 PAGEREF _Toc262138817 \h 5 2.2 Windows系统理论知识 PAGEREF _Toc262138818 \h 5 2.2.1 Windows进程虚拟地址空间 PAGEREF _Toc262138819 \h 5 2.2.2 Windows系统调用 PAGEREF _Toc262138820 \h 6 2.2.3 Windows 句柄理解 PAGEREF _Toc262138821 \h 7 2.2.4 Windows 切换进程空间 PAGEREF _Toc262138822 \h 8 2.3 Windows调试系统原理 PAGEREF _Toc262138823 \h 8 2.3.1 Windows调试系统用户模块 PAGEREF _Toc262138824 \h 8 2.3.2 Windows调试系统内核模块 PAGEREF _Toc262138825 \h 9 3系统需求分析 PAGEREF _Toc262138826 \h 9 3.1 存在的主要问题 PAGEREF _Toc262138827 \h 9 3.2解决方案 PAGEREF _Toc262138828 \h 10 3.3系统需求分析 PAGEREF _Toc262138829 \h 10 3.4系统流程图 PAGEREF _Toc262138830 \h 12 4系统概要设计 PAGEREF _Toc262138831 \h 13 4.1 应用程序模块 PAGEREF _Toc262138832 \h 13 4.2 内核驱动模块 PAGEREF _Toc262138833 \h 14 5系统详细设计 PAGEREF _Toc262138834 \h 15 5.1 HOOK ntdll.dll的KiFastSystemCall()函数 PAGEREF _Toc262138835 \h 15 5.2 实现HOOK的HxKiFastSystemCall(),改变系统调用的流程 PAGEREF _Toc262138836 \h 16 5.3 解析微软提供的PDB文件得到未导出的内核函数地址 PAGEREF _Toc262138837 \h 18 5.4 向Windows系统内核中加入我们自己的系统服务表 PAGEREF _Toc262138838 \h 24 5.5 实现我们自己的系统调用函数 PAGEREF _Toc262138839 \h 27 5.6 移除EPROCESS-DebugPort端口 PAGEREF _Toc262138840 \h 31 5.7 HOOK Windows 内核下会发送调试事件的内核函数 PAGEREF _Toc262138841 \h 32 5.8 HOOK Windows内核异常处理函数 PAGEREF _Toc262138842 \h 35 系统开发小结 PAGEREF _Toc262138843 \h 36 参考文献 PAGEREF _Toc262138844 \h 36 致 谢 PAGEREF _Toc262138845 \h 37 基于OD插件的内核调试器的设计与实现 摘 要:随着计算机互联网技术的飞速发展,网络游戏得到了很好的发展,它的保护也是日趋完善,几种常见的保护有nProtect GameGuard(NP), hackshield(HS),让OllyDbg调试器(OD)不能调试,Cheat Engine(CE)不能搜索游戏内存,让人们没法开始逆向它们,本文即在这种背景下为了满足人们的工作需求而设计的。系统以VC 6.0 应用程序编译器和WIN DDK 3790.1830 驱动编译器作为开发工具,以OD调试器提供的静态库,Window Research Kernel(WRK)的源码为基础,HOOK OD进程空间ntdll.dll动态库的KiFastSystemCall()函数,通过我们自己在Windows内核下加的系统服务表,使其当OD调试器调用我们感兴趣的系统调用时,跳到我们自己的系统调用,这样

文档评论(0)

1亿VIP精品文档

相关文档