[發明專利]對可執行文件源代碼保護的方法及裝置有效
| 申請號: | 201110060458.2 | 申請日: | 2011-03-14 |
| 公開(公告)號: | CN102136053A | 公開(公告)日: | 2011-07-27 |
| 發明(設計)人: | 王宇 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F21/24 | 分類號: | G06F21/24 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 可執行文件 源代碼 保護 方法 裝置 | ||
技術領域
本發明涉及文件加密技術領域,尤其涉及一種對可執行文件源代碼保護的方法及裝置。
背景技術
眾所周知,軟件防盜版、防修改一直是計算機安全領域的一個重要課題。在眾多的軟件保護技術中,軟件加殼技術是軟件保護的重要手段,但當前互聯網上很多黑客工具仍能夠破解軟件,因此擁有一個獨特的加殼程序很有必要。
現有的軟件加殼技術通常使用較多的是嵌入方式。該方式是向目標可執行文件ELF(Executable?and?Linkable?Format,可執行鏈接格式)中直接注入一段二進制代碼,再將程序的入口地址改為這段被插入的二進制代碼的地址,在其后才跳轉到程序原始的入口地址,執行真正的程序部分。注入的這一段二進制代碼是該方法的核心,一般含有解密或解壓縮程序,花指令代碼和一些反動態跟蹤的代碼。這種方法可以有效地防止靜態分析,但其反動態跟蹤的能力一般。
發明內容
本發明的主要目的在于提供一種對可執行文件源代碼保護的方法及裝置,旨在提高反動態跟蹤能力。
為了實現發明目的,本發明提供一種對可執行文件源代碼保護的方法,包括以下步驟:
獲取需要加殼的目標可執行鏈接格式ELF文件;
提取目標ELF文件中的核心部分;所述核心部分包括數據段、代碼段、對棧段及動態鏈接表;
創建新的ELF文件框架;
將目標ELF文件的核心部分和加殼部分整合;
將整合結果按ELF結構填入到新的ELF文件框架中;
完成重構新的ELF文件并設置其屬性為可執行。
優選地,所述將目標文件的核心部分和加殼部分整合包括:
分別計算出加殼部分和目標文件核心部分所占物理文件的大小和所占內存的大小;
將目標文件核心部分中段/節的內容續寫到加殼部分對應段/節的后面;
將程序頭表及節頭表的段/節屬性中與大小相關的參數設置成新計算出的大小。
優選地,所述創建新的ELF文件框架包括:
按照ELF文件標準,創建一個新的文件,其文件結構符合ELF文件規范,并完成ELF文件頭部信息的填寫,將相關段落暫時空出,以供后續填充使用。
優選地,所述將整合結果按ELF結構填入到新的ELF文件框架中包括:
重新計算段/節屬性參數;
修改新的ELF文件,將計算好的屬性參數填入新的ELF文件頭中,再將整合好的段/節按照ELF文件規范填入新的ELF文件對應位置。
優選地,所述將目標文件的核心部分和加殼部分整合還包括:
當將目標文件的核心部分和加殼部分整合失敗時,刪除生成的臨時文件和新的ELF文件,并釋放相應的空間。
本發明還提供一種對可執行文件源代碼保護的裝置,包括:
文件獲取單元,用于獲取需要加殼的目標可執行鏈接格式ELF文件;
核心部分提取單元,用于提取目標ELF文件中的核心部分;所述核心部分包括數據段、代碼段、對棧段及動態鏈接表;
文件框架創建單元,用于創建新的ELF文件框架;
加密單元,用于將目標ELF文件的核心部分和加殼部分整合;
整合結果讀寫單元,用于將整合結果按ELF結構填入到新的ELF文件框架中;
屬性設置單元,用于完成重構新的ELF文件并設置其屬性為可執行。
優選地,所述加密單元包括:
運算模塊,用于分別計算出加殼部分和目標文件核心部分所占物理文件的大小和所占內存的大??;
續寫模塊,用于將目標文件核心部分中段/節的內容續寫到加殼部分對應段/節的后面;
參數設置模塊,用于將程序頭表及節頭表的段/節屬性中與大小相關的參數設置成新計算出的大小。
優選地,所述文件框架創建單元具體用于:
按照ELF文件標準,創建一個新的文件,其文件結構符合ELF文件規范,并完成ELF文件頭部信息的填寫,將相關段落暫時空出,以供后續填充使用。
優選地,所述整合結果讀寫單元具體用于:
重新計算段/節屬性參數;
修改新的ELF文件,將計算好的屬性參數填入新的ELF文件頭中,再將整合好的段/節按照ELF文件規范填入新的ELF文件對應位置。
優選地,所述加密單元還包括:
刪除模塊,用于當將目標文件的核心部分和加殼部分整合失敗時,刪除生成的臨時文件和新的ELF文件,并釋放相應的空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110060458.2/2.html,轉載請聲明來源鉆瓜專利網。





