[發明專利]一種應用程序處理方法、裝置、電子設備及可讀存儲介質有效
| 申請號: | 201811084815.7 | 申請日: | 2018-09-17 |
| 公開(公告)號: | CN109344576B | 公開(公告)日: | 2023-04-25 |
| 發明(設計)人: | 潘劍鋒;秦光遠;廖川劍 | 申請(專利權)人: | 三六零科技集團有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 王玉雙 |
| 地址: | 300450 天津市濱海新區*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用程序 處理 方法 裝置 電子設備 可讀 存儲 介質 | ||
1.一種應用程序處理方法,其特征在于,所述應用程序包括已編譯的文件,包括:
對所述已編譯的文件中目標程序段對應的控制流圖進行同構處理,得到目標圖,其中,所述控制流圖包括多個指令塊,所述目標圖為有向圖,所述目標圖包括多個節點,所述多個節點與所述多個指令塊一一對應;
將所述目標圖保存到所述已編譯的文件中的指定位置;
所述將所述目標圖保存到所述已編譯的文件中的指定位置,包括:
對所述目標圖進行預設處理,以在保持所述目標圖的節點中指令語義不變的情況下,得到不同于所述目標圖的新的目標圖;
將經過所述預設處理的目標圖保存到所述已編譯的文件中的指定位置。
2.根據權利要求1所述的方法,其特征在于,所述對所述目標圖進行預設處理,包括:
確定第一目標節點,所述第一目標節點為所述目標圖中的一個或多個節點;
從所述第一目標節點中抽取一條或多條指令存放至預先配置的引擎中,被抽取指令所在位置處使用標識信息進行標記,所述標識信息用于索引存放在預先配置的引擎中的所抽取指令。
3.根據權利要求1所述的方法,其特征在于,所述對所述目標圖進行預設處理,包括:
確定第二目標節點,所述第二目標節點為所述目標圖中的一個或多個節點;
對所述第二目標節點中的指令進行等價變換,且進行等價變換后的指令語義保持不變。
4.根據權利要求1所述的方法,其特征在于,所述對所述目標圖進行預設處理包括:
確定第三目標節點,所述第三目標節點為所述目標圖中的一個或多個節點;
向所述第三目標節點中添加預設的冗余指令。
5.根據權利要求1所述的方法,其特征在于,所述對所述目標圖進行預設處理,包括:
從所述目標圖中確定一組或多組鄰接節點;
在所確定的每組所述鄰接節點之間插入預設的冗余節點。
6.根據權利要求1-5任一項所述的方法,其特征在于,所述對所述目標圖進行預設處理,包括:
對所述目標圖中的節點進行亂序處理。
7.根據權利要求1所述的方法,其特征在于,所述已編譯的文件包括SO文件。
8.根據權利要求1所述的方法,其特征在于,所述已編譯的文件中預先對應于特定程序段設置有標記信息,所述對所述已編譯的文件中目標程序段對應的控制流圖進行同構處理,得到目標圖之前,還包括:
查找所述已編譯的文件中的標記信息;
將所查找到的標記信息對應的程序段作為所述目標程序段。
9.一種應用程序處理裝置,其特征在于,所述應用程序包括已編譯的文件,所述裝置包括:
同構處理模塊,用于對所述已編譯的文件中目標程序段對應的控制流圖進行同構處理,得到目標圖,其中,所述控制流圖包括多個指令塊,所述目標圖為有向圖,所述目標圖包括多個節點,所述多個節點與所述多個指令塊一一對應;
存儲處理模塊,用于將所述目標圖保存到所述已編譯的文件中的指定位置;
所述存儲處理模塊包括:
預設處理單元,用于對所述目標圖進行預設處理,以在保持所述目標圖的節點中指令語義不變的情況下,得到不同于所述目標圖的新的目標圖;
存儲單元,用于將經過所述預設處理的目標圖保存到所述已編譯的文件中的指定位置。
10.根據權利要求9所述的裝置,其特征在于,所述預設處理單元,具體用于:
確定第一目標節點,所述第一目標節點為所述目標圖中的一個或多個節點;
從所述第一目標節點中抽取一條或多條指令存放至預先配置的引擎中,被抽取指令所在位置處使用標識信息進行標記,所述標識信息用于索引存放在預先配置的引擎中的所抽取指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于三六零科技集團有限公司,未經三六零科技集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811084815.7/1.html,轉載請聲明來源鉆瓜專利網。





