紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 220|回复: 4

《WIN64驱动教程》补充[21]:一种罕见的注册表隐藏方式(DKOH)

[复制链接]

854

主题

3481

帖子

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
36100
发表于 2014-9-24 23:51:18 | 显示全部楼层 |阅读模式
作者:Tesla.Angela

今天介绍的东西,与其说用来保护注册表,不如说是介绍一种比较罕见的操作方式:DKOH(直接内核对象挂钩)。WINDOWS系统在遍历注册表的时候,会调用“注册表对象”(类似于进程对象EPROCESS的结构体)里记录的一个函数指针(HvpGetCellMapped)。通过修改这个记录(就是HOOK),即可截获所有对注册表的枚举操作。当发现遍历到特定的注册表对象时,进行特定处理即可实现隐藏注册表。处理逻辑比较简单:先调用原来的HvpGetCellMapped,如果发现此函数返回的是要隐藏的注册表对象,就找到这个注册表对象的下一个注册表对象,然后返回下一个注册表对象。由于WINDOWS没有公开注册表内部的结构体信息,而在操作过程中又需要大量使用未公开结构体,所以这份代码就支持到WIN7为止了。WIN8的注册表内部结构体发生了较大的变化,代码就不适用了。程序的效果是隐藏注册表键“\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services\\agp440”。最后声明:这种方法是我学驱动时一个朋友教我的(至于是谁原创就无法追究了),但我做了修改,使之支持32位的WIN2000~WIN7。
游客,如果您要查看本帖隐藏内容请回复

0

主题

37

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
61
发表于 2024-1-3 19:04:09 | 显示全部楼层
学习了

0

主题

47

帖子

0

精华

贵宾会员

Rank: 2Rank: 2

积分
89
发表于 2024-1-26 23:40:42 | 显示全部楼层
2024补充学习

1

主题

117

帖子

0

精华

金牌会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
854
发表于 2024-3-28 16:53:19 | 显示全部楼层
感谢楼主,学习一下。

0

主题

45

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
53
发表于 2024-3-29 11:38:00 | 显示全部楼层
学习一下
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-4-29 14:37 , Processed in 0.025630 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表