[發明專利]一種目標程序處理方法、處理裝置及云端服務設備有效
| 申請號: | 201210265098.4 | 申請日: | 2012-07-27 |
| 公開(公告)號: | CN102831343A | 公開(公告)日: | 2012-12-19 |
| 發明(設計)人: | 程文坤 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 許志勇 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 目標 程序 處理 方法 裝置 云端 服務 設備 | ||
技術領域
本申請屬于計算機領域,具體地說,涉及一種目標程序處理方法、處理裝置及云端服務設備。
背景技術
PE文件是Windows操作系統上的程序文件,被稱為可移植可執行(PE,Portable?Execute)文件。常見的PE文件包括:EXE、DLL、OCX、SYS、COM等文件。
對PE文件加殼需要利用特殊的算法對PE文件里的資源進行壓縮、加密等處理,加殼之后的PE文件可以獨立運行。運行時附加在PE文件原始程序上的殼代碼通過Windows加載器載入內存后,先于PE文件原始程序執行從而得到PE文件的控制權,在殼代碼執行過程中對PE文件原始程序進行解密、解壓,這一還原過程完全隱蔽,都在內存中完成,PE文件原始程序還原完成后再把控制權交還給PE文件原始程序,執行原始程序的代碼部分。
現如今,大多數惡意程序就是基于對PE文件加殼的原理制作得到的,從而避免殺毒軟件對惡意程序的掃描。為了掃描加殼的惡意程序,殺毒軟件需要對惡意程序脫殼再進行掃描。脫殼分為動態脫殼后掃描和靜態脫殼后掃描。動態脫殼通過調試器創建加殼文件的調試進程,通過動態調試的方式控制加殼文件的殼代碼執行流程從而脫殼,然后對脫殼后的文件進行掃描。靜態脫殼通過分析殼代碼的加密算法和加密流程,通過反向方式構造解密算法和解密流程,直接對加殼文件進行解密并保存,然后對脫殼后的文件進行掃描。
由于殼代碼的種類繁多,采用的加殼技術非常多樣,所以只有極少數的殼能夠被靜態脫掉。而在進行動態脫殼時,很多PE文件都需要導入第三方函數庫才能加載到內存來執行,所謂第三方函數庫即指PE文件加載到內存時需要導入的非系統函數庫,但是在殺毒軟件的隔離環境中第三方函數庫是不存在的,因此Windows操作系統無法加載PE文件到內存,則無法進行脫殼。
發明內容
有鑒于此,本申請所要解決的技術問題是提供了一種目標程序處理方法、處理裝置及云端服務設備,通過自行構造第三方函數庫來保證目標文件的加載,從而可以在缺乏第三方函數庫的殺毒環境中進行脫殼并掃描,本申請中的目標程序特指PE文件,當然如果類似于PE文件在加載時需要加載第三方函數庫的程序、文件也適用于本申請。
為了解決上述技術問題,本申請公開了一種目標程序處理方法,包括:獲取第三方函數庫的名稱及所述第三方函數庫所包含的函數的名稱,所述第三方函數庫為加載目標程序至內存時所要導入的第三方函數庫;構造空白函數庫,根據所述第三方函數庫的名稱及其包含的函數的名稱,將所述空白函數庫偽造成所述第三方函數庫;導入偽造的第三方函數庫并讀取對應的函數名稱,從而加載所述目標程序到內存,對所述目標程序進行脫殼并掃描所述目標程序,根據掃描結果對所述目標程序進行處理。
進一步地,獲取第三方函數庫的名稱及所述第三方函數庫所包含的函數的名稱,包括:通過比對所述目標程序的導入表及操作系統的系統函數庫列表,解析出加載所述目標程序至內存時所要導入的第三方函數庫的名稱,還解析出所述第三方函數庫所包含的函數的名稱;其中,所述導入表中記錄加載所述目標程序至內存時所要導入的函數庫,還記錄有每所述函數庫包含的函數,所述函數庫包括系統函數庫和第三方函數庫;所述系統函數庫列表中記錄所述操作系統運行時所要導入的系統函數庫。
進一步地,根據所述第三方函數庫的名稱及其包含的函數的名稱,將所述空白函數庫偽造成對應的所述第三方函數庫,包括:將所述空白函數庫修改為對應的第三方函數庫的名稱,將所述第三方函數庫包含的函數的名稱登記到所述空白函數庫。
進一步地,將所述第三方函數庫包含的函數的名稱登記到所述空白函數庫,包括:為所述空白函數庫創建導出表,所述導出表中登記有所述空白函數庫偽造的所述第三方函數庫的名稱,還登記有所述第三方函數庫所包含的函數的名稱。
進一步地,所述目標程序為支持脫殼的有殼程序;所述空白函數庫偽造的第三方函數庫及其導出表,與所述目標程序位于同一目錄內。
進一步地,判斷所述目標程序為支持脫殼的有殼文件的操作,包括:構建特征庫,所述特征庫中保存有每種殼的一個或多個特征,還保存有每種殼是否適用脫殼;獲取所述目標程序的入口指令,根據所述入口指令的特征碼分析得到所述目標程序的殼的一個或多個特征,根據所述一個或多個特征在所述特征庫中進行匹配,在所述特征庫中特征匹配數量最高且大于一門限值的殼,判定為所述目標程序的殼;根據所述目標程序的殼,結合所述特征庫獲知能否對所述目標程序進行脫殼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210265098.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:無線漫游數據轉發方法及無線訪問接入點
- 下一篇:相變復合材料及其制備方法





