[發明專利]嵌入式系統程序的加密解密方法及系統有效
| 申請號: | 201810097186.5 | 申請日: | 2018-01-31 |
| 公開(公告)號: | CN108334754B | 公開(公告)日: | 2020-12-08 |
| 發明(設計)人: | 張光先;繆慶瑞;苗文玲;蔡一旺;劉明松 | 申請(專利權)人: | 山東奧太電氣有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 李圣梅 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 嵌入式 系統 程序 加密 解密 方法 | ||
1.嵌入式系統程序的加密解密方法,其特征是,包括:
根據文件格式列出可執行程序二進制文件的執行視圖,從所述執行視圖中選擇其中的結構模塊中的開始加密的指定位置;
根據執行視圖提取信息用于計算上述選擇的結構模塊的加密位置在文件中的偏移地址,采用加密算法對指定位置之后的若干字節進行加密;
加載加密處理后的文件,在程序代碼段映射之前添加寫權限,映射之后計算解密位置進行解密;
所述執行視圖的各個結構模塊包括文件頭、程序頭部表、程序代碼段、節區頭部表,其中選擇程序代碼段main函數后的指定位置開始加密;
所述加密算法具體為:通過哈希算法對一串明文生成密鑰數據,從main函數后的指定位置,利用密鑰數據對一定數量的字節加密;
所述根據執行視圖提取信息用于計算上述選擇的結構模塊的加密位置在文件中的偏移地址,具體方式是:先獲得.text節區的偏移量,再根據.text節區的偏移量得到main函數在文件中的偏移量;
其中,對于ELF格式文件,具體是通過文件頭的e_phoff和e_entry兩個變量,獲取程序代碼段和.text節區在虛擬內存空間的起始地址,根據e_phoff確定程序頭部表在文件中的偏移量,遍歷每一個表項,找到第一個段類型p_type為PT_LOAD的表項,獲取表項參數p_vaddr,表項參數p_vaddr值即表示程序代碼段加載到虛擬內存空間的起始地址;
使用e_entry減去p_vaddr得到.text節區距離程序代碼段起始地址的長度,該長度加上程序代碼段在文件中的偏移量p_offset,即.text節區在文件中的偏移量;
所述根據.text節區的偏移量得到main函數在文件中的偏移量,包括:
根據.text節區初始部分例程代碼確定指定的平臺架構下例程的二進制字節長度以及存儲main函數內存入口地址的字節在例程中的偏移量,得到main函數在文件中的偏移量;
采用哈希算法對一串明文生成固定長度的密鑰數據,從main函數后的指定位置開始,利用密鑰數據和源數據進行相關操作對數據進行加密,生成加密的目標文件;
在解密時,獲得程序在虛擬內存中的入口地址,然后通過內存映射函數的返回值和解密位置偏移量,得到需要操作的虛擬內存地址,通過解密算法在內存中完成目標程序的解密。
2.如權利要求1所述的嵌入式系統程序的加密解密方法,其特征是,解密完成后,恢復程序代碼段內存的只讀權限。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東奧太電氣有限公司,未經山東奧太電氣有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810097186.5/1.html,轉載請聲明來源鉆瓜專利網。





