[發明專利]一種虛擬化環境中的windows內核基地址及編譯版本識別方法有效
| 申請號: | 201510921489.0 | 申請日: | 2015-12-14 |
| 公開(公告)號: | CN105573818B | 公開(公告)日: | 2018-09-11 |
| 發明(設計)人: | 黨艷平;陽曉宇;趙亮;何偉 | 申請(專利權)人: | 北京北信源軟件股份有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京連城創新知識產權代理有限公司 11254 | 代理人: | 劉伍堂 |
| 地址: | 100081 北京市海淀區中關村*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 環境 中的 windows 內核 基地 編譯 版本 識別 方法 | ||
1.一種虛擬化環境中的windows內核基地址及編譯版本識別方法,其特征在于:包括基于虛擬機反省技術的內核定位和基于PE結構分析的加載鏡像識別兩個部分;所述的基于虛擬機反省技術的內核定位包括:虛擬機反省技術為基礎,開始狀態下讀取CR4寄存器數據,獲取當前內存分頁結構,以這些數據為基礎讀取CR3寄存器數據,獲取當前內核空間對應物理地址范圍;從內核空間低地址開始,假設其為PE文件起始地址,分析出當前操作系統使用的內存架構和當前虛擬機內核空間地址對應的物理內存,所述的內存架構包括32位模式、32e模式或64位模式;之后從PE文件起始地址開始,以內存頁為單位讀取PE文件信息,分析屬于內核空間的物理內存頁,判斷DOS前兩個字節是否為魔數“MZ”,即判斷頁開始是否為可執行文件的魔數“MZ”;如果是則判定該頁起始地址為鏡像加載的起始地址,否則以頁為單位自增PE文件起始地址后進入重新以頁為單位讀取PE文件信息狀態;
所述的基于PE結構分析的加載鏡像識別是根據所述的基于虛擬機反省技術的內核定位步驟中定位的PE起始地址,獲取鏡像調試段IMAGE_DEBUG_DIRECTORY數據,讀取IMAGE_DEBUG_TYPE_CODEVIEW數據段信息并分析其PE頭及調試信息段;通過對內存中調試信息段的分析獲取在編譯時生成的調試文件名稱和PE文件唯一編譯標示。
2.根據權利要求1所述的一種虛擬化環境中的windows內核基地址及編譯版本識別方法,其特征在于:所述的內存分頁結構包括虛擬機的部分寄存器和內存數據。
3.根據權利要求1所述的一種虛擬化環境中的windows內核基地址及編譯版本識別方法,其特征在于:所述的內存中調試信息段的分析包括:判斷IMAGE_DEBUG_TYPE_CODEVIEW前四個字符是否為“RSDS”,若是,則讀取32位標示符、讀取AGE變量數據,進而合成內核編譯版本唯一標示,程序結束;否則返回所述的基于虛擬機反省技術的內核定位步驟中的以頁為單位自增PE文件起始地址后進入重新以頁為單位讀取PE文件信息狀態。
4.一種虛擬化環境中的windows內核基地址及編譯版本識別方法,其特征在于包括以下步驟:
1)利用虛擬機反省技術獲取CR4寄存器數據,并分析出該虛擬機運行在32位模式、32e模式或是64位模式下;
2)利用虛擬機反省技術獲取CR3寄存器數據,并根據步驟1)獲取信息分析出該虛擬機內核空間對應的物理內存范圍;
3)搜索內存中PE結構,Windows在加載鏡像時每個鏡像都會以內對齊的方式加載,同時每個PE文件開始處都有魔數“MZ”,因此通過讀取每個內存頁前兩個字節的信息并與“MZ”魔數對比就可以確定該頁是否為PE文件加載起始頁,如果為加載起始頁則進入下一步驟,如果不是則搜索下一內存頁;
4)以上一步獲取的鏡像加載首頁地址為基地址,分析加載PE頭部,獲取調試信息段,該段中保存著對應符號文件的名稱,該名稱以“.pdb”結尾,如果該調試段中文件名稱為“NTOSKRNL.PDB”、“NTKRNLMP.PDB”、“NTKRNLPA.PDB”或“NTKRPAMP.PDB”,則該鏡像為內核鏡像,該鏡像加載地址為內核基地址,如果不是則回到步驟3繼續搜索;
5)對第4步獲取的調試段信息進行分析,獲取保存在該段中的一個32位的唯一標示,根據該標示就可以建立該鏡像與符號表之間的一一對應關系。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京北信源軟件股份有限公司,未經北京北信源軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510921489.0/1.html,轉載請聲明來源鉆瓜專利網。





