[發明專利]一種操作注冊表的方法及裝置有效
| 申請號: | 201310556281.4 | 申請日: | 2013-11-11 |
| 公開(公告)號: | CN103593186B | 公開(公告)日: | 2017-10-27 |
| 發明(設計)人: | 張杰;湯倩 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F21/50 |
| 代理公司: | 北京元中知識產權代理有限責任公司11223 | 代理人: | 王明霞 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 操作 注冊表 方法 裝置 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種操作注冊表的方法及裝置。
背景技術
注冊表在Windows系統的配置和控制方面扮演了一個非常關鍵的角色,其是系統全局設置和用戶設置形象的存儲倉庫,也是Windows執行體和內核所維護的各種內存中數據結構的一個窗口,所有的軟件信息和硬件信息都是通過注冊表來管理的。如果注冊表由于某種原因受到破壞,輕者使Windows的啟動過程出現異常,重者可能會導致整個Windows系統的完全癱瘓。為了保護注冊表,Windows提供兩種常規的操作方法:一種是注冊表編輯器Regedit.exe,即通過用戶界面來操作;另一種是提供大量的API供用戶訪問和修改注冊表中的數據。用戶通過注冊表編輯器看到的注冊表結構是經過注冊表編輯器讀取之后呈現給用戶的,其磁盤形式并不是一個簡單的大文件,而是一組HIVE文件形式。
從Intel80386開始,出于安全性和穩定性的考慮,該系列的CPU可以運行于ring0~ring3從高到低四個不同的權限級,對數據也提供相應的四個保護級別。其中ring0優先級最高,用于操作內核;ring1和ring2都用于操作系統服務;ring3優先級最低,用于應用程序。運行于較低級別的代碼不能隨意調用高級別的代碼和訪問較高級別的數據,而且也只有運行在ring0層的代碼可以直接對物理硬件進行訪問。
圖1示出了Windows操作系統利用CPU運行級別的圖形化示意圖。如圖1所示,Windows只利用了CPU的兩個運行級別。一個被稱為內核模式,即對應80×86的ring0層,是操作系統的核心部分,設備驅動程序就是運行在該模式下;另一個被稱為用戶模式,即對應80×86的ring3層,操作系統的用戶接口部分(Win API)以及所有的用戶應用程序都運行在該級別。
Windows對運行在內核模式組件的空間并不提供讀/寫保護,但是在裝有殺毒軟件等安全軟件的機器上,如果調用內核模式下的注冊表API對注冊表進行危險操作,殺毒軟件等防護軟件就會對相應的注冊表API調用進行攔截,更有可能直接攔截調用此類API的應用程序,以防止其破壞系統的安全。
注冊表是系統的關鍵部位,病毒和惡意軟件常常會在注冊表的啟動項里面寫入自己的啟動鍵值來達到自啟動的目的,有些病毒還會修改注冊表內容來映像劫持殺毒軟件。通常殺毒軟件會對注冊表進行監控,或者對注冊表保護項進行保護,防止惡意程序或者病毒篡改注冊表,從而破壞系統。調用系統API的程序,在運行的過程中對注冊表的操作也處于殺毒軟件監控之下。第三方軟件的運行方式是通過主動調用系統API函數進行注冊表操作,但這種方式在大多數情況下都會觸碰到安全軟件的防護策略,導致第三方軟件被直接攔截執行,這樣就無法實現自動化程序去模擬一些真實的測試環境,進行有效測試工作。
現有技術中,第三方軟件操作注冊表通常是采用Windows API中提供的函數來實現,比如RegCreateKey,RegCreateKeyEx,RegSetValueEx,RegDeleteValue等,通過這些函數可以對注冊表進行讀取,寫入,刪除,以及打開操作。
這種通過Windows API訪問和修改注冊表中的數據,需要層層調用轉移,由內核的注冊表API再調用文件系統的驅動等,去訪問磁盤上的HIVE文件,并最終返回請求的數據結果。如果程序運行在有保護機制的環境(比如安裝殺毒軟件)中,很可能會被攔截,不能正確執行。并且這些API并不是所有平臺都適用,如NT和Windows98都是32位操作系統,但是有些API函數中并不支持Windows98。
現有技術中第三方軟件操作注冊表使用的常規方法存在以下的主要缺點:
1)可移植性低。
2)執行有效性低。
3)運行環境受限。
4)在存在防護軟件的環境下有各種被誤報的風險。
而現有技術中也有通過技術手段hook API或者對殺毒軟件進行攻防操作的行為,但是其過程較為繁瑣同時不具備通用性以及合法性。
因此提供一種合理并且通用的方式,在與各種殺毒軟件或者防護軟件并存的情況下,能夠通過調用內核模式下的注冊表API對注冊表進行操作,同時能防止殺毒軟件等防護軟件的攔截,是非常必要的。
發明內容
為解決現有技術中存在的上述問題,本發明提供了一種操作注冊表的方法及其裝置。
根據本發明的一個方面,其提供了一種操作注冊表的方法,包括:
啟動注冊表編輯器;
獲取所述注冊表編輯器的窗口句柄;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310556281.4/2.html,轉載請聲明來源鉆瓜專利網。





