[發明專利]一種基于有限狀態機加固源代碼的方法及裝置有效
| 申請號: | 201810146276.9 | 申請日: | 2018-02-12 |
| 公開(公告)號: | CN108415709B | 公開(公告)日: | 2022-01-28 |
| 發明(設計)人: | 闞志剛;陳彪;王文洋;李世杰;尉爽生;盧佐華 | 申請(專利權)人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/48 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 許志勇 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 有限狀態機 加固 源代碼 方法 裝置 | ||
1.一種基于有限狀態機加固源代碼的方法,其特征在于,包括:
基于應用程序的原始源代碼在編譯或運行時的跳轉邏輯,將所述應用程序的原始源代碼按照跳轉邏輯的代碼位置,拆分成多個代碼塊,并為每個代碼塊設置不同的狀態,其中,每個代碼塊以跳轉邏輯結束;
基于代碼塊的狀態,以及代碼塊中的跳轉邏輯,確定代碼塊跳轉狀態機,所述代碼塊跳轉狀態機用于表征各個所述代碼塊對應的各個狀態之間的跳轉關系;
對代碼塊跳轉狀態機進行加密;
將代碼塊中的跳轉邏輯通過所述代碼塊跳轉狀態機實現,以生成應用程序加固后的源代碼;
其中,所述代碼塊跳轉狀態機為代碼塊跳轉函數,所述將代碼塊中的跳轉邏輯通過所述代碼塊跳轉狀態機實現,包括:
通過調用所述代碼塊跳轉函數,實現所述代碼塊中的跳轉邏輯,其中,所述代碼塊跳轉函數的參數包括所述代碼塊標識和跳轉條件,所述代碼塊跳轉函數用于在所述代碼塊執行到所述代碼塊跳轉函數時,基于跳轉條件跳轉到目標代碼塊;
其中,所述通過調用所述代碼塊跳轉函數,實現所述代碼塊中的跳轉邏輯,包括:
在每個所述代碼塊中至少一個位置處嵌入所述代碼塊跳轉函數;其中,所述代碼塊跳轉函數的參數至少包括用于標識當前代碼塊的狀態;
通過調用當前代碼塊中的所述代碼塊跳轉函數,實現從當前代碼塊跳至所述目標代碼塊。
2.如權利要求1所述的方法,所述通過調用所述代碼塊跳轉函數,實現所述代碼塊中的跳轉邏輯,包括:
在每個所述代碼塊的結束位置處嵌入所述代碼塊跳轉函數;其中,所述代碼塊跳轉函數的參數只有一個用于標識當前代碼塊的狀態;
通過調用當前代碼塊的結束位置處的所述代碼塊跳轉函數,實現從當前代碼塊跳至所述目標代碼塊。
3.如權利要求1所述的方法,對代碼塊跳轉狀態機進行加密,包括:
根據各個所述代碼塊對應的各個狀態之間的跳轉關系,確定各個狀態的跳轉順序;
根據所述跳轉順序為各個狀態配置序列號;
根據各個狀態之間的跳轉關系及各個所述狀態對應的序列號,建立跳轉表并進行加密。
4.如權利要求1所述的方法,對代碼塊跳轉狀態機進行加密,包括:
建立所述代碼塊跳轉函數的參數或所述代碼塊跳轉函數的參數中的跳轉條件與預定值的對應關系;
根據所述對應關系,將所述參數或所述參數中的跳轉條件替換為所述預定值。
5.如權利要求1所述的方法,對代碼塊跳轉狀態機進行加密,包括:
將代碼塊跳轉函數替換為預設函數,所述代碼塊跳轉函數與預設函數存在對應關系。
6.一種基于有限狀態機加固源代碼的裝置,其特征在于,包括:
拆分模塊,用于基于應用程序的原始源代碼在編譯或運行時的跳轉邏輯,將所述應用程序的原始源代碼按照跳轉邏輯的代碼位置,拆分成多個代碼塊,并為每個代碼塊設置不同的狀態,其中,每個代碼塊以跳轉邏輯結束;
確定模塊,用于基于代碼塊的狀態,以及代碼塊中的跳轉邏輯,確定代碼塊跳轉狀態機,所述代碼塊跳轉狀態機用于表征各個所述代碼塊對應的各個狀態之間的跳轉關系;
加密模塊,用于對代碼塊跳轉狀態機進行加密;
實現模塊,用于將代碼塊中的跳轉邏輯通過所述代碼塊跳轉狀態機實現,以生成應用程序加固后的源代碼;
其中,所述實現模塊包括:
實現單元,用于通過調用代碼塊跳轉函數,實現所述代碼塊中的跳轉邏輯,其中,所述代碼塊跳轉函數的參數包括所述代碼塊標識和跳轉條件,所述代碼塊跳轉函數用于在所述代碼塊執行到所述代碼塊跳轉函數時,基于跳轉條件跳轉到目標代碼塊;
其中,所述實現單元包括:
第二嵌入子單元,用于在每個所述代碼塊中至少一個位置處嵌入所述代碼塊跳轉函數;其中,所述代碼塊跳轉函數的參數至少包括用于標識當前代碼塊的狀態;
第二實現子單元,用于通過調用當前代碼塊中的所述代碼塊跳轉函數,實現從當前代碼塊跳至所述目標代碼塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京梆梆安全科技有限公司,未經北京梆梆安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810146276.9/1.html,轉載請聲明來源鉆瓜專利網。





