亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Dex加載器的Android應(yīng)用軟件加固保護方法與流程

文檔序號:11156078閱讀:來源:國知局

技術(shù)特征:

1.一種基于Dex加載器的Android應(yīng)用軟件加固保護方法,其特征在于,包括以下步驟:

S1:解包原應(yīng)用Apk文件,得到AndroidManifest.xml,classes.dex文件以及assets,META_INF,libs文件夾;

S2:生成隨機密鑰KEY,使用隨機密鑰KEY對Apk中的Dex文件使用128bit的AES算法加密,生成密文文件Reinforce.dex;

S3:將Reinforce.dex移動到在assets文件夾中保存,圖示刪除classes.dex明文文件;

S4:替換加密核心庫libcorn.so中Key密鑰區(qū)域,并將庫文件libcorn.so并保存在libs文件夾中;

S5:將殼源碼編譯成classes.dex文件,并將殼文件dex放在根目錄下替代原程序的classes.dex;

S6:將Manifest中程序入口修改為殼程序具體修改方法為:

a)<application>標簽下的android:name屬性值改為殼程序名稱;

b)建立標簽<meta-data>,在<meta-data>標簽下添加屬性android:name和android:value;

c)將android:name的值設(shè)置為APPLICATION_CLASS_NAME;后者的值設(shè)置為原<application>標簽下android:name屬性的值,若該原始值不存在,則取系統(tǒng)的缺省程序入口android.app.Application;若該原始值以“.”開頭,則在其前加上包名取完成路徑;

S7:刪除原apk簽名信息META-INF;

S8:用apktool打包文件夾,用自己的密鑰對新打包的apk進行簽名;

經(jīng)過以上的步驟,加固完畢,生成了一個全新的apk文件,加固后的應(yīng)用和加固前的應(yīng)用相比,asssts文件家中多了加密Dex文件,classes.dex是替換的殼文件,并且在lib庫中多了用于加載解密的核心so庫。

2.如權(quán)利要求1所述的基于Dex加載器的Android應(yīng)用軟件加固保護方法,其特征在于,還包括以下步驟:

S9:加固殼應(yīng)用啟動,殼程序中加載核心so庫文件libcorn.so;

S10:從libcorn.so的密鑰區(qū)域恢復出密鑰KEY。

S11:調(diào)用libcorn.so的解密函數(shù)解密assets文件夾中的Dex文件到內(nèi)存,得到一個字節(jié)數(shù)組byte[];

S12:使用自定義的Native層的DexClassLoader調(diào)用libdvm.so中接口Dalvik_dalvik_system_DexFile_openDexFile_bytearray()裝載上一步得到的byte數(shù)組并得到一個標記dex的cookie值;

S13:調(diào)用libdvm.so中接口

Dalvik_dalvik_system_DexFile_defineClassNative,根據(jù)上一步得到的cookie值加載原程序;

S14:將系統(tǒng)中運行的應(yīng)用信息狀態(tài)信息替換為原應(yīng)用,將程序的控制全交還給原應(yīng)用,實現(xiàn)原應(yīng)用程序的正常啟動。

當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1