[發明專利]一種指令處理方法、終端及存儲介質在審
| 申請號: | 202010776470.2 | 申請日: | 2020-08-05 |
| 公開(公告)號: | CN112052047A | 公開(公告)日: | 2020-12-08 |
| 發明(設計)人: | 鮑勝奎;冉山川 | 申請(專利權)人: | 北京智游網安科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F8/41 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 陳專 |
| 地址: | 100000 北京市海淀區東北旺西路8*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 指令 處理 方法 終端 存儲 介質 | ||
本發明公開了一種指令處理方法、終端及存儲介質,所述方法包括:在APK運行前,獲取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字節碼;將所述DEX字節碼進行翻譯處理,得到對應的本地機器指令,在所述APK運行時直接執行所述本地機器指令。本發明在APK運行之前對DEX文件中的DEX字節碼進行翻譯,得到對應的本地機器指令,以便在APK運行時直接執行本地機器指令,增強了代碼的安全性,減少了APK的安裝時間。
技術領域
本發明涉及代碼處理技術領域,尤其涉及一種指令處理方法、終端及存儲介質。
背景技術
Android與IOS相比,一直被人詬病它的流暢性。谷歌為了解決Android的流暢性問題,在Android 5.0版本開始使用ART(ART是一種執行效率更高且更省電的運行機制)運行時完全替換掉Dalvik(用于Android上運行java的“java虛擬機”)運行時。
ART之所以會比Dalvik快,是因為ART執行的是本地機器指令,而Dalvik執行的是DEX字節碼,通過解釋器執行。盡管Dalvik也會對頻繁執行的代碼進行JIT(Just-In-Time,實時編譯)生成本地機器指令來執行,但畢竟在應用程序運行的過程中將DEX字節碼翻譯成本地機器機器指令也會影響到應用程序本身的執行,因此即使Dalvik使用了JIT,也在一定程度上也比不上直接就可以執行本地機器指令的運行時。ART優化了Android流暢性的性能問題,同時也產生了一個新的問題:ART執行DEX字節碼到本地機器碼的翻譯過程是在APK安裝的時候執行的,因為翻譯過程是一個非常耗時的操作,因此APK安裝時間會變長。
因此,現有技術還有待于改進和發展。
發明內容
本發明的主要目的在于提供一種指令處理方法、終端及存儲介質,旨在解決現有技術中APK安裝時間會變長的問題。
為實現上述目的,本發明提供一種指令處理方法,所述指令處理方法包括如下步驟:
在APK運行前,獲取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字節碼;
將所述DEX字節碼進行翻譯處理,得到對應的本地機器指令,在所述APK運行時直接執行所述本地機器指令。
可選地,所述的指令處理方法,其中,所述將所述DEX字節碼進行翻譯處理,得到對應的本地機器指令,具體包括:
將所述DEX字節碼拆分為基本塊,生成抽象語法樹和中間碼,通過編譯器后端解析所述中間碼以生成所述本地機器指令。
可選地,所述的指令處理方法,其中,所述通過編譯器后端解析所述中間碼以生成所述本地機器指令,之前還包括:
提示是否將所述中間碼進行混淆或者虛擬化處理,當是時,將所述中間碼進行混淆或者虛擬化處理,得到混淆或者虛擬化處理后的中間碼。
可選地,所述的指令處理方法,其中,所述通過編譯器后端解析所述中間碼以生成所述本地機器指令,之后還包括:
生成預設格式的動態鏈接庫,將包含所述本地機器指令的所述動態鏈接庫添加到所述APK中,簽名發布所述APK,在所述APK運行時通過DEX文件加載以執行所述動態鏈接庫。
可選地,所述的指令處理方法,其中,所述在所述APK運行時通過DEX文件加載以執行所述動態鏈接庫,具體包括:
預先在所述DEX文件中添加一條加載指令,在所述APK運行時,通過所述DEX文件中的所述加載指令加載并執行所述動態鏈接庫。
可選地,所述的指令處理方法,其中,所述中間碼用于被混淆工具和虛擬化保護工具識別。
可選地,所述的指令處理方法,其中,所述得到對應的本地機器指令,之后還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智游網安科技有限公司,未經北京智游網安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010776470.2/2.html,轉載請聲明來源鉆瓜專利網。





