[發明專利]對可執行文件源代碼保護的方法及裝置有效
| 申請號: | 201110060458.2 | 申請日: | 2011-03-14 |
| 公開(公告)號: | CN102136053A | 公開(公告)日: | 2011-07-27 |
| 發明(設計)人: | 王宇 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F21/24 | 分類號: | G06F21/24 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 可執行文件 源代碼 保護 方法 裝置 | ||
1.一種對可執行文件源代碼保護的方法,其特征在于,包括以下步驟:
獲取需要加殼的目標可執行鏈接格式ELF文件;
提取目標ELF文件中的核心部分;所述核心部分包括數據段、代碼段、對棧段及動態鏈接表;
創建新的ELF文件框架;
將目標ELF文件的核心部分和加殼部分整合;
將整合結果按ELF結構填入到新的ELF文件框架中;
完成重構新的ELF文件并設置其屬性為可執行。
2.如權利要求1所述的對可執行文件源代碼保護的方法,其特征在于,所述將目標文件的核心部分和加殼部分整合包括:
分別計算出加殼部分和目標文件核心部分所占物理文件的大小和所占內存的大小;
將目標文件核心部分中段/節的內容續寫到加殼部分對應段/節的后面;
將程序頭表及節頭表的段/節屬性中與大小相關的參數設置成新計算出的大小。
3.如權利要求2所述的對可執行文件源代碼保護的方法,其特征在于,所述創建新的ELF文件框架包括:
按照ELF文件標準,創建一個新的文件,其文件結構符合ELF文件規范,并完成ELF文件頭部信息的填寫,將相關段落暫時空出,以供后續填充使用。
4.如權利要求1至3中任一項所述的對可執行文件源代碼保護的方法,其特征在于,所述將整合結果按ELF結構填入到新的ELF文件框架中包括:
重新計算段/節屬性參數;
修改新的ELF文件,將計算好的屬性參數填入新的ELF文件頭中,再將整合好的段/節按照ELF文件規范填入新的ELF文件對應位置。
5.如權利要求4所述的對可執行文件源代碼保護的方法,其特征在于,所述將目標文件的核心部分和加殼部分整合還包括:
當將目標文件的核心部分和加殼部分整合失敗時,刪除生成的臨時文件和新的ELF文件,并釋放相應的空間。
6.一種對可執行文件源代碼保護的裝置,其特征在于,包括:
文件獲取單元,用于獲取需要加殼的目標可執行鏈接格式ELF文件;
核心部分提取單元,用于提取目標ELF文件中的核心部分;所述核心部分至少包括數據段、代碼段、對棧段及動態鏈接表;
文件框架創建單元,用于創建新的ELF文件框架;
加密單元,用于將目標ELF文件的核心部分和加殼部分整合;
整合結果讀寫單元,用于將整合結果按ELF結構填入到新的ELF文件框架中;
屬性設置單元,用于完成重構新的ELF文件并設置其屬性為可執行。
7.如權利要求6所述的裝置,其特征在于,所述加密單元包括:
運算模塊,用于分別計算出加殼部分和目標文件核心部分所占物理文件的大小和所占內存的大小;
續寫模塊,用于將目標文件核心部分中段/節的內容續寫到加殼部分對應段/節的后面;
參數設置模塊,用于將程序頭表及節頭表的段/節屬性中與大小相關的參數設置成新計算出的大小。
8.如權利要求7所述的裝置,其特征在于,所述文件框架創建單元具體用于:
按照ELF文件標準,創建一個新的文件,其文件結構符合ELF文件規范,并完成ELF文件頭部信息的填寫,將相關段落暫時空出,以供后續填充使用。
9.如權利要求6至8中任一項所述的裝置,其特征在于,所述整合結果讀寫單元具體用于:
重新計算段/節屬性參數;
修改新的ELF文件,將計算好的屬性參數填入新的ELF文件頭中,再將整合好的段/節按照ELF文件規范填入新的ELF文件對應位置。
10.如權利要求10所述的裝置,其特征在于,所述加密單元還包括:
刪除模塊,用于當將目標文件的核心部分和加殼部分整合失敗時,刪除生成的臨時文件和新的ELF文件,并釋放相應的空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110060458.2/1.html,轉載請聲明來源鉆瓜專利網。





