[發明專利]代碼異常檢測方法、裝置、計算機設備及存儲介質有效
| 申請號: | 202010628920.3 | 申請日: | 2020-06-30 |
| 公開(公告)號: | CN111752600B | 公開(公告)日: | 2023-02-03 |
| 發明(設計)人: | 楊哲 | 申請(專利權)人: | 深圳壹賬通智能科技有限公司 |
| 主分類號: | G06F8/72 | 分類號: | G06F8/72;G06F8/53;G06F8/41;G06F9/455 |
| 代理公司: | 北京英特普羅知識產權代理有限公司 11015 | 代理人: | 程超 |
| 地址: | 518052 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 異常 檢測 方法 裝置 計算機 設備 存儲 介質 | ||
1.一種代碼異常檢測方法,其特征在于,應用于虛擬機中,包括:
待執行文件執行之前,預先加載待執行文件,所述待執行文件包括至少一個第一代碼塊;
分別對所述待執行文件中各個所述第一代碼塊添加異常編譯代碼,獲取與所述第一代碼塊對應的第二代碼塊,包括,所述異常編譯代碼包括反編譯邏輯代碼,檢測所述待執行文件中的各個所述第一代碼塊是否符合預設條件,當所述第一代碼塊符合所述預設條件時,在所述第一代碼塊中添加反編譯邏輯代碼,生成與所述第一代碼塊對應的所述第二代碼塊;
根據獲取的所述第二代碼塊生成與所述待執行文件對應的目標執行文件;
執行所述目標執行文件,當所述目標執行文件中的所述第二代碼塊異常時,通過所述異常編譯代碼將相應的所述第二代碼塊轉換為源碼,包括:當采用多線程執行所述目標執行文件時,每個線程對應一個所述第二代碼塊,執行所述線程以加載相應的所述第二代碼塊,若第二代碼塊正常,則正常執行;若所述第二代碼塊異常,生成報錯消息,并通過所述第二代碼塊中的所述異常編譯代碼,將所述第二代碼塊轉換為源碼,顯示所述源碼;當采用單線程執行所述目標執行文件時,根據所述目標執行文件的邏輯順序依次執行所述目標執行文件中的所述第二代碼塊,若所述第二代碼塊異常,生成報錯消息,并通過所述第二代碼塊中的所述異常編譯代碼,將所述第二代碼塊轉換為源碼,顯示所述源碼。
2.根據權利要求1所述的代碼異常檢測方法,其特征在于,所述異常編譯代碼包括異常捕獲代碼和反編譯邏輯代碼。
3.根據權利要求2所述的代碼異常檢測方法,其特征在于,所述分別對所述待執行文件中各個所述第一代碼塊添加異常編譯代碼,獲取與所述第一代碼塊對應的第二代碼塊,包括:
當所述第一代碼塊不符合所述預設條件時,在所述第一代碼塊中添加異常捕獲代碼和反編譯邏輯代碼,生成與所述第一代碼塊對應的所述第二代碼塊。
4.根據權利要求3所述的代碼異常檢測方法,其特征在于,所述預設條件為所述第一代碼塊包括所述異常捕獲代碼,異常捕獲代碼為exception字節碼;
所述當所述第一代碼塊符合所述預設條件時,在所述第一代碼塊中添加反編譯邏輯代碼,生成與所述第一代碼塊對應的所述第二代碼塊包括:
當所述第一代碼塊包括exception字節碼時,在所述第一代碼塊的結尾處添加所述反編譯邏輯代碼,以生成所述第二代碼塊。
5.根據權利要求1所述的代碼異常檢測方法,其特征在于,所述根據獲取的所述第二代碼塊生成與所述待執行文件對應的目標執行文件,包括:
根據所述待執行文件中各個所述第一代碼塊的邏輯順序,將與所述第一代碼塊對應的所述第二代碼塊按照所述邏輯順序進行組合,生成與所述待執行文件對應的所述目標執行文件。
6.一種代碼異常檢測裝置,其特征在于,應用于虛擬機中,包括:
加載單元,用于待執行文件執行之前,預先加載待執行文件,所述待執行文件包括至少一個第一代碼塊;
修改單元,用于分別對所述待執行文件中各個所述第一代碼塊添加異常編譯代碼,獲取與所述第一代碼塊對應的第二代碼塊,包括,所述異常編譯代碼包括反編譯邏輯代碼,檢測所述待執行文件中的各個所述第一代碼塊是否符合預設條件,當所述第一代碼塊符合所述預設條件時,在所述第一代碼塊中添加反編譯邏輯代碼,生成與所述第一代碼塊對應的所述第二代碼塊;
生成單元,用于根據獲取的所述第二代碼塊生成與所述待執行文件對應的目標執行文件;
執行單元,用于執行所述目標執行文件,當所述目標執行文件中的所述第二代碼塊異常時,通過所述異常編譯代碼將相應的所述第二代碼塊轉換為源碼,包括:當采用多線程執行所述目標執行文件時,每個線程對應一個所述第二代碼塊,執行所述線程以加載相應的所述第二代碼塊,若第二代碼塊正常,則正常執行;若所述第二代碼塊異常,生成報錯消息,并通過所述第二代碼塊中的所述異常編譯代碼,將所述第二代碼塊轉換為源碼,顯示所述源碼;當采用單線程執行所述目標執行文件時,根據所述目標執行文件的邏輯順序依次執行所述目標執行文件中的所述第二代碼塊,若所述第二代碼塊異常,生成報錯消息,并通過所述第二代碼塊中的所述異常編譯代碼,將所述第二代碼塊轉換為源碼,顯示所述源碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳壹賬通智能科技有限公司,未經深圳壹賬通智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010628920.3/1.html,轉載請聲明來源鉆瓜專利網。





