[發明專利]基于變量和代碼執行順序的源代碼混淆方法及裝置有效
| 申請號: | 201810146581.8 | 申請日: | 2018-02-12 |
| 公開(公告)號: | CN108537012B | 公開(公告)日: | 2021-11-16 |
| 發明(設計)人: | 闞志剛;陳彪;王文洋;李世杰;尉爽生;盧佐華 | 申請(專利權)人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 許志勇 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 變量 代碼 執行 順序 源代碼 混淆 方法 裝置 | ||
本申請實施例提供了一種基于變量和代碼執行順序的源代碼混淆方法及裝置,包括:對目標應用程序的源代碼中的需要保護的目標變量進行第一混淆處理;基于源代碼在編譯或運行時的跳轉邏輯,將源代碼拆分成多個代碼塊;基于跳轉邏輯和各個代碼塊對應的代碼塊標記,對多個代碼塊中的目標代碼塊的執行順序進行第二混淆處理;并建立表征多個代碼塊執行順序的跳轉表,跳轉表內存儲有代碼塊標記和第二混淆處理后的代碼塊地址的映射關系;其中,代碼塊標記用于訪問對應的代碼塊地址。本申請中,可以達到模糊、混淆源代碼中的目標變量、隱藏源代碼的執行順序的目的,進而可以提高源代碼的防逆向分析能力,提高了應用程序中信息的安全性。
技術領域
本申請涉及軟件安全技術領域,尤其涉及一種基于變量和代碼執行順序的源代碼混淆方法及裝置。
背景技術
隨著科學技術的不斷發展,終端設備在人們的生活、工作中得到了廣泛的應用。而隨著終端設備的廣泛應用,安裝在終端設備上的應用程序也越來越多。當用戶在使用某些應用程序時,可能會在應用程序中存儲一些重要的信息,有些人為了非法獲取這些信息,可能會對應用程序進行攻擊。
目前,在非法獲取上述信息時,通常使用反匯編、反編譯等靜態分析工具,對應用程序的源代碼進行逆向分析破解,獲得應用程序的執行邏輯,從而非法竊取、非法篡改應用程序運行過程中產生的重要信息,從而導致應用程序存在重大安全隱患。
因此,有必要提出一種源代碼的混淆方法,以提高源代碼的防逆向分析能力,進而提高應用程序中信息的安全性。
發明內容
本申請實施例的目的是提供一種基于變量和代碼執行順序的源代碼混淆方法及裝置,對源代碼中的目標變量和源代碼中代碼塊的執行順序進行混淆處理,從而達到模糊、混淆源代碼中的目標變量以及隱藏源代碼的執行順序的目的,進而可以提高源代碼的防逆向分析能力,從而提高應用程序中信息的安全性。
為解決上述技術問題,本申請實施例是這樣實現的:
本申請實施例提供了一種基于變量和代碼執行順序的源代碼混淆方法,包括:
對目標應用程序的源代碼中的目標變量進行第一混淆處理,其中,所述目標變量為所述源代碼中需要保護的變量;
基于所述源代碼在編譯或運行時的跳轉邏輯,將所述源代碼拆分成多個代碼塊;
基于所述跳轉邏輯和各個代碼塊對應的代碼塊標記,對所述多個代碼塊中的目標代碼塊的執行順序進行第二混淆處理;并
建立表征多個代碼塊執行順序的跳轉表,所述跳轉表內存儲有所述代碼塊標記和第二混淆處理后的代碼塊地址的映射關系;其中,所述代碼塊標記用于訪問對應的代碼塊地址。
本申請實施例還提供了一種基于變量和代碼執行順序的源代碼混淆裝置,包括:
第一處理模塊,用于對目標應用程序的源代碼中的目標變量進行第一混淆處理,其中,所述目標變量為所述源代碼中需要保護的變量;
拆分模塊,用于基于所述源代碼在編譯或運行時的跳轉邏輯,將所述源代碼拆分成多個代碼塊;
第二處理模塊,用于基于所述跳轉邏輯和各個代碼塊對應的代碼塊標記,對所述多個代碼塊中的目標代碼塊的執行順序進行第二混淆處理;并
建立模塊,用于建立表征多個代碼塊執行順序的跳轉表,所述跳轉表內存儲有所述代碼塊標記和第二混淆處理后的代碼塊地址的映射關系;其中,所述代碼塊標記用于訪問對應的代碼塊地址。
本申請實施例還提供了一種基于變量和代碼執行順序的源代碼混淆設備,所述設備包括:
處理器;以及
被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京梆梆安全科技有限公司,未經北京梆梆安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810146581.8/2.html,轉載請聲明來源鉆瓜專利網。





