CN102214287A - Windows系统注册表保护方法 - Google Patents
Windows系统注册表保护方法 Download PDFInfo
- Publication number
- CN102214287A CN102214287A CN2011101536440A CN201110153644A CN102214287A CN 102214287 A CN102214287 A CN 102214287A CN 2011101536440 A CN2011101536440 A CN 2011101536440A CN 201110153644 A CN201110153644 A CN 201110153644A CN 102214287 A CN102214287 A CN 102214287A
- Authority
- CN
- China
- Prior art keywords
- registry
- address
- function
- registry operations
- windows system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种Windows系统注册表保护方法,涉及数据库技术领域。该方法包括步骤:将注册表操作函数的地址作为原始地址保存,使用Hook函数的地址替换所述注册表操作函数的地址;当任一程序进行注册表操作时,所述Hook函数获取相应的操作信息,并将所述操作信息发送给应用层进行判断,如果判断结果显示所述注册表操作被允许,根据所述原始地址调用所述注册表操作函数完成所述注册表操作,否则,禁止所述注册表操作。本发明的Windows系统注册表保护方法,通过设置Hook函数对所有的注册表操作进行过滤,对可能会破坏注册表的恶意程序提前禁止。
Description
技术领域
本发明涉及数据库技术领域,特别涉及一种Windows系统注册表保护方法。
背景技术
注册表是Windows系统中的一个重要的数据库,用于存储系统和应用程序的设置信息。注册表中存储的信息与系统和应用程序的设置有着密切的关系,一旦注册表被篡改或破坏,很可能会造成系统和程序的异常,甚至导致系统崩溃难以修复。由于以上原因,我们需要采取一些手段来保护某些注册表键值不被恶意程序篡改或破坏。
现有的注册表保护方式一般是对注册表进行备份,一旦出现问题再行恢复。或者编写一些应用程序,不停的查询某些键值的状态,一旦与原值不符,则将其修正。采用类似以上的手段来保护注册表有如下几个问题:1、采用定期备份方式,备份的时机不好掌握。通常用户不知道什么时候注册表会发生变化,应该备份。如果没有及时备份,则可能有部分更新会被丢失;2、恢复注册表存在风险。在恢复注册表的时候,此时系统或应用程序可能已经发生变化,如果进行整体恢复可能会造成程序或系统异常;3、有些问题可能导致无法恢复。一些注册表键值可能会关系到系统的正常运行,一旦被篡改或破坏,可能造成系统不可用,对普通用户来说难以恢复;4、若采用定时查询的方式也必须保留一份正常数据的备份,某些问题和定期备份方式类似;5、定时查询方式如果间隔比较长,则无法做到短时间内恢复相应键值,此时有可能已经造成了一定程度的破坏;如果时间间隔较短,则可能耗费较多的系统资源;6、无论是备份恢复方式还是定时查询方式都不够灵活,如果用户自己想修改注册表,或某些操作确认是合法的,则需要关闭定时程序,或另作备份。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种Windows系统注册表保护方法,以便在注册表被篡改或者破坏之前对相应的注册表操作进行阻止。
(二)技术方案
为解决上述技术问题,本发明提供一种Windows系统注册表保护方法,包括步骤:
S100:将注册表操作函数的地址作为原始地址保存,使用Hook函数的地址替换所述注册表操作函数的地址;
S200:当任一程序进行注册表操作时,所述Hook函数获取相应的操作信息,并将所述操作信息发送给应用层进行判断,如果判断结果显示所述注册表操作被允许,根据所述原始地址调用所述注册表操作函数完成所述注册表操作,否则,禁止所述注册表操作。
优选地,所述步骤S100包括步骤:
S101:找到SSDT(System Services Descriptor Table,系统服务描述符表)表基址,通过偏移量找到所述注册表操作函数的地址,将所述地址作为所述原始地址保存;
S102:在所述SSDT表中,使用所述Hook函数的地址替换所述注册表操作函数的地址。
优选地,所述注册表操作函数包括函数ZwQueryValueKey、ZwSetValueKey和ZwDeleteValueKey。
优选地,所述注册表操作包括对注册表进行查询、修改或者删除操作。
优选地,所述操作信息包括所述注册表操作的注册表值路径、进程路径和操作类型。
优选地,在所述步骤S200之后,还包括步骤S300:在SSDT表中,将所述注册表操作函数的地址恢复为所述原始地址。
优选地,在所述步骤S200中,将所述操作信息发送给应用层后,应用层根据操作策略表中包括的注册表中各键值对不同程序的开放权限或者根据用户指令,判断所述注册表操作是否被允许。
(三)有益效果
本发明的Windows系统注册表保护方法,通过设置Hook函数对所有的注册表操作进行过滤,对可能会破坏注册表的恶意程序提前禁止。相比传统的先破坏后修复的处理方法,本发明方法执行效率高,节省系统资源。
附图说明
图1是本发明的实施例所述Windows系统注册表保护方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明的实施例所述Windows系统注册表保护方法的流程图。如图1所示,该方法包括步骤:
S101:找到SSDT表基址,通过偏移量找到注册表操作函数的地址,将所述地址作为原始地址保存。所述注册表操作函数包括函数ZwQueryValueKey、ZwSetValueKey和ZwDeleteValueKey。所述地址为所述注册表操作函数在内存中的地址。
S102:在所述SSDT表中,使用Hook函数的地址替换所述注册表操作函数的地址。
S200:当任一程序进行注册表操作时,所述Hook函数通过参数获取相应的操作信息,将所述操作信息发送给应用层,应用层根据操作策略表或者用户指令,判断所述注册表操作是否应该被允许,如果判断结果显示所述注册表操作被允许,则根据所述原始地址调用所述注册表操作函数完成所述注册表操作,否则,禁止所述注册表操作。
所述注册表操作包括对注册表进行查询、修改或者删除操作,所述操作信息包括所述注册表操作的注册表值路径、进程路径和操作类型。
所述操作策略表包括注册表中各键值对不同程序的开放权限,其结构大致如下:键值---允许操作的程序(路径、哈希值等)---此程序的操作权限(查询、修改、删除)。该结构中所述的三者之间的关系是一个键值对应多个程序,每个程序对应多种权限。
所述操作信息是通过参数传递进来的,不需要额外的流程进行获取。这和Hook函数的特点有关,Hook函数实际上就是一个自定义的和原始函数(如注册表操作函数ZwQueryValueKey)接口相同的函数,实际上原始函数在执行相应功能的同时也一样需要这些参数,所以Hook函数也一样能获取同样的输入参数,即此处所说的操作信息。所述Hook函数与所述应用层间通过共享缓冲区或者事件通信方式进行消息通信。当根据用户指令判断所述注册表操作是否应该被允许时,可以弹出提示对话框,由用户自己确定所述注册表操作是否应该被允许。
S300:在SSDT表中,将所述注册表操作函数的地址恢复为所述原始地址。
本发明的Windows系统注册表保护方法,通过设置Hook函数对所有的注册表操作进行过滤,对可能会破坏注册表的恶意程序提前禁止。相比传统的先破坏后修复的处理方法,本发明方法执行效率高,节省系统资源。该方法还可用于控制注册表的查询权限,保护隐私数据。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种Windows系统注册表保护方法,其特征在于,包括步骤:
S100:将注册表操作函数的地址作为原始地址保存,使用Hook函数的地址替换所述注册表操作函数的地址;
S200:当任一程序进行注册表操作时,所述Hook函数获取相应的操作信息,并将所述操作信息发送给应用层进行判断,如果判断结果显示所述注册表操作被允许,根据所述原始地址调用所述注册表操作函数完成所述注册表操作,否则,禁止所述注册表操作。
2.如权利要求1所述的Windows系统注册表保护方法,其特征在于,所述步骤S100包括步骤:
S101:找到SSDT表基址,通过偏移量找到所述注册表操作函数的地址,将所述地址作为所述原始地址保存;
S102:在所述SSDT表中,使用所述Hook函数的地址替换所述注册表操作函数的地址。
3.如权利要求2所述的Windows系统注册表保护方法,其特征在于,所述注册表操作函数包括函数ZwQueryValueKey、ZwSetValueKey和ZwDeleteValueKey。
4.如权利要求1所述的Windows系统注册表保护方法,其特征在于,所述注册表操作包括对注册表进行查询、修改或者删除操作。
5.如权利要求1所述的Windows系统注册表保护方法,其特征在于,所述操作信息包括所述注册表操作的注册表值路径、进程路径和操作类型。
6.如权利要求1所述的Windows系统注册表保护方法,其特征在于,在所述步骤S200之后,还包括步骤S300:在SSDT表中,将所述注册表操作函数的地址恢复为所述原始地址。
7.如权利要求1所述的Windows系统注册表保护方法,其特征在于,在所述步骤S200中,将所述操作信息发送给应用层后,应用层根据操作策略表中包括的注册表中各键值对不同程序的开放权限或者根据用户指令,判断所述注册表操作是否被允许。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101536440A CN102214287A (zh) | 2011-06-09 | 2011-06-09 | Windows系统注册表保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101536440A CN102214287A (zh) | 2011-06-09 | 2011-06-09 | Windows系统注册表保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102214287A true CN102214287A (zh) | 2011-10-12 |
Family
ID=44745589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101536440A Pending CN102214287A (zh) | 2011-06-09 | 2011-06-09 | Windows系统注册表保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102214287A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722680A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 清除恶意程序的方法和系统 |
CN102722679A (zh) * | 2012-06-06 | 2012-10-10 | 西安电子科技大学 | Windows操作系统中防止消息挂钩方法 |
CN104050418A (zh) * | 2013-03-13 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 一种网页浏览器文本背景安全打印的方法和装置 |
CN105354498A (zh) * | 2015-10-30 | 2016-02-24 | 珠海市君天电子科技有限公司 | 一种注册表的操作方法和相关装置及设备 |
CN105468984A (zh) * | 2015-11-19 | 2016-04-06 | 浪潮电子信息产业股份有限公司 | 一种实现操作系统安全的方法和装置 |
CN105608376A (zh) * | 2015-12-24 | 2016-05-25 | 北京金山安全软件有限公司 | 一种应用程序注册表删除方法及装置 |
CN106909838A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种拦截系统调用的方法及装置 |
CN107122164A (zh) * | 2017-03-31 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 函数地址获取及应用其的方法、装置、设备及存储介质 |
CN108897993A (zh) * | 2018-06-11 | 2018-11-27 | 山东华软金盾软件股份有限公司 | 一种Windows注册表隐藏的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735029A (zh) * | 2004-08-12 | 2006-02-15 | 海信集团有限公司 | 注册表保护系统和方法 |
-
2011
- 2011-06-09 CN CN2011101536440A patent/CN102214287A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735029A (zh) * | 2004-08-12 | 2006-02-15 | 海信集团有限公司 | 注册表保护系统和方法 |
Non-Patent Citations (2)
Title |
---|
何耀彬等: "二次跳转的SSDT钩挂及其检测方法研究", 《计算机工程与应用》, 19 May 2011 (2011-05-19), pages 102 - 105 * |
吴志恩等: "WindowsMobile中注册表保护的实现", 《计算机工程》, vol. 36, no. 1, 31 January 2010 (2010-01-31), pages 43 - 44 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722679A (zh) * | 2012-06-06 | 2012-10-10 | 西安电子科技大学 | Windows操作系统中防止消息挂钩方法 |
CN102722680A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 清除恶意程序的方法和系统 |
CN104050418A (zh) * | 2013-03-13 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 一种网页浏览器文本背景安全打印的方法和装置 |
CN105354498A (zh) * | 2015-10-30 | 2016-02-24 | 珠海市君天电子科技有限公司 | 一种注册表的操作方法和相关装置及设备 |
CN105468984A (zh) * | 2015-11-19 | 2016-04-06 | 浪潮电子信息产业股份有限公司 | 一种实现操作系统安全的方法和装置 |
CN106909838A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种拦截系统调用的方法及装置 |
CN105608376A (zh) * | 2015-12-24 | 2016-05-25 | 北京金山安全软件有限公司 | 一种应用程序注册表删除方法及装置 |
CN105608376B (zh) * | 2015-12-24 | 2019-03-15 | 珠海豹趣科技有限公司 | 一种应用程序注册表删除方法及装置 |
CN107122164A (zh) * | 2017-03-31 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 函数地址获取及应用其的方法、装置、设备及存储介质 |
CN108897993A (zh) * | 2018-06-11 | 2018-11-27 | 山东华软金盾软件股份有限公司 | 一种Windows注册表隐藏的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102214287A (zh) | Windows系统注册表保护方法 | |
CN107911373B (zh) | 一种区块链权限管理方法及系统 | |
CN101854392B (zh) | 一种基于云计算环境的个人数据管理方法 | |
US8295812B1 (en) | Reducing mobile-phone fraud | |
CN102236764B (zh) | 用于Android系统的抵御桌面信息攻击的方法和监控系统 | |
CN105468478A (zh) | 一种应用崩溃后的业务数据恢复方法及装置 | |
CN100449501C (zh) | 计算机网络数据恢复的方法 | |
RU2004135454A (ru) | Программный интерфейс, связанный с безопасностью | |
CN114448727B (zh) | 基于工业互联网标识解析体系的信息处理方法及系统 | |
WO2016112589A1 (zh) | 一种基于双系统的通信方法及终端 | |
CN102217230A (zh) | 开通方法和系统 | |
CN102006186A (zh) | 一种内网设备非法外联监控系统及其方法 | |
CN101626571A (zh) | 一种用户识别卡的卡信息备份方法及其系统 | |
CN102271058A (zh) | 一种业务多路径保护的方法及装置 | |
CN106055424A (zh) | 一种信息数据库的异常处理方法和装置 | |
CN102609327A (zh) | 提高多核处理器的可靠性的方法及装置 | |
CN106572137A (zh) | 一种分布式服务资源管理方法和装置 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
CN102243655A (zh) | 一种数据库的连接管理方法及装置 | |
CN102243653A (zh) | 一种数据库连接的管理方法及装置 | |
CN103810419A (zh) | 一种应用防卸载方法和设备 | |
CN101895829A (zh) | 找回移动电话中flash数据的方法和系统及移动电话 | |
CN101022633B (zh) | 一种配置数据恢复方法、系统及装置 | |
CN109409098A (zh) | 防止剪切板数据泄露的方法和装置 | |
CN100464527C (zh) | 通信系统、通信设备以及能力控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111012 |