[發明專利]一種基于有限狀態機加固源代碼的方法及裝置有效
| 申請號: | 201810146276.9 | 申請日: | 2018-02-12 |
| 公開(公告)號: | CN108415709B | 公開(公告)日: | 2022-01-28 |
| 發明(設計)人: | 闞志剛;陳彪;王文洋;李世杰;尉爽生;盧佐華 | 申請(專利權)人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/48 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 許志勇 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 有限狀態機 加固 源代碼 方法 裝置 | ||
本申請公開了一種基于有限狀態機加固源代碼的方法及裝置,該方法包括:基于應用程序的原始源代碼在編譯或運行時的跳轉邏輯,將應用程序的原始源代碼按照跳轉邏輯的代碼位置,拆分成多個代碼塊,并為每個代碼塊設置不同的狀態;基于代碼塊的狀態以及代碼塊中的跳轉邏輯,確定代碼塊跳轉狀態機,代碼塊跳轉狀態機用于表征各個狀態之間的跳轉關系;將代碼塊中的跳轉邏輯通過代碼塊跳轉狀態機實現,以生成應用程序加固后的源代碼,使得各個代碼塊中的跳轉邏輯通過代碼塊跳轉狀態機實現,從而實現了對各個代碼塊中的跳轉邏輯進行隱藏,有效防止攻擊者通過反編匯、反編譯和動態調式等操作輕易的破解各個代碼塊中的跳轉邏輯,提高了應用程序的安全性。
技術領域
本申請涉及計算機技術領域,尤其涉及一種基于有限狀態機加固源代碼的方法及裝置。
背景技術
隨著移動互聯網、物聯網、車聯網等技術的高速發展,終端的數量越來越多,終端中安裝的應用程序也越來越多,各種應用程序也極大的方便了人們的生活。隨之而來的是,各種應用程序易被破解、被篡改,進而面臨著重要信息泄露的風險。
目前,應用程序未經過加固保護,攻擊者可以使用工具對未經過加固保護的應用程序的可執行文件進行反匯編、反編譯和動態調試等操作,可以很容易破解應用程序的實現邏輯,從而對應用程序進行算法竊取、非法篡改或者接口調用。因此,現有應用程序的安全性較低。
發明內容
本申請實施例提供一種基于有限狀態機加固源代碼的方法,用于解決現有技術中應用程序的安全性較低的問題。
本申請實施例提供一種基于有限狀態機加固源代碼的裝置,用于解決現有技術中應用程序的安全性較低的問題。
本申請實施例采用下述技術方案:
第一方面,本申請實施例提供一種基于有限狀態機加固源代碼的方法,包括:
基于應用程序的原始源代碼在編譯或運行時的跳轉邏輯,將所述應用程序的原始源代碼按照跳轉邏輯的代碼位置,拆分成多個代碼塊,并為每個代碼塊設置不同的狀態,其中,每個代碼塊以跳轉邏輯結束;
基于代碼塊的狀態,以及代碼塊中的跳轉邏輯,確定代碼塊跳轉狀態機,所述代碼塊跳轉狀態機用于表征各個所述代碼塊對應的各個狀態之間的跳轉關系;
將代碼塊中的跳轉邏輯通過所述代碼塊跳轉狀態機實現,以生成應用程序加固后的源代碼。
第二方面,本申請實施例提供一種基于有限狀態機加固源代碼的裝置,包括:
拆分模塊,用于基于應用程序的原始源代碼在編譯或運行時的跳轉邏輯,將所述應用程序的原始源代碼按照跳轉邏輯的代碼位置,拆分成多個代碼塊,并為每個代碼塊設置不同的狀態,其中,每個代碼塊以跳轉邏輯結束;
確定模塊,用于基于代碼塊的狀態,以及代碼塊中的跳轉邏輯,確定代碼塊跳轉狀態機,所述代碼塊跳轉狀態機用于表征各個所述代碼塊對應的各個狀態之間的跳轉關系;
實現模塊,用于將代碼塊中的跳轉邏輯通過所述代碼塊跳轉狀態機實現,以生成應用程序加固后的源代碼。
第三方面,本發明實施例還提供一種移動終端,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執行時實現上述所述的基于有限狀態機加固源代碼的方法的步驟。
第四方面,本發明實施例還提供一種可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現上述所述的基于有限狀態機加固源代碼的方法的步驟。
本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京梆梆安全科技有限公司,未經北京梆梆安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810146276.9/2.html,轉載請聲明來源鉆瓜專利網。





