源代码下载地址:http://download.youkuaiyun.com/download/chenhuan20123/10208956
百度云:链接:https://pan.baidu.com/s/1ViZ4wvSPDr8HrFYgWrYTjg 密码:ksop
城通网盘:https://tc5.us/file/19714638-417238555
-
实验目的和要求:
- 使用驱动程序隐藏注册表中的某一键值,如
HKLM\SOFTWARE\ABC\SomeValue
- 可通过用户态程序向驱动程序发送IOCTL命令,启动或关闭注册表隐藏功能
- 可通过用户态程序向驱动程序发送IOCTL命令,指定隐藏哪个注册表键值
- 使用驱动程序隐藏注册表中的某一键值,如
-
实验内容及步骤:
-
安装WinXP DDK

-
编写驱动程序,编写makefile和SOURCES文件








-
编译驱动程序

-
加载启动驱动程序,并启动服务

-
查看注册表是否成功隐藏

运行服务之后
-
编写用户态程序

-
测试用户态程序
关闭隐藏服务
可以看到被隐藏的SomeVaule在刷新后出现
开启隐藏服务
可以看到SomeVaule在刷新后重新隐藏起来了
-
查看注册表是否成功隐藏IOCTL命令里的注册表键值
自定义隐藏值(本次隐藏yes)
可以看到刷新后原本隐藏的SomeVaule出现,但是yes被隐藏了
-
-
问题及解决办法
- 编译出错 查看代码是否出错,比如#include的头文件是否必要
-
无法隐藏注册表键值
查看路径是否出错,比如“\\REGISTRY\\MACHINE\\SOFTWARE\\ABC”
是否写成了"//REGISTRY//MACHINE//SOFTWARE//ABC"
。 -
无法编译用户程序
安装WindowsSDK组件 -
运行用户程序出错

将该DLL文件放到程序目录下 -
用户程序出现错误代码:1
重启机器后再次加载驱动程序
源代码下载地址:http://download.youkuaiyun.com/download/chenhuan20123/10208956