日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 加壳 方案,android加壳思路

發(fā)布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 加壳 方案,android加壳思路 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

8種機(jī)械鍵盤軸體對比

本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?

對java及dex代碼保護(hù)的技術(shù)發(fā)展:第一代

dex文件加密,打包。在運(yùn)作時通過一個自定義的類加載器進(jìn)行解密。

第二代

類級別的dex保護(hù)。把需要保護(hù)的核心函數(shù)抽離出來生成另外一個文件。利用虛擬機(jī)類加載機(jī)制,在運(yùn)行時調(diào)用修復(fù)函數(shù)進(jìn)行修復(fù)。

第三代

將dex的核心函數(shù)抽離出來,翻譯為自定義指令,運(yùn)行時通過自寫的解釋器解釋指令。

第四代

java2c,通過將核心函數(shù)轉(zhuǎn)為c代碼,編譯為so文件。

dex文件加殼

類PE殼

dex作為android程序運(yùn)行的主要文件,加殼尤為重要。從dex文件結(jié)構(gòu)來看,它和windows的pe文件有許多相似之處,而且更為簡單,所需數(shù)據(jù)的索引很方便。

類比PE文件,將原始數(shù)據(jù)加密后存放在文件內(nèi)部,可以是尾部,也可以是頭部(header結(jié)構(gòu)之下)。

使程序能夠正常執(zhí)行,首先是用殼來解密原始數(shù)據(jù),恢復(fù)原始程序。

放于文件尾部:

加殼程序工作流程:1.加密源程序APK文件得到加密的數(shù)據(jù)

2.把解加密的數(shù)據(jù)寫在解殼程序Dex文件末尾,并在文件尾部添加解殼數(shù)據(jù)的大小。

3.修改解殼程序DEX頭中checksum.signature 和file_size頭信息。

4.修改源程序AndroidMainfest.xml文件并覆蓋解殼程序AndroidMainfest.xml文件。

解殼DEX程序工作流程:1.讀取DEX文件末尾數(shù)據(jù)獲取加密數(shù)據(jù)長度。

2.從DEX文件讀取加密數(shù)據(jù),將數(shù)據(jù)解密。以文件形式保存解密數(shù)據(jù)到a.APK文件

3.通過DexClassLoader動態(tài)加載a.apk。

放于文件頭部:

加殼程序工作流程:1.加密源程序APK文件為解殼數(shù)據(jù)

2.計算解殼數(shù)據(jù)長度,并添加該長度到解殼DEX文件頭末尾,并繼續(xù)解殼數(shù)據(jù)到文件頭末尾。(插入數(shù)據(jù)的位置為0x70處)

3.修改解殼程序DEX頭中checksumsignaturefile_sizeheader_sizestring_ids_offtype_ids_offproto_ids_offfield_ids_offmethod_ids_offclass_defs_off和data_off相關(guān)項(xiàng)。 分析map_off 數(shù)據(jù),修改相關(guān)的數(shù)據(jù)偏移量。

4.修改源程序AndroidMainfest.xml文件并覆蓋解殼程序AndroidMainfest.xml文件。

解殼DEX程序工作流程:1.從0x70處讀取解殼數(shù)據(jù)長度。

2.從DEX文件讀取解殼數(shù)據(jù),解密解殼數(shù)據(jù)。以文件形式保存解密數(shù)據(jù)到a.APK

3.通過DexClassLoader動態(tài)加載a.APK。

動態(tài)加載

主要方式:1.將核心代碼編譯成dex文件的Jar包

2.對jar包進(jìn)行加密處理

3.在程序主入口利用NDK進(jìn)行解密

4.再利用ClassLoader將jar包進(jìn)行動態(tài)加載

5.利用反射技術(shù)將ClassLoader 設(shè)置成系統(tǒng)的ClassLoader

總結(jié)

以上是生活随笔為你收集整理的android 加壳 方案,android加壳思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。