[發明專利]在宿主文件中捆綁文件的方法及裝置有效
| 申請號: | 201210422385.1 | 申請日: | 2012-10-29 |
| 公開(公告)號: | CN102930005A | 公開(公告)日: | 2013-02-13 |
| 發明(設計)人: | 馬茂剛 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市浩天知識產權代理事務所 11276 | 代理人: | 靳春鷹;劉云貴 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 宿主 文件 捆綁 方法 裝置 | ||
技術領域
本發明涉及通信領域,具體涉及一種在宿主文件中捆綁文件的方法及裝置。
背景技術
文件捆綁又可以稱為文件隱藏,具體做法是在一個文件中捆綁其他的文件,以達到減少文件個數或隱藏部分文件的效果。其中,捆綁其他文件的文件稱為宿主文件,被捆綁到宿主文件中的文件稱為捆綁文件。
由于PE文件結構本身存在著很多冗余空間,因此,PE文件經常作為宿主文件,在其中捆綁其他文件。PE文件存在的通常比較大的空閑空間為:(1)相鄰節表之間由于數據對齊所產生的冗余空間;(2)PE文件的最末的節表之后由于數據對齊產生的冗余空間。(3)PE結構中的DOS?Stub是為DOS程序預留的,其只有當該文件在在DOS下執行時,才會發揮真正的作用。因此,在Windows平臺下,DOS?Stub完全沒有作用,可以利用這部分的內容用來隱藏文件內容。(4)PE文件結構中的很多字段作為保留存在或者對可執行程序的執行沒有影響,這部分的空間也可以用來隱藏文件內容,例如PE文件中的以下結構:MajorLinkerVersion、MinorLinkerVersion、ajorOperatingSystemVersion、MinorOperatingSystemVersion、CheckSum、SizeOfCode、SizeOfInitializedData以及SizeOfUninitializedData等。目前,在PE文件中捆綁其他文件時,首先需要尋找PE文件中的冗余空間,并計算出每個冗余空間的位置和大小,圖1示出了對PE文件的冗余空間進行計算后得到的結果。從圖1中可以看到,尋找到的PE文件中的冗余空間共有8處,其中,DOS?Stub部分的空閑空間為264B,節表和節之間的空閑空間為3280B,最后一個節后面的空閑空間為3328B,另外,reloc(重定位表信息)節、rsrc(資源)節、idata(導入文件名表)節、rdata(只讀的初始化數據)節以及text(.exe或.dll文件的可執行代碼)節中也都存在著冗余空間,全部冗余空間的大小總共為17488B。
然后,根據冗余空間的總數量以及每個冗余空間的大小,將捆綁文件分割成若干個指定大小的子文件,其中,子文件的個數可以小于或等于冗余空間的總數量,子文件的大小與冗余空間的大小基本一致。
最后,將分割后的各個子文件按一定的算法分配到PE文件的冗余空間中。
但是,采用上述方式時,由于PE文件結構中的冗余空間容量較小且不連續,因此,比較適合對零散的小文件進行捆綁,通常無法對體積較大的文件進行捆綁。而且,由于PE文件結構中的冗余空間基本上都集中在PE文件的頭部,因此,導致捆綁文件全部集中在PE文件的頭部,信息量過于集中,因此,很容易被格式檢查工具檢測為異常進而報錯,從而出現誤報的情況。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的在宿主文件中捆綁文件的方法和相應的在宿主文件中捆綁文件的裝置。
依據本發明的一個方面,提供了一種在宿主文件中捆綁文件的方法,宿主文件包括多個以一定順序排列的用于存儲數據的節,該方法包括:將待捆綁的文件轉換為與宿主文件的格式相對應的捆綁文件,并生成捆綁文件的配置信息;將捆綁文件以及配置信息存儲在宿主文件的最后一個節中;根據捆綁文件以及配置信息,修改宿主文件的最后一個節的結構信息以及宿主文件的結構信息。
可選地,將待捆綁的文件轉換為與宿主文件的格式相對應的捆綁文件的步驟之前進一步包括:對待捆綁的文件內容進行壓縮和/或加密處理。
可選地,配置信息包括:用于指示捆綁文件是否可執行的參數信息、用于在宿主文件中定位捆綁文件的位置信息,以及用于指示捆綁文件執行時的跳轉地址的跳轉指令。
可選地,宿主文件還包括多個以一定順序排列的用于存儲節的結構信息的節表,則修改宿主文件的最后一個節的結構信息具體包括:修改宿主文件的最后一個節表中的信息,最后一個節表用于存儲最后一個節的結構信息,其中,最后一個節表中的信息包括:節數據的大小,以及節數據的屬性。
可選地,宿主文件的結構信息包括:宿主文件的文件大小以及宿主文件的入口函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210422385.1/2.html,轉載請聲明來源鉆瓜專利網。





