设为首页 加入收藏

TOP

-------- ROOTKIT 核心技术——系统服务调度表挂钩调试(PART III) --------(一)
2018-10-21 18:08:40 】 浏览:232
Tags:-------- ROOTKIT 核心 技术 系统 服务 调度 挂钩 调试 PART III

————————————————————————————————————————————————————————————————————————————————————————

本篇开始进行真枪实弹的调试,本文的最后会附上完整的源码包,方便各位在自己的机器上演练。

 

如果安装了 Windows Driver Kits,在“开始”->“所有程序”中选择类似“WDK 7600.16385.1”的项目。具体的数字取决于你

安装的 WDK 开发环境版本而定。然后选择“Build Environments”下面的操作系统版本,

亦即你编译出来的驱动要运行其上的 OS 版本,接着选择硬件平台体系结构构建类型,比如“x86 Checked Build

Environment”是用于 32 位平台,且附带生成包含调试符号文件的构建环境。

调试符号文件有助于调试器显示驱动二进制文件中的函数,变量,常量名称等信息,生成人性化的输出。

这样会创建一个特殊的 cmd.exe 进程,它的环境变量预配置好了各种构建相关的参数,比如头文件,库文件的位置;编译器,汇编

器,链接器程序所在路径。。。等等。

我们在该 cmd 窗口中切换到源码包的解压目录,然后执行如下命令:

build /D /g /b /B /e /F /S /s /$ /why /v /w /y

这些指定的参数让你能查看详细的构建过程,比如预处理器解析头文件的嵌套包含过程,给出可能的警告或错误提示。

下面是一个样例输出,对于排除过程中出现的问题很有用:

 

D:\kmdsource_use_mdl_mapping_ssdt>build  /D /g /b /B /e /F /S /s /$ /why /v /w /y
BUILD: Compile and Link for x86
BUILD: Loading d:\winddk\7600.16385.1\build.dat...
BUILD: Computing Include file dependencies:
    Scanning d:\winddk\7600.16385.1\inc\api
    Scanning d:\winddk\7600.16385.1\inc\ddk
BUILD: Start time: Mon Jan 29 14:08:34 2018
    Scanning d:\kmdsource_use_mdl_mapping_ssdt
    Scanning d:\winddk\7600.16385.1\inc\crt
BUILD: Examining d:\kmdsource_use_mdl_mapping_ssdt directory for files to compile.
    d:\kmdsource_use_mdl_mapping_ssdt
Invalidating OACR warning log for 'root:x86chk'
0x00000001-0x00000001/0x00000001 usemdlmappingssdt.c  ntddk.h                d:\winddk\7600.16385.1\inc\ddk
0x00000002-0x00000001/0x00000001 usemdlmappingssdt.c    wdm.h                d:\winddk\7600.16385.1\inc\ddk
0x00000003-0x00000001/0x00000001 usemdlmappingssdt.c      excpt.h            d:\winddk\7600.16385.1\inc\crt
0x00000004-0x00000001/0x00000001 usemdlmappingssdt.c        crtdefs.h        d:\winddk\7600.16385.1\inc\crt
0x00000005-0x00000001/0x00000001 usemdlmappingssdt.c          specstrings.h     d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            sal_supp.h   d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            specstrings_supp.h   d:\winddk\7600.16385.1\inc\api
0x00000007-0x00000001/0x00000001 usemdlmappingssdt.c              sal_supp.h d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            sal.h        d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            specstrings_strict.h   d:\winddk\7600.16385.1\inc\api
0x00000007-0x00000001/0x00000001 usemdlmappingssdt.c              specstrings_undef.h d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            driverspecs.h   d:\winddk\7600.16385.1\inc\api
0x00000007-0x00000001/0x00000001 usemdlmappingssdt.c              specstrings.h d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            sal_supp.h   d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            specstrings_supp.h   d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            sal.h        d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            specstrings_strict.h   d:\winddk\7600.16385.1\inc\api
0x00000006-0x00000001/0x00000001 usemdlmappingssdt.c            sdv_driverspecs.h   d:\winddk\7600.16385.1\inc\api
0x00000003-0x00000001/0x00000001 usemdlmappingssdt.c      ntdef.h            d:\winddk\7600.16385.1\inc\api
0x00000004-0x00000001/0x00000001 usem
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇-------- Rootkit 核心技术——利.. 下一篇C语言实现排名算法和排位算法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目