发新话题
打印

[讨论]Windows注册表的无备份恢复

本主题由 冰血封情 于 2008-4-12 01:30 移动

[讨论]Windows注册表的无备份恢复

信息来源:邪恶八进制信息安全团队(www.eviloctal.com
议题作者:qzwqzw

Windows注册表恢复技术通常费为三大类:

第一类是有用户备份的恢复,这包括配置单元文件的备份恢复和注册表的项的导出导入
第二类是系统备份的恢复,通过Google,大多信息都来源自 没有备份也能恢复Windows注册表 ,其中提到的注册表检查、最后一次正确配置、系统还原、System.1st、重新安装等方法基本上都是利用系统的非用户定义的注册表数据备份进行恢复。
第三类就是我所讨论的无备份的恢复,此类恢复通常是局部的单个键值或子项的恢复。

无备份恢复大概有两种思路:

一种是类似Undo的操作撤销,也就是说对所有注册表的写操作建立一个缓存池,在任意时刻可以对注册表的写操作进行回滚,这需要Hook相关的函数,Sysinternals的regmon就是一个相类似的例子。

另一种是类似文件数据的标记恢复,也就是说绕过Windows的API直接读取注册表的配置单元文件(.hiv),然后对其中的子项和键值的删除标记进行甄别和筛选。但这种理论的前提是建立在Windows没有物理删除某个数据项的基础上的,经过我的简单测试,这个前提是至少在局部范围内是基本成立的。

但真正困难的是,我对Windows的函数和注册表的技术标准都毫无了解,无法具体实践这两项技术中的任何一个,所以只有在此抛砖引玉,希望各位都给与帮助和支持。

希望管理曾和各位专家高手支持我的议题,非常感谢!

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

第二个不懂,第一个感觉还是备份,能解释清楚点?

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

看来大家还是不太了解我的思路
现在给个我在winos上发的同主题的链接
因为这里审核的太慢了,所以重新拟稿转发了
希望版主不会见怪
http://bbs.winos.cn/thread-30844-1-1.html

关于方案1有了些初步的想法
在技术受限的情况下
可以考虑编写一个regmon/procmon的shell
能够自动调用对应程序
并设定过滤器
然后在合适的时间取得捕获结果列表
并可以根据列表选生成Undo日志

至于方案2
根据regscaner的搜索特性
证实注册表中保存了每个键值的修改时间
也再次说明了注册表结构上的复杂性

TOP

呵呵...搞得好复杂啊...如果是win98以上的话..开机按F8 选择最后一次正确的启动  就恢复注册表了

TOP

楼主已经很厉害了,我所知道的只是第一种而已,导入导出。

TOP

发新话题